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