--- a/ui/gtk/toolbar.h Sun Feb 01 12:37:31 2015 +0100 +++ b/ui/gtk/toolbar.h Wed Feb 11 11:34:55 2015 +0100 @@ -33,6 +33,9 @@ #include "../../ucx/map.h" #include "../../ucx/list.h" +#include "model.h" +#include "tree.h" + #ifdef __cplusplus extern "C" { #endif @@ -41,6 +44,9 @@ typedef struct UiToolItem UiToolItem; typedef struct UiStToolItem UiStToolItem; +typedef struct UiToolbarComboBox UiToolbarComboBox; +typedef struct UiToolbarComboBoxNV UiToolbarComboBoxNV; + typedef void(*ui_toolbar_add_f)(GtkToolbar*, UiToolItemI*, UiObject*); struct UiToolItemI { @@ -66,6 +72,22 @@ int isimportant; }; +struct UiToolbarComboBox { + UiToolItemI item; + UiList *list; + ui_model_getvalue_f getvalue; + ui_callback callback; + void *userdata; +}; + +struct UiToolbarComboBoxNV { + UiToolItemI item; + char *listname; + ui_model_getvalue_f getvalue; + ui_callback callback; + void *userdata; +}; + void ui_toolbar_init(); void ui_toolitem_vstgr( @@ -83,6 +105,10 @@ void add_toolitem_toggle_widget(GtkToolbar *tb, UiToolItem *item, UiObject *obj); void add_toolitem_toggle_st_widget(GtkToolbar *tb, UiStToolItem *item, UiObject *obj); +void add_toolbar_combobox(GtkToolbar *tb, UiToolbarComboBox *cb, UiObject *obj); +void add_toolbara_combobox_nv(GtkToolbar *tb, UiToolbarComboBoxNV *cb, UiObject *obj); +void ui_combobox_change_event(GtkComboBox *widget, UiEventData *e); +void ui_combobox_update(UiEvent *event, void *combobox); #ifdef __cplusplus }