ui/common/context.c

changeset 976
e2763e880938
parent 967
ff4a8d10307b
--- a/ui/common/context.c	Sun Dec 07 19:10:00 2025 +0100
+++ b/ui/common/context.c	Sun Dec 07 19:20:48 2025 +0100
@@ -208,6 +208,14 @@
     return ctx_getvar(ctx, key);
 }
 
+UiVar* uic_get_var_t(UiContext *ctx,const char *name, UiVarType type) {
+    UiVar *var = uic_get_var(ctx, name);
+    if(var && var->type == type) {
+        return var;
+    }
+    return NULL;
+}
+
 UiVar* uic_create_var(UiContext *ctx, const char *name, UiVarType type) {
     UiVar *var = uic_get_var(ctx, name);
     if(var) {
@@ -685,3 +693,33 @@
 void  ui_set_destructor(void *mem, ui_destructor_func destr) {
     cxMempoolSetDestructor(mem, (cx_destructor_func)destr);
 }
+
+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;
+}
+
+UiDouble* ui_get_double_var(UiContext *ctx, const char *name) {
+    UiVar *var = uic_get_var_t(ctx, name, UI_VAR_DOUBLE);
+    return var ? var->value : NULL;
+}
+
+UiString* ui_get_string_var(UiContext *ctx, const char *name) {
+    UiVar *var = uic_get_var_t(ctx, name, UI_VAR_STRING);
+    return var ? var->value : NULL;
+}
+
+UiText* ui_get_text_var(UiContext *ctx, const char *name) {
+    UiVar *var = uic_get_var_t(ctx, name, UI_VAR_TEXT);
+    return var ? var->value : NULL;
+}
+
+UiRange* ui_get_range_var(UiContext *ctx, const char *name) {
+    UiVar *var = uic_get_var_t(ctx, name, UI_VAR_RANGE);
+    return var ? var->value : NULL;
+}
+
+UiGeneric* ui_get_generic_var(UiContext *ctx, const char *name) {
+    UiVar *var = uic_get_var_t(ctx, name, UI_VAR_GENERIC);
+    return var ? var->value : NULL;
+}

mercurial