ui/gtk/list.h

changeset 100
d2bd73d28ff1
parent 90
f501f0efc9a8
equal deleted inserted replaced
99:b9767cb5b06b 100:d2bd73d28ff1
30 #define TREE_H 30 #define TREE_H
31 31
32 #include "../ui/tree.h" 32 #include "../ui/tree.h"
33 #include "toolkit.h" 33 #include "toolkit.h"
34 34
35 #include <cx/array_list.h>
36
35 #ifdef __cplusplus 37 #ifdef __cplusplus
36 extern "C" { 38 extern "C" {
37 #endif 39 #endif
38 40
39 typedef struct UiListView { 41 typedef struct UiListView {
55 ui_callback activate; 57 ui_callback activate;
56 ui_callback selection; 58 ui_callback selection;
57 void *activatedata; 59 void *activatedata;
58 void *selectiondata; 60 void *selectiondata;
59 } UiTreeEventData; 61 } UiTreeEventData;
62
63 typedef struct UiListBox UiListBox;
64
65 typedef struct UiListBoxSubList {
66 UiVar *var;
67 size_t numitems;
68 char *header;
69 UiBool separator;
70 CxList *widgets;
71 UiListBox *listbox;
72 void *userdata;
73 size_t index;
74 } UiListBoxSubList;
75
76 struct UiListBox {
77 UiObject *obj;
78 GtkListBox *listbox;
79 CxList *sublists; // contains UiListBoxSubList elements
80 ui_sublist_getvalue_func getvalue;
81 ui_callback onactivate;
82 void *onactivatedata;
83 ui_callback onbuttonclick;
84 void *onbuttonclickdata;
60 85
86 GtkListBoxRow *first_row;
87 };
88
61 void* ui_strmodel_getvalue(void *elm, int column); 89 void* ui_strmodel_getvalue(void *elm, int column);
62 90
63 UIWIDGET ui_listview_var(UiObject *obj, UiVar *var, ui_getvaluefunc getvalue, ui_callback f, void *udata); 91 UIWIDGET ui_listview_var(UiObject *obj, UiVar *var, ui_getvaluefunc getvalue, ui_callback f, void *udata);
64 UIWIDGET ui_table_var(UiObject *obj, UiVar *var, UiModel *model, UiListCallbacks cb); 92 UIWIDGET ui_table_var(UiObject *obj, UiVar *var, UiModel *model, UiListCallbacks cb);
65 93
92 GtkWidget* ui_create_combobox(UiObject *obj, UiModel *model, UiVar *var, ui_callback f, void *udata); 120 GtkWidget* ui_create_combobox(UiObject *obj, UiModel *model, UiVar *var, ui_callback f, void *udata);
93 void ui_combobox_change_event(GtkComboBox *widget, UiEventData *e); 121 void ui_combobox_change_event(GtkComboBox *widget, UiEventData *e);
94 void ui_combobox_modelupdate(UiList *list, int i); 122 void ui_combobox_modelupdate(UiList *list, int i);
95 UiListSelection ui_combobox_getselection(UiList *list); 123 UiListSelection ui_combobox_getselection(UiList *list);
96 void ui_combobox_setselection(UiList *list, UiListSelection selection); 124 void ui_combobox_setselection(UiList *list, UiListSelection selection);
125
126 void ui_listbox_update(UiListBox *listbox, int from, int to);
127 void ui_listbox_update_sublist(UiListBox *listbox, UiListBoxSubList *sublist, size_t listbox_insert_index);
128 void ui_listbox_list_update(UiList *list, int i);
129
130 void ui_listbox_row_activate(GtkListBox *self, GtkListBoxRow *row, gpointer user_data);
97 131
98 #ifdef __cplusplus 132 #ifdef __cplusplus
99 } 133 }
100 #endif 134 #endif
101 135

mercurial