GtkAda Reference Manual - Package Glib.Type_Conversion_Hooks

[Contents] [Back] [Prev] [Up] [Next] [Forward]

# Package Glib.Type`_`Conversion`_`Hooks

This package provides an implementation for hooks used in Gtk.Type_Conversion. These hooks should be used when you import a new C GObject, so that GtkAda can recreate the Ada structure from the underlying C structure. Note that when you create a GObject directly in Ada, you do not need to provide any hook.

Implementation note: This is a separate package from Gtk.Type_Conversion so that adding a hook does not necessarily mean the user has to 'with' Gtk.Type_Conversion, and thus all the packages from GtkAda.

Note that this package is not thread safe. You should call the function Add_Hook from the elaboration part of your packages.

- Glib.Type_Conversion_Hooks Types
- Glib.Type_Conversion_Hooks Subprograms

## Types

    type File_Conversion_Hook_Type is access function
        (Type_Name : String) return Glib.Object.GObject;
| This variable can be point to one of your functions. It gets the name of a C widget (ex/ "GtkButton") and should return a newly allocated Ada widget.
    type Hook_List is record
        Func : File_Conversion_Hook_Type;
        Next : Hook_List_Access := null;
        end record;
| Internal structure used for the list.
    type Hook_List_Access is access Hook_List;

## Subprograms

    procedure Add_Hook
      (Func               :        File_Conversion_Hook_Type);
| Add a new function to the list of hooks for file conversions. All the hooks are called when GtkAda finds a type which is not one of the standard types.
    function Conversion_Hooks      return Hook_List_Access;
| Return the head of the hook list.

[Contents] [Back] [Prev] [Up] [Next] [Forward]