ui/common/context.c

changeset 960
e88ca7dfa943
parent 916
6fdcf1cbbec9
child 966
e411ed7c5f10
equal deleted inserted replaced
959:4b2202df31ec 960:e88ca7dfa943
95 cxListClear(ctx->groups); 95 cxListClear(ctx->groups);
96 cxListClear(ctx->group_widgets); 96 cxListClear(ctx->group_widgets);
97 } 97 }
98 98
99 void uic_context_attach_document(UiContext *ctx, void *document) { 99 void uic_context_attach_document(UiContext *ctx, void *document) {
100 if(ctx->single_document_mode) {
101 if(ctx->document) {
102 uic_context_detach_document(ctx, ctx->document);
103 }
104 }
105
100 cxListAdd(ctx->documents, document); 106 cxListAdd(ctx->documents, document);
101 ctx->document = document; 107 ctx->document = document;
102 108
103 UiContext *doc_ctx = ui_document_context(document); 109 UiContext *doc_ctx = ui_document_context(document);
104 doc_ctx->parent = ctx; 110 doc_ctx->parent = ctx;
483 var->bound = TRUE; 489 var->bound = TRUE;
484 } 490 }
485 491
486 // public API 492 // public API
487 493
494 void* ui_context_get_document(UiContext *ctx) {
495 return ctx->document;
496 }
497
498 void ui_context_single_attachment_mode(UiContext *ctx, UiBool enable) {
499 ctx->single_document_mode = enable;
500 }
501
488 void ui_attach_document(UiContext *ctx, void *document) { 502 void ui_attach_document(UiContext *ctx, void *document) {
489 uic_context_attach_document(ctx, document); 503 uic_context_attach_document(ctx, document);
490 } 504 }
491 505
492 void ui_detach_document(UiContext *ctx, void *document) { 506 void ui_detach_document(UiContext *ctx, void *document) {

mercurial