summaryrefslogtreecommitdiff
path: root/packages/gtk2/src/libglade/glade-xml.inc
blob: eb5963e397d710f89fdf1dda4fd67eddd1830ce4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// included by libglade.pas

type
   PGladeXMLPrivate = pointer;

   PGladeXML = ^TGladeXML;
   TGladeXML = record
        parent : TGObject;
        filename : Pchar;
        priv : PGladeXMLPrivate;
     end;

   PGladeXMLClass = ^TGladeXMLClass;
   TGladeXMLClass = record
        parent_class : TGObjectClass;
     end;

{ if the gtk_signal_connect_object behaviour is required, connect_object
   will point to the anObject, otherwise it will be NULL.
  }
   TGladeXMLConnectFunc = procedure (handler_name:Pgchar; anObject:PGObject;
                signal_name:Pgchar; signal_data:Pgchar; connect_object:PGObject;
                after:gboolean; user_data:gpointer); cdecl;

function GLADE_TYPE_XML : GType;
function GLADE_XML(obj: pointer) : PGladeXML;
function GLADE_XML_CLASS(klass: pointer) : PGladeXMLClass;
function GLADE_IS_XML(obj: pointer) : gboolean;
function GLADE_IS_XML_CLASS(klass: pointer) : gboolean;
function GLADE_XML_GET_CLASS(obj: pointer) : PGladeXMLClass;

function glade_xml_get_type:GType; cdecl; external LibGladeLib;
function glade_xml_new(fname:Pchar; root:Pchar; domain:Pchar):PGladeXML; cdecl; external LibGladeLib;
function glade_xml_new_from_buffer(buffer:Pchar; size:longint; root:Pchar; domain:Pchar):PGladeXML; cdecl; external LibGladeLib;
function glade_xml_construct(self:PGladeXML; fname:Pchar; root:Pchar; domain:Pchar):gboolean; cdecl; external LibGladeLib;
procedure glade_xml_signal_connect(self:PGladeXML; handlername:Pchar; func:TGCallback); cdecl; external LibGladeLib;
procedure glade_xml_signal_connect_data(self:PGladeXML; handlername:Pchar; func:TGCallback; user_data:gpointer); cdecl; external LibGladeLib;

{
   use gmodule to connect signals automatically.  Basically a symbol with
   the name of the signal handler is searched for, and that is connected to
   the associated symbols.  So setting gtk_main_quit as a signal handler
   for the destroy signal of a window will do what you expect.
  }
procedure glade_xml_signal_autoconnect(self:PGladeXML); cdecl; external LibGladeLib;

{
   These two are to make it easier to use libglade with an interpreted
   language binding.
  }
procedure glade_xml_signal_connect_full(self:PGladeXML; handler_name:Pgchar; func:TGladeXMLConnectFunc; user_data:gpointer); cdecl; external LibGladeLib;
procedure glade_xml_signal_autoconnect_full(self:PGladeXML; func:TGladeXMLConnectFunc; user_data:gpointer); cdecl; external LibGladeLib;
function glade_xml_get_widget(self:PGladeXML; name:Pchar):PGtkWidget; cdecl; external LibGladeLib;
function glade_xml_get_widget_prefix(self:PGladeXML; name:Pchar):PGList; cdecl; external LibGladeLib;
function glade_xml_relative_file(self:PGladeXML; filename:Pgchar):Pgchar; cdecl; external LibGladeLib;
{ don't free the results of these two ...  }
function glade_get_widget_name(widget:PGtkWidget):Pchar; cdecl; external LibGladeLib;
function glade_get_widget_tree(widget:PGtkWidget):PGladeXML; cdecl; external LibGladeLib;

{ interface for changing the custom widget handling  }
type
   PGladeXMLCustomWidgetHandler = ^TGladeXMLCustomWidgetHandler;
   TGladeXMLCustomWidgetHandler = TGtkWidget;

procedure glade_set_custom_handler(handler:TGladeXMLCustomWidgetHandler; user_data:gpointer); cdecl; external LibGladeLib;

{$ifndef LIBGLADE_DISABLE_DEPRECATED}
function glade_xml_new_with_domain(fname:Pchar; root:Pchar; domain:Pchar):PGladeXML;
function glade_xml_new_from_memory(buffer:Pchar; size:longint; root:Pchar; domain:Pchar):PGladeXML;
{$endif}

// included by libglade.pas