Tue, 23 Dec 2025 19:20:32 +0100
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);