# HG changeset patch # User Olaf Wintermann # Date 1766514032 -3600 # Node ID fa372f87cf54f1b80cf0c203290233c6ca8e2aa1 # Parent cae4af4174249e3dfb922555d905f9c5c30bd291 add functions for adding observers to values diff -r cae4af417424 -r fa372f87cf54 ui/common/context.c --- 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; diff -r cae4af417424 -r fa372f87cf54 ui/ui/toolkit.h --- 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);