add functions for adding observers to values default tip

Tue, 23 Dec 2025 19:20:32 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 23 Dec 2025 19:20:32 +0100
changeset 1021
fa372f87cf54
parent 1020
cae4af417424

add functions for adding observers to values

ui/common/context.c file | annotate | diff | comparison | revisions
ui/ui/toolkit.h file | annotate | diff | comparison | revisions
--- a/ui/common/context.c	Tue Dec 23 18:24:04 2025 +0100
+++ b/ui/common/context.c	Tue Dec 23 19:20:32 2025 +0100
@@ -780,6 +780,30 @@
     }
 }
 
+void ui_int_add_observer(UiInteger *i, ui_callback f, void *data) {
+    i->observers = ui_add_observer(i->observers, f, data);
+}
+
+void ui_double_add_observer(UiDouble *d, ui_callback f, void *data) {
+    d->observers = ui_add_observer(d->observers, f, data);
+}
+
+void ui_range_add_observer(UiRange *r, ui_callback f, void *data) {
+    r->observers = ui_add_observer(r->observers, f, data);
+}
+
+void ui_string_add_observer(UiString *s, ui_callback f, void *data) {
+    s->observers = ui_add_observer(s->observers, f, data);
+}
+
+void ui_text_add_observer(UiText *t, ui_callback f, void *data) {
+    t->observers = ui_add_observer(t->observers, f, data);
+}
+
+void ui_list_add_observer(UiList *l, ui_callback f, void *data) {
+    l->observers = ui_add_observer(l->observers, f, data);
+}
+
 UiInteger* ui_get_int_var(UiContext *ctx, const char *name) {
     UiVar *var = uic_get_var_t(ctx, name, UI_VAR_INTEGER);
     return var ? var->value : NULL;
--- a/ui/ui/toolkit.h	Tue Dec 23 18:24:04 2025 +0100
+++ b/ui/ui/toolkit.h	Tue Dec 23 19:20:32 2025 +0100
@@ -647,6 +647,13 @@
 
 UIEXPORT void ui_var_add_observer(UiContext *ctx, const char *varname, ui_callback f, void *data);
 
+UIEXPORT void ui_int_add_observer(UiInteger *i, ui_callback f, void *data);
+UIEXPORT void ui_double_add_observer(UiDouble *d, ui_callback f, void *data);
+UIEXPORT void ui_range_add_observer(UiRange *r, ui_callback f, void *data);
+UIEXPORT void ui_string_add_observer(UiString *s, ui_callback f, void *data);
+UIEXPORT void ui_text_add_observer(UiText *t, ui_callback f, void *data);
+UIEXPORT void ui_list_add_observer(UiList *l, ui_callback f, void *data);
+
 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