ui/ui/tree.h

changeset 142
46448d38885c
parent 140
c03c338a7dcf
child 146
dd0ae1c62a72
equal deleted inserted replaced
141:cc2170ea05ad 142:46448d38885c
33 33
34 #ifdef __cplusplus 34 #ifdef __cplusplus
35 extern "C" { 35 extern "C" {
36 #endif 36 #endif
37 37
38 typedef struct UiModelInfo UiModelInfo; 38 typedef struct UiModel UiModel;
39 typedef struct UiListCallbacks UiListCallbacks;
39 typedef struct UiListSelection UiListSelection; 40 typedef struct UiListSelection UiListSelection;
40 41
41 42
42 typedef enum UiModelType { 43 typedef enum UiModelType {
43 UI_STRING = 0, 44 UI_STRING = 0,
44 UI_INTEGER, 45 UI_INTEGER,
45 UI_ICON, 46 UI_ICON,
46 UI_ICON_TEXT, 47 UI_ICON_TEXT,
47 } UiModelType; 48 } UiModelType;
48 49
49 struct UiModelInfo { 50 struct UiModel {
50 /* 51 /*
51 * number of columns 52 * number of columns
52 */ 53 */
53 int columns; 54 int columns;
54 55
69 * first argument is the pointer returned by UiList->get or UiTree->get 70 * first argument is the pointer returned by UiList->get or UiTree->get
70 * second argument is the column index 71 * second argument is the column index
71 * TODO: return 72 * TODO: return
72 */ 73 */
73 void*(*getvalue)(void*, int); 74 void*(*getvalue)(void*, int);
74 75 };
76
77 struct UiListCallbacks {
75 /* 78 /*
76 * selection callback 79 * selection callback
77 */ 80 */
78 ui_callback activate; 81 ui_callback activate;
79 82
98 * indices of selected rows 101 * indices of selected rows
99 */ 102 */
100 int *rows; 103 int *rows;
101 }; 104 };
102 105
103 UiModelInfo* ui_model_info(UiContext *ctx, ...); 106 UiModel* ui_model_info(UiContext *ctx, ...);
104 void ui_model_info_free(UiContext *ctx, UiModelInfo *mi); 107 void ui_model_info_free(UiContext *ctx, UiModel *mi);
105 108
106 UIWIDGET ui_listview(UiObject *obj, UiList *list, ui_model_getvalue_f getvalue, ui_callback f, void *udata); 109 UIWIDGET ui_listview(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata);
107 UIWIDGET ui_listview_str(UiObject *obj, UiList *list, ui_callback f, void *udata); 110 UIWIDGET ui_listview_str(UiObject *obj, UiList *list, ui_callback f, void *udata);
108 UIWIDGET ui_listview_nv(UiObject *obj, char *listname, ui_model_getvalue_f getvalue, ui_callback f, void *udata); 111 UIWIDGET ui_listview_nv(UiObject *obj, char *listname, ui_getvaluefunc getvalue, ui_callback f, void *udata);
109 112
110 UIWIDGET ui_table(UiObject *obj, UiList *model, UiModelInfo *modelinfo); 113 UIWIDGET ui_table(UiObject *obj, UiList *data, UiModel *model, UiListCallbacks cb);
114 UIWIDGET ui_table_nv(UiObject *obj, char *varname, UiModel *model, UiListCallbacks cb);
111 115
116 UIWIDGET ui_combobox(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata);
112 UIWIDGET ui_combobox_str(UiObject *obj, UiList *list, ui_callback f, void *udata); 117 UIWIDGET ui_combobox_str(UiObject *obj, UiList *list, ui_callback f, void *udata);
113 UIWIDGET ui_combobox(UiObject *obj, UiList *list, ui_model_getvalue_f getvalue, ui_callback f, void *udata); 118 UIWIDGET ui_combobox_nv(UiObject *obj, char *varname, ui_getvaluefunc getvalue, ui_callback f, void *udata);
114 UIWIDGET ui_combobox_nv(UiObject *obj, char *varname, ui_model_getvalue_f getvalue, ui_callback f, void *udata);
115 119
116 #ifdef __cplusplus 120 #ifdef __cplusplus
117 } 121 }
118 #endif 122 #endif
119 123

mercurial