Gtkada.Builder

Entities

Tagged Types

Access Types

Subprograms

Description

This package provides a high-level API for using Gtk.Builder and user interface files produced with the GUI builder glade-3.

Here is how to use this package:

Step 1: create a Builder and add the XML data, just as you would a
        standard Gtk.Builder:

        declare
           Builder : Gtkada_Builder;
           Error   : GError;
        begin
           Gtk_New (Builder);
           Error := Add_From_File (Builder, Default_Filename);

Step 2: add calls to "Register_Handler" to associate your handlers
        with your callbacks.

           Register_Handler
              (Builder      => Builder,
               Handler_Name => "my_handler_id",
               Handler      => My_Handler'Access);

        Where:
         - Builder is your Gtkada_Builder,
         - "my_handler_id" is the name of the handler as specified in
             Glade-3, in the "Handler" column of the "Signals" tab for
             your object,
         - Handler is your Ada subprogram.

         You will need one call to "Register_Handler" per handler
         declared in the Glade-3 interface. If there is one or more
         handler declared in Glade-3 which does not have an associated
         call to Register_Handler, an ASSERT_FAILURE will be raised by
         the Gtk main loop.

         There are multiple way to call Register_Handler, see below.

Step 3: call Do_Connect.

Step 4: when the application terminates or all Windows described through
        your builder should be closed, call Unref to free memory
        associated with the Builder.

<group>GUI Builder</group>

Builder_Handler

type Builder_Handler is access procedure
  (Builder : access Gtkada_Builder_Record'Class);
Parameters
Builder

Builder_Return_Handler

type Builder_Return_Handler is access function
  (User_Data : access Gtkada_Builder_Record'Class) return Boolean;
Parameters
User_Data
Return Value

Do_Connect

procedure Do_Connect (Builder : access Gtkada_Builder_Record'Class)

Activate in the builder callabacks that have been connected using calls to Register_Handler functions below.

Parameters
Builder

Gtk_New

procedure Gtk_New (Builder : out Gtkada_Builder)

Create a new Gtkada_Builder.

Parameters
Builder

Gtkada_Builder

type Gtkada_Builder is access all Gtkada_Builder_Record'Class;

Gtkada_Builder_Record

type Gtkada_Builder_Record is new
  Gtk.Builder.Gtk_Builder_Record with private;

Initialize

procedure Initialize (Builder : access Gtkada_Builder_Record'Class)

Create a new Gtkada_Builder.

Parameters
Builder

Object_Handler

type Object_Handler is access procedure
  (User_Data : access GObject_Record'Class);
Parameters
User_Data

Object_Return_Handler

type Object_Return_Handler is access function
  (User_Data : access GObject_Record'Class) return Boolean;
Parameters
User_Data
Return Value

Register_Handler

procedure Register_Handler
  (Builder      : access Gtkada_Builder_Record'Class;
   Handler_Name : String;
   Handler      : Builder_Handler)
Parameters
Builder
Handler_Name
Handler

Register_Handler

procedure Register_Handler
  (Builder      : access Gtkada_Builder_Record'Class;
   Handler_Name : String;
   Handler      : Builder_Return_Handler)
Parameters
Builder
Handler_Name
Handler

Register_Handler

procedure Register_Handler
  (Builder      : access Gtkada_Builder_Record'Class;
   Handler_Name : String;
   Handler      : Object_Handler)
Parameters
Builder
Handler_Name
Handler

Register_Handler

procedure Register_Handler
  (Builder      : access Gtkada_Builder_Record'Class;
   Handler_Name : String;
   Handler      : Object_Return_Handler)
Parameters
Builder
Handler_Name
Handler