45 #include <vdk/vdkobj.h>
46 #include <vdk/value_sem_list.h>
67 static int FocusOutEvent(GtkWidget *w,
70 static int FocusInEvent(GtkWidget *w,
85 VDKReadWriteValueProp<VDKCombo,char*>
Text;
97 VDKReadWriteValueProp<VDKCombo,bool>
Sorted;
101 VDKReadWriteValueProp<VDKCombo,bool>
Hidden;
150 GtkWidget* combo = NULL);
155 void SetText(
char* text);
157 void SetEditable(
bool flag)
158 { gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(
widget)->entry),flag); }
161 void SetSorted(
bool flag)
162 {
if(flag && !
Sorted) SortList(); }
167 void SetHidden(
bool flag)
168 { gtk_entry_set_visibility(GTK_ENTRY(GTK_COMBO(
widget)->entry), ! flag) ; }
173 void SetCaseSensitive(
bool flag)
174 { gtk_combo_set_case_sensitive(GTK_COMBO(
widget),flag); }
175 bool GetCaseSensitive()
176 {
return (
bool)(GTK_COMBO(
widget)->case_sensitive); }
177 void UseArrows(
bool flag)
178 { gtk_combo_set_use_arrows(GTK_COMBO(
widget),flag); }
179 void UseArrowsAlways(
bool flag)
180 { gtk_combo_set_use_arrows_always(GTK_COMBO(
widget),flag); }
181 void SetValueInList(
int val,
bool ok_if_empty)
182 { gtk_combo_set_value_in_list(GTK_COMBO(
widget),val,ok_if_empty); }
184 void SelectItem(
int item)
185 { gtk_list_select_item(GTK_LIST(GTK_COMBO(
widget)->list), item); }
186 void UnselectItem(
int item)
187 { gtk_list_unselect_item(GTK_LIST(GTK_COMBO(
widget)->list), item); }
189 #ifdef USE_SIGCPLUSPLUS
196 VDKSignal1<void,int> OnItemSelect;
202 VDKSignal1<void,int> OnItemUnselect;
209 VDKSignal2<void,int, const char*> OnItemTextChanged;
215 VDKSignal1<void, int> OnItemActivate;
218 static void make_gtksigc_connection(
VDKCombo*);
221 static void _handle_item_select(GtkWidget* list,
224 static void _handle_item_unselect(GtkWidget* list,
227 static void _handle_item_text_changed(GtkWidget*, gpointer obj);
228 static void _handle_item_activate(GtkWidget*, gpointer obj);