ui/ui/toolkit.h

branch
newapi
changeset 231
e160bb392148
parent 230
4f5b32a2a60f
child 234
9036b346cd66
--- a/ui/ui/toolkit.h	Sun Jan 28 09:35:44 2024 +0100
+++ b/ui/ui/toolkit.h	Sun Jan 28 10:06:54 2024 +0100
@@ -406,6 +406,28 @@
 UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name);
 UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name);
 
+#define ui_get(v) _Generic(v, \
+    UiInteger*: ui_int_get, \
+    UiDouble*: ui_double_get, \
+    UiString*: ui_string_get, \
+    UiText*:ui_text_get) (v)
+
+#define ui_set(v, n) _Generic(v, \
+    UiInteger*: ui_int_set, \
+    UiDouble*: ui_double_set, \
+    UiString*: ui_string_set, \
+    UiText*:ui_text_set) (v, n)
+
+UIEXPORT void ui_int_set(UiInteger *i, int64_t value);
+UIEXPORT int64_t ui_int_get(UiInteger *i);
+UIEXPORT void ui_double_set(UiDouble *d, double value);
+UIEXPORT double ui_double_get(UiDouble *d);
+UIEXPORT void ui_string_set(UiString *s, const char *value);
+UIEXPORT char* ui_string_get(UiString *s);
+UIEXPORT void ui_text_set(UiText *s, const char* value);
+UIEXPORT char* ui_text_get(UiText *s);
+
+
 UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data);
 UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer);
 UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data);

mercurial