diff -r 46a42f0c4f93 -r 6ef2c7f73a30 ui/motif/container.h --- a/ui/motif/container.h Mon Jan 05 11:49:46 2015 +0100 +++ b/ui/motif/container.h Mon Jan 05 14:47:19 2015 +0100 @@ -39,11 +39,12 @@ #define ui_reset_layout(layout) memset(&(layout), 0, sizeof(UiLayout)) -typedef struct MotifTabbedPane MotifTabbedPane; -typedef struct UiTab UiTab; -typedef struct UiBoxContainer UiBoxContainer; -typedef struct UiGridContainer UiGridContainer; -typedef struct UiLayout UiLayout; +typedef struct MotifTabbedPane MotifTabbedPane; +typedef struct UiTab UiTab; +typedef struct UiBoxContainer UiBoxContainer; +typedef struct UiGridContainer UiGridContainer; +typedef struct UiTabViewContainer UiTabViewContainer; +typedef struct UiLayout UiLayout; typedef Widget (*ui_container_add_f)(UiContainer*, Arg*, int*, UiBool); @@ -64,7 +65,8 @@ struct UiLayout { UiLayoutBool fill; - UiBool newline; + UiBool newline; + char *label; }; struct UiContainer { @@ -76,15 +78,23 @@ struct UiBoxContainer { UiContainer container; - Widget prev_widget; - UiBool has_fill; + Widget prev_widget; + UiBool has_fill; UiBoxOrientation orientation; }; struct UiGridContainer { UiContainer container; - UcxList *lines; - UcxList *current; + UcxList *lines; + UcxList *current; +}; + +struct UiTabViewContainer { + UiContainer container; + UiContext *context; + Widget widget; + UcxList *tabs; + Widget current; }; struct MotifTabbedPane { @@ -113,6 +123,10 @@ Widget ui_grid_container_prepare(UiContainer *ct, Arg *args, int *n, UiBool fill); void ui_grid_container_add(UiContainer *ct, Widget widget); +UiContainer* ui_tabview_container(UiObject *obj, Widget rowcolumn); +Widget ui_tabview_container_prepare(UiContainer *ct, Arg *args, int *n, UiBool fill); +void ui_tabview_container_add(UiContainer *ct, Widget widget); + void ui_tab_button_callback(Widget widget, UiTab *tab, XtPointer d); void ui_change_tab(MotifTabbedPane *pane, UiTab *tab);