ui/ui/toolkit.h

changeset 12
fe94e0fb9ef3
parent 6
05a18c56d9ca
child 14
e2fd132ab781
equal deleted inserted replaced
11:979c0e0ee853 12:fe94e0fb9ef3
66 typedef struct UiContext UiContext; 66 typedef struct UiContext UiContext;
67 typedef struct UiContainer UiContainer; 67 typedef struct UiContainer UiContainer;
68 68
69 #define ui_getval(val) (val).get(&(val)) 69 #define ui_getval(val) (val).get(&(val))
70 #define ui_setval(val, v) (val).set(&(val), v) 70 #define ui_setval(val, v) (val).set(&(val), v)
71
72 #define ui_getsubstr(text, begin, end) (text).getsubstr(&(val), begin, end)
73 #define ui_insert(text, begin, str) (text).insert(&(text), begin, str)
74
71 75
72 typedef void(*ui_callback)(UiEvent*, void*); // event, user data 76 typedef void(*ui_callback)(UiEvent*, void*); // event, user data
73 77
74 struct UiObject { 78 struct UiObject {
75 /* 79 /*
118 char* value; 122 char* value;
119 void *obj; 123 void *obj;
120 }; 124 };
121 125
122 struct UiText { 126 struct UiText {
127 void (*set)(UiText*, char*);
123 char* (*get)(UiText*); 128 char* (*get)(UiText*);
124 void (*set)(UiText*, char*); 129 char* (*getsubstr)(UiText*, int, int); // text, begin, end
130 void (*insert)(UiText*, int, char*);
125 char* value; 131 char* value;
126 void *obj; 132 void *obj;
127 void *undomgr; 133 void *undomgr;
128 // TODO: selection, undo, replace, ... 134 // TODO: selection, undo, replace, ...
129 }; 135 };

mercurial