ui/ui/container.h

branch
newapi
changeset 198
f2332d0d3318
parent 195
0f2e69873875
child 201
7f67ebbb0c1c
equal deleted inserted replaced
197:8a82ebe23822 198:f2332d0d3318
39 UI_CONTAINER_VBOX = 0, 39 UI_CONTAINER_VBOX = 0,
40 UI_CONTAINER_HBOX, 40 UI_CONTAINER_HBOX,
41 UI_CONTAINER_GRID 41 UI_CONTAINER_GRID
42 } UiSubContainerType; 42 } UiSubContainerType;
43 43
44 typedef enum UiTabViewType {
45 UI_TABVIEW_DEFAULT = 0,
46 UI_TABVIEW_DOC,
47 UI_TABVIEW_NAVIGATION_SIDE,
48 UI_TABVIEW_NAVIGATION_TOP,
49 UI_TABVIEW_NAVIGATION_TOP2,
50 UI_TABVIEW_INVISIBLE
51 } UiTabViewType;
52
44 typedef struct UiContainerArgs { 53 typedef struct UiContainerArgs {
45 UiTri fill; 54 UiTri fill;
46 UiBool hexpand; 55 UiBool hexpand;
47 UiBool vexpand; 56 UiBool vexpand;
48 int colspan; 57 int colspan;
70 79
71 const char* label; 80 const char* label;
72 UiBool isexpanded; 81 UiBool isexpanded;
73 } UiFrameArgs; 82 } UiFrameArgs;
74 83
84 typedef struct UiTabViewArgs {
85 UiTri fill;
86 UiBool hexpand;
87 UiBool vexpand;
88 int colspan;
89 int rowspan;
90
91 UiTabViewType tabview;
92
93 UiSubContainerType subcontainer;
94
95 int margin;
96 int spacing;
97 int columnspacing;
98 int rowspacing;
99
100 const char* label;
101 UiBool isexpanded;
102 } UiTabViewArgs;
103
104
75 105
76 #define UI_CTN(obj, ctn) for(ctn;ui_container_finish(obj);ui_container_begin_close(obj)) 106 #define UI_CTN(obj, ctn) for(ctn;ui_container_finish(obj);ui_container_begin_close(obj))
77 107
78 #define ui_vbox(obj, ...) for(ui_vbox_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) 108 #define ui_vbox(obj, ...) for(ui_vbox_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
79 #define ui_hbox(obj, ...) for(ui_hbox_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) 109 #define ui_hbox(obj, ...) for(ui_hbox_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
80 #define ui_grid(obj, ...) for(ui_grid_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) 110 #define ui_grid(obj, ...) for(ui_grid_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
81 #define ui_frame(obj, ...) for(ui_frame_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) 111 #define ui_frame(obj, ...) for(ui_frame_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
82 #define ui_expander(obj, ...) for(ui_expander_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) 112 #define ui_expander(obj, ...) for(ui_expander_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
83 #define ui_scrolledwindow(obj, ...) for(ui_scrolledwindow_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) 113 #define ui_scrolledwindow(obj, ...) for(ui_scrolledwindow_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
114 #define ui_tabview(obj, ...) for(ui_tabview_create(obj, (UiTabViewArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj))
84 115
85 #define ui_vbox0(obj) for(ui_vbox_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) 116 #define ui_vbox0(obj) for(ui_vbox_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
86 #define ui_hbox0(obj) for(ui_hbox_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) 117 #define ui_hbox0(obj) for(ui_hbox_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
87 #define ui_grid0(obj) for(ui_grid_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) 118 #define ui_grid0(obj) for(ui_grid_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
88 #define ui_frame0(obj) for(ui_frame_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) 119 #define ui_frame0(obj) for(ui_frame_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
89 #define ui_expander0(obj) for(ui_expande_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) 120 #define ui_expander0(obj) for(ui_expande_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
90 #define ui_scrolledwindow0(obj) for(ui_scrolledwindow_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) 121 #define ui_scrolledwindow0(obj) for(ui_scrolledwindow_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
122 #define ui_tabview0(obj) for(ui_tabview_create(obj, (UiTabViewArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj))
123
124 #define ui_tab(obj, label) for(ui_tab_create(obj, label);ui_container_finish(obj);ui_container_begin_close(obj))
91 125
92 void ui_end(UiObject *obj); 126 void ui_end(UiObject *obj);
93 127
94 UIWIDGET ui_vbox_create(UiObject *obj, UiContainerArgs args); 128 UIWIDGET ui_vbox_create(UiObject *obj, UiContainerArgs args);
95 UIWIDGET ui_hbox_create(UiObject *obj, UiContainerArgs args); 129 UIWIDGET ui_hbox_create(UiObject *obj, UiContainerArgs args);
96 UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs args); 130 UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs args);
97 UIWIDGET ui_frame_create(UiObject* obj, UiFrameArgs args); 131 UIWIDGET ui_frame_create(UiObject* obj, UiFrameArgs args);
98 UIWIDGET ui_expander_create(UiObject* obj, UiFrameArgs args); 132 UIWIDGET ui_expander_create(UiObject* obj, UiFrameArgs args);
99 UIWIDGET ui_scrolledwindow_create(UiObject* obj, UiFrameArgs args); 133 UIWIDGET ui_scrolledwindow_create(UiObject* obj, UiFrameArgs args);
134 UIWIDGET ui_tabview_create(UiObject* obj, UiTabViewArgs args);
100 135
136 void ui_tab_create(UiObject* obj, const char* title);
101 137
102 UIWIDGET ui_scrolledwindow_deprecated(UiObject *obj); 138 UIWIDGET ui_scrolledwindow_deprecated(UiObject *obj);
103 139
104 UIWIDGET ui_sidebar(UiObject *obj); 140 UIWIDGET ui_sidebar(UiObject *obj);
105 141
106 UIWIDGET ui_hsplitpane(UiObject *obj, int max); 142 UIWIDGET ui_hsplitpane(UiObject *obj, int max);
107 UIWIDGET ui_vsplitpane(UiObject *obj, int max); 143 UIWIDGET ui_vsplitpane(UiObject *obj, int max);
108 144
109 UIWIDGET ui_tabview(UiObject *obj); 145 UIWIDGET ui_tabview_deprecated(UiObject *obj);
110 void ui_tab(UiObject *obj, char *title); 146
111 void ui_select_tab(UIWIDGET tabview, int tab); 147 void ui_select_tab(UIWIDGET tabview, int tab);
112 148
113 // box container layout functions 149 // box container layout functions
114 void ui_layout_fill(UiObject *obj, UiBool fill); 150 void ui_layout_fill(UiObject *obj, UiBool fill);
115 // grid container layout functions 151 // grid container layout functions

mercurial