| 150 GtkListBox *listbox; |
150 GtkListBox *listbox; |
| 151 UiVar *var; |
151 UiVar *var; |
| 152 CxList *rows; |
152 CxList *rows; |
| 153 ui_sourcelist_getvalue_func getvalue; |
153 ui_sourcelist_getvalue_func getvalue; |
| 154 void *getvaluedata; |
154 void *getvaluedata; |
| 155 ui_tree_getdepthfunc getdepth; |
|
| 156 void *getdepthdata; |
|
| 157 |
155 |
| 158 ui_callback onactivate; |
156 ui_callback onactivate; |
| 159 void *onactivatedata; |
157 void *onactivatedata; |
| 160 char *onactivate_action; |
158 char *onactivate_action; |
| 161 ui_callback onbuttonclick; |
159 ui_callback onbuttonclick; |
| 163 char *onbuttonclick_action; |
161 char *onbuttonclick_action; |
| 164 }; |
162 }; |
| 165 |
163 |
| 166 typedef struct UiListBox2Row { |
164 typedef struct UiListBox2Row { |
| 167 UiListBox2 *listbox; |
165 UiListBox2 *listbox; |
| 168 CxList *children; // type: int (index) |
166 GtkWidget *row; |
| |
167 GtkWidget *expander; |
| |
168 CxList *children; // type: UiListBox2Row* |
| 169 int index; |
169 int index; |
| 170 int depth; |
170 int depth; |
| 171 int expanded; |
171 UiBool expanded; |
| |
172 UiBool heading; |
| 172 } UiListBox2Row; |
173 } UiListBox2Row; |
| 173 |
174 |
| 174 void* ui_null_getvalue(UiList *list, void *elm, int row, int col, void *userdata, UiBool *freeResult); |
175 void* ui_null_getvalue(UiList *list, void *elm, int row, int col, void *userdata, UiBool *freeResult); |
| 175 |
176 |
| 176 #if GTK_CHECK_VERSION(4, 10, 0) |
177 #if GTK_CHECK_VERSION(4, 10, 0) |