ui/common/context.c

changeset 976
e2763e880938
parent 967
ff4a8d10307b
equal deleted inserted replaced
975:e0ac49797a30 976:e2763e880938
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 }

mercurial