| 206 UiVar* uic_get_var(UiContext *ctx, const char *name) { |
206 UiVar* uic_get_var(UiContext *ctx, const char *name) { |
| 207 CxHashKey key = cx_hash_key(name, strlen(name)); |
207 CxHashKey key = cx_hash_key(name, strlen(name)); |
| 208 return ctx_getvar(ctx, key); |
208 return ctx_getvar(ctx, key); |
| 209 } |
209 } |
| 210 |
210 |
| |
211 UiVar* uic_get_var_t(UiContext *ctx,const char *name, UiVarType type) { |
| |
212 UiVar *var = uic_get_var(ctx, name); |
| |
213 if(var && var->type == type) { |
| |
214 return var; |
| |
215 } |
| |
216 return NULL; |
| |
217 } |
| |
218 |
| 211 UiVar* uic_create_var(UiContext *ctx, const char *name, UiVarType type) { |
219 UiVar* uic_create_var(UiContext *ctx, const char *name, UiVarType type) { |
| 212 UiVar *var = uic_get_var(ctx, name); |
220 UiVar *var = uic_get_var(ctx, name); |
| 213 if(var) { |
221 if(var) { |
| 214 if(var->type == type) { |
222 if(var->type == type) { |
| 215 return var; |
223 return var; |
| 683 } |
691 } |
| 684 |
692 |
| 685 void ui_set_destructor(void *mem, ui_destructor_func destr) { |
693 void ui_set_destructor(void *mem, ui_destructor_func destr) { |
| 686 cxMempoolSetDestructor(mem, (cx_destructor_func)destr); |
694 cxMempoolSetDestructor(mem, (cx_destructor_func)destr); |
| 687 } |
695 } |
| |
696 |
| |
697 UiInteger* ui_get_int_var(UiContext *ctx, const char *name) { |
| |
698 UiVar *var = uic_get_var_t(ctx, name, UI_VAR_INTEGER); |
| |
699 return var ? var->value : NULL; |
| |
700 } |
| |
701 |
| |
702 UiDouble* ui_get_double_var(UiContext *ctx, const char *name) { |
| |
703 UiVar *var = uic_get_var_t(ctx, name, UI_VAR_DOUBLE); |
| |
704 return var ? var->value : NULL; |
| |
705 } |
| |
706 |
| |
707 UiString* ui_get_string_var(UiContext *ctx, const char *name) { |
| |
708 UiVar *var = uic_get_var_t(ctx, name, UI_VAR_STRING); |
| |
709 return var ? var->value : NULL; |
| |
710 } |
| |
711 |
| |
712 UiText* ui_get_text_var(UiContext *ctx, const char *name) { |
| |
713 UiVar *var = uic_get_var_t(ctx, name, UI_VAR_TEXT); |
| |
714 return var ? var->value : NULL; |
| |
715 } |
| |
716 |
| |
717 UiRange* ui_get_range_var(UiContext *ctx, const char *name) { |
| |
718 UiVar *var = uic_get_var_t(ctx, name, UI_VAR_RANGE); |
| |
719 return var ? var->value : NULL; |
| |
720 } |
| |
721 |
| |
722 UiGeneric* ui_get_generic_var(UiContext *ctx, const char *name) { |
| |
723 UiVar *var = uic_get_var_t(ctx, name, UI_VAR_GENERIC); |
| |
724 return var ? var->value : NULL; |
| |
725 } |