1// included by gtk2.pas
2
3{$IFDEF read_forward_definitions}
4{$ENDIF read_forward_definitions}
5
6//------------------------------------------------------------------------------
7
8{$IFDEF read_interface_types}
9   PGtkBindingEntry = ^TGtkBindingEntry;
10   PGtkBindingSignal = ^TGtkBindingSignal;
11   PGtkBindingArg = ^TGtkBindingArg;
12
13{ Binding sets }
14{ From RC content  }
15   PGtkBindingSet = ^TGtkBindingSet;
16   TGtkBindingSet = record
17        set_name : Pgchar;
18        priority : gint;
19        widget_path_pspecs : PGSList;
20        widget_class_pspecs : PGSList;
21        class_branch_pspecs : PGSList;
22        entries : PGtkBindingEntry;
23        current : PGtkBindingEntry;
24        flag0 : word;
25     end;
26
27{ key portion }
28   TGtkBindingEntry = record
29        keyval : guint;
30        modifiers : TGdkModifierType;
31        binding_set : PGtkBindingSet;
32        flag0 : word;
33        set_next : PGtkBindingEntry;
34        hash_next : PGtkBindingEntry;
35        signals : PGtkBindingSignal;
36     end;
37
38   TGtkBindingSignal = record
39        next : PGtkBindingSignal;
40        signal_name : Pgchar;
41        n_args : guint;
42        args : PGtkBindingArg;
43     end;
44
45   TGtkBindingArg = record
46        arg_type : TGtkType;
47        d : record
48            case longint of
49               0 : ( long_data : glong );
50               1 : ( double_data : gdouble );
51               2 : ( string_data : Pgchar );
52            end;
53     end;
54
55{$ENDIF read_interface_types}
56
57//------------------------------------------------------------------------------
58
59{$IFDEF read_interface_rest}
60
61const
62   bm_TGtkBindingSet_parsed = $1;
63   bp_TGtkBindingSet_parsed = 0;
64
65   bm_TGtkBindingEntry_destroyed = $1;
66   bp_TGtkBindingEntry_destroyed = 0;
67   bm_TGtkBindingEntry_in_emission = $2;
68   bp_TGtkBindingEntry_in_emission = 1;
69
70procedure gtk_binding_entry_add(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType);
71
72function parsed(var a : TGtkBindingSet) : guint;
73procedure set_parsed(var a : TGtkBindingSet; __parsed : guint);
74
75function destroyed(var a : TGtkBindingEntry) : guint;
76procedure set_destroyed(var a : TGtkBindingEntry; __destroyed : guint);
77function in_emission(var a : TGtkBindingEntry) : guint;
78procedure set_in_emission(var a : TGtkBindingEntry; __in_emission : guint);
79
80{ Application-level methods  }
81function gtk_binding_set_new(set_name:Pgchar):PGtkBindingSet; cdecl; external gtklib;
82function gtk_binding_set_by_class(object_class:gpointer):PGtkBindingSet; cdecl; external gtklib;
83function gtk_binding_set_find(set_name:Pgchar):PGtkBindingSet; cdecl; external gtklib;
84function gtk_bindings_activate(anObject:PGtkObject; keyval:guint; modifiers:TGdkModifierType):gboolean; cdecl; external gtklib;
85function gtk_binding_set_activate(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; anObject:PGtkObject):gboolean; cdecl; external gtklib;
86
87procedure gtk_binding_entry_clear(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType); cdecl; external gtklib;
88{$IFNDEF KYLIX}
89procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; n_args:guint;
90            args:array of const); cdecl; overload; external gtklib;
91procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; n_args:guint); cdecl; overload; varargs; external gtklib;
92{$ELSE}
93procedure gtk_binding_entry_add_signal(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; n_args:guint); varargs; cdecl; external gtklib;
94{$ENDIF}
95procedure gtk_binding_set_add_path(binding_set:PGtkBindingSet; path_type:TGtkPathType; path_pattern:Pgchar; priority:TGtkPathPriorityType); cdecl; external gtklib;
96{ Non-public methods  }
97procedure gtk_binding_entry_remove(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType); cdecl; external gtklib;
98procedure gtk_binding_entry_add_signall(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType; signal_name:Pgchar; binding_args:PGSList); cdecl; external gtklib;
99function gtk_binding_parse_binding(scanner:PGScanner):guint; cdecl; external gtklib;
100function _gtk_bindings_activate_event(anObject:PGtkObject; event:PGdkEventKey):gboolean; cdecl; external gtklib;
101procedure _gtk_binding_reset_parsed; cdecl; external gtklib;
102{$ENDIF read_interface_rest}
103
104//------------------------------------------------------------------------------
105
106{$IFDEF read_implementation}
107function parsed(var a : TGtkBindingSet) : guint;
108begin
109   parsed:=(a.flag0 and bm_TGtkBindingSet_parsed) shr bp_TGtkBindingSet_parsed;
110end;
111
112procedure set_parsed(var a : TGtkBindingSet; __parsed : guint);
113begin
114   a.flag0:=a.flag0 or ((__parsed shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed);
115end;
116
117function destroyed(var a : TGtkBindingEntry) : guint;
118begin
119   destroyed:=(a.flag0 and bm_TGtkBindingEntry_destroyed) shr bp_TGtkBindingEntry_destroyed;
120end;
121
122procedure set_destroyed(var a : TGtkBindingEntry; __destroyed : guint);
123begin
124   a.flag0:=a.flag0 or ((__destroyed shl bp_TGtkBindingEntry_destroyed) and bm_TGtkBindingEntry_destroyed);
125end;
126
127function in_emission(var a : TGtkBindingEntry) : guint;
128begin
129   in_emission:=(a.flag0 and bm_TGtkBindingEntry_in_emission) shr bp_TGtkBindingEntry_in_emission;
130end;
131
132procedure set_in_emission(var a : TGtkBindingEntry; __in_emission : guint);
133begin
134   a.flag0:=a.flag0 or ((__in_emission shl bp_TGtkBindingEntry_in_emission) and bm_TGtkBindingEntry_in_emission);
135end;
136
137procedure gtk_binding_entry_add(binding_set:PGtkBindingSet; keyval:guint; modifiers:TGdkModifierType);
138begin
139   gtk_binding_entry_clear(binding_set,keyval,modifiers);
140end;
141{$ENDIF read_implementation}
142// included by gtk2.pas
143
144