ui/gtk/container.h

changeset 108
77254bd6dccb
parent 103
6606616eca9f
child 110
c00e968d018b
equal deleted inserted replaced
107:b34bd1557c6c 108:77254bd6dccb
42 #ifdef __cplusplus 42 #ifdef __cplusplus
43 extern "C" { 43 extern "C" {
44 #endif 44 #endif
45 45
46 #define ui_reset_layout(layout) memset(&(layout), 0, sizeof(UiLayout)) 46 #define ui_reset_layout(layout) memset(&(layout), 0, sizeof(UiLayout))
47 #define ui_lb2bool(b) ((b) == UI_LAYOUT_TRUE ? TRUE : FALSE)
48 #define ui_bool2lb(b) ((b) ? UI_LAYOUT_TRUE : UI_LAYOUT_FALSE)
49 47
50 typedef void (*ui_container_add_f)(UiContainer*, GtkWidget*, UiBool); 48 typedef void (*ui_container_add_f)(UiContainer*, GtkWidget*);
51 49
52 typedef struct UiDocumentView UiDocumentView; 50 typedef struct UiDocumentView UiDocumentView;
53 51
54
55 typedef enum UiLayoutBool {
56 UI_LAYOUT_UNDEFINED = 0,
57 UI_LAYOUT_TRUE,
58 UI_LAYOUT_FALSE,
59 } UiLayoutBool;
60 52
61 typedef struct UiLayout UiLayout; 53 typedef struct UiLayout UiLayout;
62 struct UiLayout { 54 struct UiLayout {
63 UiLayoutBool fill; 55 UiBool fill;
64 UiBool newline; 56 UiBool newline;
65 char *label; 57 char *label;
66 UiBool hexpand; 58 UiBool hexpand;
67 UiBool vexpand; 59 UiBool vexpand;
68 UiBool hfill; 60 UiBool hfill;
76 struct UiContainer { 68 struct UiContainer {
77 GtkWidget *widget; 69 GtkWidget *widget;
78 UIMENU menu; 70 UIMENU menu;
79 GtkWidget *current; 71 GtkWidget *current;
80 72
81 void (*add)(UiContainer*, GtkWidget*, UiBool); 73 void (*add)(UiContainer*, GtkWidget*);
82 UiLayout layout; 74 UiLayout layout;
83 75
84 int close; 76 int close;
85 }; 77 };
86 78
120 UiSubContainerType subcontainer; 112 UiSubContainerType subcontainer;
121 int margin; 113 int margin;
122 int spacing; 114 int spacing;
123 int columnspacing; 115 int columnspacing;
124 int rowspacing; 116 int rowspacing;
117 ui_callback onchange;
118 void *onchangedata;
125 } UiGtkTabView; 119 } UiGtkTabView;
126 120
127 121
128 typedef struct UiSplitPaneContainer { 122 typedef struct UiSplitPaneContainer {
129 UiContainer container; 123 UiContainer container;
168 int columnspacing, 162 int columnspacing,
169 int rowspacing, 163 int rowspacing,
170 int margin); 164 int margin);
171 165
172 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame); 166 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame);
173 void ui_frame_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 167 void ui_frame_container_add(UiContainer *ct, GtkWidget *widget);
174 168
175 GtkWidget* ui_box_set_margin(GtkWidget *box, int margin); 169 GtkWidget* ui_box_set_margin(GtkWidget *box, int margin);
176 UIWIDGET ui_box_create(UiObject *obj, UiContainerArgs args, UiSubContainerType type); 170 UIWIDGET ui_box_create(UiObject *obj, UiContainerArgs *args, UiSubContainerType type);
177 171
178 UiContainer* ui_box_container(UiObject *obj, GtkWidget *box, UiSubContainerType type); 172 UiContainer* ui_box_container(UiObject *obj, GtkWidget *box, UiSubContainerType type);
179 void ui_box_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 173 void ui_box_container_add(UiContainer *ct, GtkWidget *widget);
180 174
181 GtkWidget* ui_create_grid_widget(int colspacing, int rowspacing); 175 GtkWidget* ui_create_grid_widget(int colspacing, int rowspacing);
182 UiContainer* ui_grid_container( 176 UiContainer* ui_grid_container(
183 UiObject *obj, 177 UiObject *obj,
184 GtkWidget *grid, 178 GtkWidget *grid,
185 UiBool def_hexpand, 179 UiBool def_hexpand,
186 UiBool def_vexpand, 180 UiBool def_vexpand,
187 UiBool def_hfill, 181 UiBool def_hfill,
188 UiBool def_vfill); 182 UiBool def_vfill);
189 void ui_grid_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 183 void ui_grid_container_add(UiContainer *ct, GtkWidget *widget);
190 184
191 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame); 185 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame);
192 void ui_frame_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 186 void ui_frame_container_add(UiContainer *ct, GtkWidget *widget);
193 187
194 UiContainer* ui_expander_container(UiObject *obj, GtkWidget *expander); 188 UiContainer* ui_expander_container(UiObject *obj, GtkWidget *expander);
195 void ui_expander_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 189 void ui_expander_container_add(UiContainer *ct, GtkWidget *widget);
196 190
197 UiContainer* ui_scrolledwindow_container(UiObject *obj, GtkWidget *scrolledwindow); 191 UiContainer* ui_scrolledwindow_container(UiObject *obj, GtkWidget *scrolledwindow);
198 void ui_scrolledwindow_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 192 void ui_scrolledwindow_container_add(UiContainer *ct, GtkWidget *widget);
199 193
200 UiContainer* ui_tabview_container(UiObject *obj, GtkWidget *tabview); 194 UiContainer* ui_tabview_container(UiObject *obj, GtkWidget *tabview);
201 void ui_tabview_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 195 void ui_tabview_container_add(UiContainer *ct, GtkWidget *widget);
202 196
203 UiContainer* ui_splitpane_container(UiObject *obj, GtkWidget *pane, UiOrientation orientation, int max, int init); 197 UiContainer* ui_splitpane_container(UiObject *obj, GtkWidget *pane, UiOrientation orientation, int max, int init);
204 void ui_splitpane_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 198 void ui_splitpane_container_add(UiContainer *ct, GtkWidget *widget);
205 199
206 200
207 UiGtkTabView* ui_widget_get_tabview_data(UIWIDGET tabview); 201 UiGtkTabView* ui_widget_get_tabview_data(UIWIDGET tabview);
208 202
209 void ui_gtk_notebook_select_tab(GtkWidget *widget, int tab); 203 void ui_gtk_notebook_select_tab(GtkWidget *widget, int tab);
210 204
211 #if GTK_CHECK_VERSION(3, 10, 0) 205 #if GTK_CHECK_VERSION(3, 10, 0)
212 UiContainer* ui_headerbar_container(UiObject *obj, GtkWidget *headerbar); 206 UiContainer* ui_headerbar_container(UiObject *obj, GtkWidget *headerbar);
213 void ui_headerbar_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 207 void ui_headerbar_container_add(UiContainer *ct, GtkWidget *widget);
214 #endif 208 #endif
215 209
216 UiContainer* ui_headerbar_fallback_container(UiObject *obj, GtkWidget *headerbar); 210 UiContainer* ui_headerbar_fallback_container(UiObject *obj, GtkWidget *headerbar);
217 void ui_headerbar_fallback_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 211 void ui_headerbar_fallback_container_add(UiContainer *ct, GtkWidget *widget);
218 212
219 #ifdef __cplusplus 213 #ifdef __cplusplus
220 } 214 }
221 #endif 215 #endif
222 216

mercurial