Gtk.Handlers.Return_Callback

Entities

Generic formal parameters

Access Types

Subprograms

Generic Instantiations

Description

------------------------------------------------------- These handlers should return a value They do not have a User_Data -------------------------------------------------------

Connect

function Connect
  (Widget : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Cb     : Handler;
   After  : Boolean := False) return Handler_Id

Connects a Handler. Returns the Handler_Id.

Parameters
Widget
Name
Cb
After
Return Value

Connect

function Connect
  (Widget : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Marsh  : Marshallers.Marshaller;
   After  : Boolean := False) return Handler_Id

Connects a Marshaller. Returns the Handler_Id.

Parameters
Widget
Name
Marsh
After
Return Value

Connect

procedure Connect
  (Widget : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Cb     : Handler;
   After  : Boolean := False)

Connect a Handler. The Handler_Id is dropped. This is automatically disconnected as soon as either Widget or Slot_Object is destroyed. Slot_Object must be of type Gtk_Object or one of its children.

Parameters
Widget
Name
Cb
After

Connect

procedure Connect
  (Widget : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Marsh  : Marshallers.Marshaller;
   After  : Boolean := False)

Connects a Marshaller. The Handler_Id is dropped.

Parameters
Widget
Name
Marsh
After

Connect

procedure Connect
  (Widget : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Cb     : Simple_Handler;
   After  : Boolean := False)

Same as above, except with a simple handle with no parameter. This is the same as using a To_Marshaller call to the above two procedures, except it is shorter to write.

Parameters
Widget
Name
Cb
After

Context_Marshaller

package Context_Marshaller is new Marshallers.Generic_Marshaller
  (Cairo.Cairo_Context, Cairo.Get_Context);

Emit_By_Name

function Emit_By_Name
  (Object : access Widget_Type'Class;
   Name   : Glib.Signal_Name)
   return Return_Type
Parameters
Object
Name
Return Value

Emit_By_Name

function Emit_By_Name
  (Object : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Param  : access Gtk.Widget.Gtk_Widget_Record'Class)
   return Return_Type
Parameters
Object
Name
Param
Return Value

Emit_By_Name

function Emit_By_Name
  (Object : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Param  : Gdk.Event.Gdk_Event) return Return_Type
Parameters
Object
Name
Param
Return Value

Emit_By_Name

function Emit_By_Name
  (Object : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Param  : Gint)
   return Return_Type
Parameters
Object
Name
Param
Return Value

Emit_By_Name

function Emit_By_Name
  (Object : access Widget_Type'Class;
   Name   : Glib.Signal_Name;
   Param  : Guint)
   return Return_Type
Parameters
Object
Name
Param
Return Value

Event_Marshaller

package Event_Marshaller is new Marshallers.Generic_Marshaller
  (Gdk.Event.Gdk_Event, Gdk.Event.Get_Event);

First_Marshaller

procedure First_Marshaller
  (Closure         : GClosure;
   Return_Value    : Glib.Values.GValue;
   N_Params        : Guint;
   Params          : Glib.Values.C_GValues;
   Invocation_Hint : System.Address;
   User_Data       : System.Address)

First level marshaller. This is the function that is actually called by gtk+. It then calls the Ada functions as required.

If you get an error here while compiling, this is because you are not instantiating this package at library-level.

</doc_ignore>

Parameters
Closure
Return_Value
N_Params
Params
Invocation_Hint
User_Data

Free_Data

procedure Free_Data (Data : Data_Type_Access)

Free the memory associated with the callback's data

Parameters
Data

Gint_Marshaller

package Gint_Marshaller is new Marshallers.Generic_Marshaller
  (Gint, Glib.Values.Get_Int);

Guint_Marshaller

package Guint_Marshaller is new Marshallers.Generic_Marshaller
  (Guint, Glib.Values.Get_Uint);

Handler

type Handler is access function
  (Widget : access Widget_Type'Class;
   Params : Glib.Values.GValues) return Return_Type;
Parameters
Widget
Params
Return Value

Marshallers

package Marshallers is new Gtk.Marshallers.Return_Marshallers
  (Widget_Type, Return_Type);

Object_Connect

function Object_Connect
  (Widget      : access Glib.Object.GObject_Record'Class;
   Name        : Glib.Signal_Name;
   Cb          : Handler;
   Slot_Object : access Widget_Type'Class;
   After       : Boolean := False) return Handler_Id

Connect a Handler. Returns the Handler_Id. This is automatically disconnected as soon as either Widget or Slot_Object is destroyed. Slot_Object must be of type Gtk_Object or one of its children.

Parameters
Widget
Name
Cb
Slot_Object
After
Return Value

Object_Connect

function Object_Connect
  (Widget      : access Glib.Object.GObject_Record'Class;
   Name        : Glib.Signal_Name;
   Marsh       : Marshallers.Marshaller;
   Slot_Object : access Widget_Type'Class;
   After       : Boolean := False) return Handler_Id

Connect a Marshaller. Return the Handler_Id. This is automatically disconnected as soon as either Widget or Slot_Object is destroyed. Slot_Object must be of type Gtk_Object or one of its children.

Parameters
Widget
Name
Marsh
Slot_Object
After
Return Value

Object_Connect

procedure Object_Connect
  (Widget      : access Glib.Object.GObject_Record'Class;
   Name        : Glib.Signal_Name;
   Cb          : Handler;
   Slot_Object : access Widget_Type'Class;
   After       : Boolean := False)

Connect a Handler. The Handler_Id is dropped. This is automatically disconnected as soon as either Widget or Slot_Object is destroyed. Slot_Object must be of type Gtk_Object or one of its children.

Parameters
Widget
Name
Cb
Slot_Object
After

Object_Connect

procedure Object_Connect
  (Widget      : access Glib.Object.GObject_Record'Class;
   Name        : Glib.Signal_Name;
   Marsh       : Marshallers.Marshaller;
   Slot_Object : access Widget_Type'Class;
   After       : Boolean := False)

Connect a Marshaller. The Handler_Id is dropped. This is automatically disconnected as soon as either Widget or Slot_Object is destroyed. Slot_Object must be of type Gtk_Object or one of its children.

Parameters
Widget
Name
Marsh
Slot_Object
After

Object_Connect

procedure Object_Connect
  (Widget      : access Glib.Object.GObject_Record'Class;
   Name        : Glib.Signal_Name;
   Cb          : Simple_Handler;
   Slot_Object : access Widget_Type'Class;
   After       : Boolean := False)

Same as above, except with a simple handle with no parameter. This is the same as using a To_Marshaller call to the above two procedures, except it is shorter to write.

Parameters
Widget
Name
Cb
Slot_Object
After

Return_Type

type Return_Type is (<>);

Simple_Handler

type Simple_Handler is access function
  (Widget : access Widget_Type'Class) return Return_Type;
Parameters
Widget
Return Value

To_Marshaller

function To_Marshaller
  (Cb : Context_Marshaller.Handler)
   return Marshallers.Marshaller
Parameters
Cb
Return Value

To_Marshaller

function To_Marshaller
  (Cb : Event_Marshaller.Handler)
   return Marshallers.Marshaller
Parameters
Cb
Return Value

To_Marshaller

function To_Marshaller
  (Cb : Gint_Marshaller.Handler)
   return Marshallers.Marshaller
Parameters
Cb
Return Value

To_Marshaller

function To_Marshaller
  (Cb : Guint_Marshaller.Handler)
   return Marshallers.Marshaller
Parameters
Cb
Return Value

To_Marshaller

function To_Marshaller
  (Cb : Marshallers.Void_Marshaller.Handler)
   return Marshallers.Marshaller
Parameters
Cb
Return Value

To_Marshaller

function To_Marshaller
  (Cb : Widget_Marshaller.Handler)
   return Marshallers.Marshaller
Parameters
Cb
Return Value

Widget_Marshaller

package Widget_Marshaller is new Marshallers.Generic_Widget_Marshaller
  (Gtk.Widget.Gtk_Widget_Record, Gtk.Widget.Gtk_Widget);

Widget_Type

type Widget_Type is new Glib.Object.GObject_Record with private;