ui/common/context.c

changeset 1167
f0e901f7d1b7
parent 1166
01653cc7256b
child 1168
2f9d8af6a499
equal deleted inserted replaced
1166:01653cc7256b 1167:f0e901f7d1b7
143 // move the bindings to the document 143 // move the bindings to the document
144 UiContext *var_ctx = ctx->parent; 144 UiContext *var_ctx = ctx->parent;
145 while(var_ctx) { 145 while(var_ctx) {
146 CxMapIterator i = cxMapIterator(var_ctx->vars); 146 CxMapIterator i = cxMapIterator(var_ctx->vars);
147 cx_foreach(CxMapEntry*, entry, i) { 147 cx_foreach(CxMapEntry*, entry, i) {
148 printf("attach %.*s\n", (int)entry->key->len, (char*)entry->key->data); 148 // printf("attach %.*s\n", (int)entry->key->len, (char*)entry->key->data);
149 UiVar *var = entry->value; 149 UiVar *var = entry->value;
150 UiVar *docvar = cxMapGet(ctx->vars, *entry->key); 150 UiVar *docvar = cxMapGet(ctx->vars, *entry->key);
151 if(docvar) { 151 if(docvar) {
152 // bind var to document var 152 // bind var to document var
153 uic_copy_var_binding(var, docvar, TRUE); 153 uic_copy_var_binding(var, docvar, TRUE);
188 188
189 static void uic_context_unbind_vars(UiContext *ctx) { 189 static void uic_context_unbind_vars(UiContext *ctx) {
190 ui_onchange_events_enable(FALSE); 190 ui_onchange_events_enable(FALSE);
191 CxMapIterator mi = cxMapIterator(ctx->vars); 191 CxMapIterator mi = cxMapIterator(ctx->vars);
192 cx_foreach(CxMapEntry*, entry, mi) { 192 cx_foreach(CxMapEntry*, entry, mi) {
193 printf("detach %.*s\n", (int)entry->key->len, (char*)entry->key->data); 193 //printf("detach %.*s\n", (int)entry->key->len, (char*)entry->key->data);
194 UiVar *var = entry->value; 194 UiVar *var = entry->value;
195 // var->from && var->from_ctx && var->from_ctx != ctx 195 // var->from && var->from_ctx && var->from_ctx != ctx
196 uic_save_var(var); 196 uic_save_var(var);
197 if(var->from) { 197 if(var->from) {
198 uic_copy_var_binding(var, var->from, FALSE); 198 uic_copy_var_binding(var, var->from, FALSE);

mercurial