# HG changeset patch # User Olaf Wintermann # Date 1766562530 -3600 # Node ID d9b6b85cc2106f690c4a8c263d86292d30287a6c # Parent 4ab47c0f92eabbb126dd69f8bf53b69c17647a77# Parent fa372f87cf54f1b80cf0c203290233c6ca8e2aa1 merge diff -r 4ab47c0f92ea -r d9b6b85cc210 ui/common/context.c --- a/ui/common/context.c Wed Dec 24 08:47:12 2025 +0100 +++ b/ui/common/context.c Wed Dec 24 08:48:50 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 4ab47c0f92ea -r d9b6b85cc210 ui/ui/toolkit.h --- a/ui/ui/toolkit.h Wed Dec 24 08:47:12 2025 +0100 +++ b/ui/ui/toolkit.h Wed Dec 24 08:48:50 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);