168 /* end opaque types */ |
166 /* end opaque types */ |
169 |
167 |
170 typedef struct UiTabbedPane UiTabbedPane; |
168 typedef struct UiTabbedPane UiTabbedPane; |
171 |
169 |
172 typedef enum UiTri UiTri; |
170 typedef enum UiTri UiTri; |
|
171 typedef enum UiLabelType UiLabelType; |
173 |
172 |
174 enum UiMouseEventType { UI_PRESS = 0, UI_PRESS2 }; |
173 enum UiMouseEventType { UI_PRESS = 0, UI_PRESS2 }; |
|
174 |
|
175 enum UiLabelType { UI_LABEL_DEFAULT, UI_LABEL_TEXT, UI_LABEL_ICON, UI_LABEL_TEXT_ICON }; |
175 |
176 |
176 |
177 |
177 |
178 |
178 typedef void(*ui_callback)(UiEvent*, void*); /* event, user data */ |
179 typedef void(*ui_callback)(UiEvent*, void*); /* event, user data */ |
179 |
180 |
403 UIEXPORT UiDouble* ui_double_new(UiContext *ctx, char *name); |
404 UIEXPORT UiDouble* ui_double_new(UiContext *ctx, char *name); |
404 UIEXPORT UiString* ui_string_new(UiContext *ctx, char *name); |
405 UIEXPORT UiString* ui_string_new(UiContext *ctx, char *name); |
405 UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name); |
406 UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name); |
406 UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name); |
407 UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name); |
407 |
408 |
|
409 #define ui_get(v) _Generic(v, \ |
|
410 UiInteger*: ui_int_get, \ |
|
411 UiDouble*: ui_double_get, \ |
|
412 UiString*: ui_string_get, \ |
|
413 UiText*:ui_text_get) (v) |
|
414 |
|
415 #define ui_set(v, n) _Generic(v, \ |
|
416 UiInteger*: ui_int_set, \ |
|
417 UiDouble*: ui_double_set, \ |
|
418 UiString*: ui_string_set, \ |
|
419 UiText*:ui_text_set) (v, n) |
|
420 |
|
421 UIEXPORT void ui_int_set(UiInteger *i, int64_t value); |
|
422 UIEXPORT int64_t ui_int_get(UiInteger *i); |
|
423 UIEXPORT void ui_double_set(UiDouble *d, double value); |
|
424 UIEXPORT double ui_double_get(UiDouble *d); |
|
425 UIEXPORT void ui_string_set(UiString *s, const char *value); |
|
426 UIEXPORT char* ui_string_get(UiString *s); |
|
427 UIEXPORT void ui_text_set(UiText *s, const char* value); |
|
428 UIEXPORT char* ui_text_get(UiText *s); |
|
429 |
|
430 |
408 UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data); |
431 UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data); |
409 UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); |
432 UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); |
410 UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); |
433 UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); |
411 UIEXPORT void ui_notify(UiObserver *observer, void *data); |
434 UIEXPORT void ui_notify(UiObserver *observer, void *data); |
412 UIEXPORT void ui_notify_except(UiObserver *observer, UiObserver *exc, void *data); |
435 UIEXPORT void ui_notify_except(UiObserver *observer, UiObserver *exc, void *data); |