424 return; |
424 return; |
425 } |
425 } |
426 |
426 |
427 //printf("page_change: %d\n", page_num); |
427 //printf("page_change: %d\n", page_num); |
428 UiContext *ctx = tab->ctx; |
428 UiContext *ctx = tab->ctx; |
429 ctx->parent->set_document(ctx->parent, ctx->document); |
429 uic_context_detach_all(ctx->parent); // TODO: fix? |
|
430 ctx->parent->attach_document(ctx->parent, ctx->document); |
430 } |
431 } |
431 |
432 |
432 UiTabbedPane* ui_tabbed_document_view(UiObject *obj) { |
433 UiTabbedPane* ui_tabbed_document_view(UiObject *obj) { |
433 GtkWidget *tabview = gtk_notebook_new(); |
434 GtkWidget *tabview = gtk_notebook_new(); |
434 gtk_notebook_set_show_border(GTK_NOTEBOOK(tabview), FALSE); |
435 gtk_notebook_set_show_border(GTK_NOTEBOOK(tabview), FALSE); |
458 |
459 |
459 UiObject *tab = ui_malloc(view->ctx, sizeof(UiObject)); |
460 UiObject *tab = ui_malloc(view->ctx, sizeof(UiObject)); |
460 tab->widget = NULL; // initialization for uic_context() |
461 tab->widget = NULL; // initialization for uic_context() |
461 tab->ctx = uic_context(tab, view->ctx->mempool); |
462 tab->ctx = uic_context(tab, view->ctx->mempool); |
462 tab->ctx->parent = view->ctx; |
463 tab->ctx->parent = view->ctx; |
463 tab->ctx->set_document = ui_tab_set_document; |
464 tab->ctx->attach_document = uic_context_attach_document; |
464 tab->ctx->detach_document = ui_tab_detach_document; |
465 tab->ctx->detach_document2 = uic_context_detach_document2; |
465 tab->widget = frame; |
466 tab->widget = frame; |
466 tab->window = view->ctx->obj->window; |
467 tab->window = view->ctx->obj->window; |
467 tab->container = ui_frame_container(tab, frame); |
468 tab->container = ui_frame_container(tab, frame); |
468 tab->next = NULL; |
469 tab->next = NULL; |
469 |
470 |
472 |
473 |
473 return tab; |
474 return tab; |
474 } |
475 } |
475 |
476 |
476 void ui_tab_set_document(UiContext *ctx, void *document) { |
477 void ui_tab_set_document(UiContext *ctx, void *document) { |
|
478 // TODO: remove? |
477 if(ctx->parent->document) { |
479 if(ctx->parent->document) { |
478 //ctx->parent->detach_document(ctx->parent, ctx->parent->document); |
480 //ctx->parent->detach_document(ctx->parent, ctx->parent->document); |
479 } |
481 } |
480 uic_context_set_document(ctx, document); |
482 //uic_context_set_document(ctx, document); |
481 //uic_context_set_document(ctx->parent, document); |
483 //uic_context_set_document(ctx->parent, document); |
482 //ctx->parent->document = document; |
484 //ctx->parent->document = document; |
483 } |
485 } |
484 |
486 |
485 void ui_tab_detach_document(UiContext *ctx) { |
487 void ui_tab_detach_document(UiContext *ctx) { |
486 uic_context_detach_document(ctx->parent); |
488 // TODO: remove? |
|
489 //uic_context_detach_document(ctx->parent); |
487 } |
490 } |
488 |
491 |
489 |
492 |
490 /* |
493 /* |
491 * -------------------- Layout Functions -------------------- |
494 * -------------------- Layout Functions -------------------- |