| 79 ctx->accel_group = gtk_accel_group_new(); |
79 ctx->accel_group = gtk_accel_group_new(); |
| 80 gtk_window_add_accel_group(GTK_WINDOW(toplevel->widget), ctx->accel_group); |
80 gtk_window_add_accel_group(GTK_WINDOW(toplevel->widget), ctx->accel_group); |
| 81 } |
81 } |
| 82 #endif |
82 #endif |
| 83 |
83 |
| |
84 ctx->ref = 1; |
| |
85 |
| 84 return ctx; |
86 return ctx; |
| 85 } |
87 } |
| 86 |
88 |
| 87 UiContext* uic_root_context(UiContext *ctx) { |
89 UiContext* uic_root_context(UiContext *ctx) { |
| 88 return ctx->parent ? uic_root_context(ctx->parent) : ctx; |
90 return ctx->parent ? uic_root_context(ctx->parent) : ctx; |
| 96 } |
98 } |
| 97 |
99 |
| 98 void uic_context_prepare_close(UiContext *ctx) { |
100 void uic_context_prepare_close(UiContext *ctx) { |
| 99 cxListClear(ctx->states); |
101 cxListClear(ctx->states); |
| 100 cxListClear(ctx->state_widgets); |
102 cxListClear(ctx->state_widgets); |
| |
103 } |
| |
104 |
| |
105 void uic_context_destroy(UiContext *ctx, void *document) { |
| |
106 if(!ctx) { |
| |
107 return; |
| |
108 } |
| |
109 |
| |
110 UiEvent ev; |
| |
111 ev.window = NULL; |
| |
112 ev.document = document; |
| |
113 ev.obj = NULL; |
| |
114 ev.eventdata = NULL; |
| |
115 ev.eventdatatype = 0; |
| |
116 ev.intval = 0; |
| |
117 |
| |
118 if(ctx->close_callback) { |
| |
119 ctx->close_callback(&ev, ctx->close_data); |
| |
120 } |
| |
121 cxMempoolFree(ctx->mp); |
| 101 } |
122 } |
| 102 |
123 |
| 103 void uic_context_attach_document(UiContext *ctx, void *document) { |
124 void uic_context_attach_document(UiContext *ctx, void *document) { |
| 104 if(ctx->single_document_mode) { |
125 if(ctx->single_document_mode) { |
| 105 if(ctx->document) { |
126 if(ctx->document) { |