blob: 5a4f419574e14bc427cbe995b303ef1b3e937328 (
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
// included by gtk2.pas
{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}
//------------------------------------------------------------------------------
{$IFDEF read_interface_types}
{ you should access only the entry and list fields directly }
PGtkCombo = ^TGtkCombo;
TGtkCombo = record
hbox : TGtkHBox;
entry : PGtkWidget;
button : PGtkWidget;
popup : PGtkWidget;
popwin : PGtkWidget;
list : PGtkWidget;
entry_change_id : guint;
list_change_id : guint;
flag0 : word;
current_button : guint16;
activate_id : guint;
end;
{ Padding for future expansion }
PGtkComboClass = ^TGtkComboClass;
TGtkComboClass = record
parent_class : TGtkHBoxClass;
_gtk_reserved1 : procedure ; cdecl;
_gtk_reserved2 : procedure ; cdecl;
_gtk_reserved3 : procedure ; cdecl;
_gtk_reserved4 : procedure ; cdecl;
end;
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------
{$IFDEF read_interface_rest}
const
bm_TGtkCombo_value_in_list = $1;
bp_TGtkCombo_value_in_list = 0;
bm_TGtkCombo_ok_if_empty = $2;
bp_TGtkCombo_ok_if_empty = 1;
bm_TGtkCombo_case_sensitive = $4;
bp_TGtkCombo_case_sensitive = 2;
bm_TGtkCombo_use_arrows = $8;
bp_TGtkCombo_use_arrows = 3;
bm_TGtkCombo_use_arrows_always = $10;
bp_TGtkCombo_use_arrows_always = 4;
function GTK_TYPE_COMBO : GType;
function GTK_COMBO(obj: pointer) : PGtkCombo;
function GTK_COMBO_CLASS(klass: pointer) : PGtkComboClass;
function GTK_IS_COMBO(obj: pointer) : boolean;
function GTK_IS_COMBO_CLASS(klass: pointer) : boolean;
function GTK_COMBO_GET_CLASS(obj: pointer) : PGtkComboClass;
function value_in_list(var a : TGtkCombo) : guint;
procedure set_value_in_list(var a : TGtkCombo; __value_in_list : guint);
function ok_if_empty(var a : TGtkCombo) : guint;
procedure set_ok_if_empty(var a : TGtkCombo; __ok_if_empty : guint);
function case_sensitive(var a : TGtkCombo) : guint;
procedure set_case_sensitive(var a : TGtkCombo; __case_sensitive : guint);
function use_arrows(var a : TGtkCombo) : guint;
procedure set_use_arrows(var a : TGtkCombo; __use_arrows : guint);
function use_arrows_always(var a : TGtkCombo) : guint;
procedure set_use_arrows_always(var a : TGtkCombo; __use_arrows_always : guint);
function gtk_combo_get_type:TGtkType; cdecl; external gtklib;
function gtk_combo_new:PGtkWidget; cdecl; external gtklib;
{ the text in the entry must be or not be in the list }
procedure gtk_combo_set_value_in_list(combo:PGtkCombo; val:gboolean; ok_if_empty:gboolean); cdecl; external gtklib;
{ set/unset arrows working for changing the value (can be annoying) }
procedure gtk_combo_set_use_arrows(combo:PGtkCombo; val:gboolean); cdecl; external gtklib;
{ up/down arrows change value if current value not in list }
procedure gtk_combo_set_use_arrows_always(combo:PGtkCombo; val:gboolean); cdecl; external gtklib;
{ perform case-sensitive compares }
procedure gtk_combo_set_case_sensitive(combo:PGtkCombo; val:gboolean); cdecl; external gtklib;
{ call this function on an item if it isn't a label or you
want it to have a different value to be displayed in the entry }
procedure gtk_combo_set_item_string(combo:PGtkCombo; item:PGtkItem; item_value:Pgchar); cdecl; external gtklib;
{ simple interface }
procedure gtk_combo_set_popdown_strings(combo:PGtkCombo; strings:PGList); cdecl; external gtklib;
procedure gtk_combo_disable_activate(combo:PGtkCombo); cdecl; external gtklib;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function GTK_TYPE_COMBO : GType;
begin
GTK_TYPE_COMBO:=gtk_combo_get_type;
end;
function GTK_COMBO(obj: pointer) : PGtkCombo;
begin
GTK_COMBO:=PGtkCombo(GTK_CHECK_CAST(obj,GTK_TYPE_COMBO));
end;
function GTK_COMBO_CLASS(klass: pointer) : PGtkComboClass;
begin
GTK_COMBO_CLASS:=PGtkComboClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_COMBO));
end;
function GTK_IS_COMBO(obj: pointer) : boolean;
begin
GTK_IS_COMBO:=GTK_CHECK_TYPE(obj,GTK_TYPE_COMBO);
end;
function GTK_IS_COMBO_CLASS(klass: pointer) : boolean;
begin
GTK_IS_COMBO_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_COMBO);
end;
function GTK_COMBO_GET_CLASS(obj: pointer) : PGtkComboClass;
begin
GTK_COMBO_GET_CLASS:=PGtkComboClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_COMBO));
end;
function value_in_list(var a : TGtkCombo) : guint;
begin
value_in_list:=(a.flag0 and bm_TGtkCombo_value_in_list) shr bp_TGtkCombo_value_in_list;
end;
procedure set_value_in_list(var a : TGtkCombo; __value_in_list : guint);
begin
a.flag0:=a.flag0 or ((__value_in_list shl bp_TGtkCombo_value_in_list) and bm_TGtkCombo_value_in_list);
end;
function ok_if_empty(var a : TGtkCombo) : guint;
begin
ok_if_empty:=(a.flag0 and bm_TGtkCombo_ok_if_empty) shr bp_TGtkCombo_ok_if_empty;
end;
procedure set_ok_if_empty(var a : TGtkCombo; __ok_if_empty : guint);
begin
a.flag0:=a.flag0 or ((__ok_if_empty shl bp_TGtkCombo_ok_if_empty) and bm_TGtkCombo_ok_if_empty);
end;
function case_sensitive(var a : TGtkCombo) : guint;
begin
case_sensitive:=(a.flag0 and bm_TGtkCombo_case_sensitive) shr bp_TGtkCombo_case_sensitive;
end;
procedure set_case_sensitive(var a : TGtkCombo; __case_sensitive : guint);
begin
a.flag0:=a.flag0 or ((__case_sensitive shl bp_TGtkCombo_case_sensitive) and bm_TGtkCombo_case_sensitive);
end;
function use_arrows(var a : TGtkCombo) : guint;
begin
use_arrows:=(a.flag0 and bm_TGtkCombo_use_arrows) shr bp_TGtkCombo_use_arrows;
end;
procedure set_use_arrows(var a : TGtkCombo; __use_arrows : guint);
begin
a.flag0:=a.flag0 or ((__use_arrows shl bp_TGtkCombo_use_arrows) and bm_TGtkCombo_use_arrows);
end;
function use_arrows_always(var a : TGtkCombo) : guint;
begin
use_arrows_always:=(a.flag0 and bm_TGtkCombo_use_arrows_always) shr bp_TGtkCombo_use_arrows_always;
end;
procedure set_use_arrows_always(var a : TGtkCombo; __use_arrows_always : guint);
begin
a.flag0:=a.flag0 or ((__use_arrows_always shl bp_TGtkCombo_use_arrows_always) and bm_TGtkCombo_use_arrows_always);
end;
{$ENDIF read_implementation}
// included by gtk2.pas
|