ui/common/context.c

changeset 1089
a3db51a94b37
parent 1066
afe02792303d
equal deleted inserted replaced
1088:09459f07ab11 1089:a3db51a94b37
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) {

mercurial