| 69 cxSetCompareFunc(ctx->states, cx_cmp_int); |
69 cxSetCompareFunc(ctx->states, cx_cmp_int); |
| 70 |
70 |
| 71 ctx->actions = cxHashMapCreate(ctx->allocator, sizeof(UiAction), 8); |
71 ctx->actions = cxHashMapCreate(ctx->allocator, sizeof(UiAction), 8); |
| 72 ctx->action_bindings = cxArrayListCreate(ctx->allocator, sizeof(UiActionBinding), 0); |
72 ctx->action_bindings = cxArrayListCreate(ctx->allocator, sizeof(UiActionBinding), 0); |
| 73 |
73 |
| 74 ctx->attach_document = uic_context_attach_document; |
|
| 75 ctx->detach_document2 = uic_context_detach_document; |
|
| 76 |
|
| 77 #if UI_GTK2 || UI_GTK3 |
74 #if UI_GTK2 || UI_GTK3 |
| 78 if(toplevel && toplevel->widget) { |
75 if(toplevel && toplevel->widget) { |
| 79 ctx->accel_group = gtk_accel_group_new(); |
76 ctx->accel_group = gtk_accel_group_new(); |
| 80 gtk_window_add_accel_group(GTK_WINDOW(toplevel->widget), ctx->accel_group); |
77 gtk_window_add_accel_group(GTK_WINDOW(toplevel->widget), ctx->accel_group); |
| 81 } |
78 } |
| 243 } |
240 } |
| 244 |
241 |
| 245 // detach documents |
242 // detach documents |
| 246 i = cxListIterator(ls); |
243 i = cxListIterator(ls); |
| 247 cx_foreach(void *, doc, i) { |
244 cx_foreach(void *, doc, i) { |
| 248 ctx->detach_document2(ctx, doc); |
245 uic_context_detach_document(ctx, doc); |
| 249 } |
246 } |
| 250 |
247 |
| 251 cxListFree(ls); |
248 cxListFree(ls); |
| 252 ui_update_action_bindings(ctx); |
249 ui_update_action_bindings(ctx); |
| 253 } |
250 } |