ui/gtk/container.h

changeset 51
e324291ca9f8
parent 44
473954dc6b74
equal deleted inserted replaced
50:9c25e2616bfa 51:e324291ca9f8
30 #define CONTAINER_H 30 #define CONTAINER_H
31 31
32 #include "../ui/toolkit.h" 32 #include "../ui/toolkit.h"
33 #include "../ui/container.h" 33 #include "../ui/container.h"
34 #include <string.h> 34 #include <string.h>
35
36 #include <cx/allocator.h>
35 37
36 #ifdef __cplusplus 38 #ifdef __cplusplus
37 extern "C" { 39 extern "C" {
38 #endif 40 #endif
39 41
90 int width; 92 int width;
91 int height; 93 int height;
92 #endif 94 #endif
93 } UiGridContainer; 95 } UiGridContainer;
94 96
97 /*
95 typedef struct UiPanedContainer { 98 typedef struct UiPanedContainer {
96 UiContainer container; 99 UiContainer container;
97 GtkWidget *current_pane; 100 GtkWidget *current_pane;
98 int orientation; 101 int orientation;
99 int max; 102 int max;
100 int cur; 103 int cur;
101 } UiPanedContainer; 104 } UiPanedContainer;
105 */
102 106
103 typedef struct UiTabViewContainer { 107 typedef struct UiTabViewContainer {
104 UiContainer container; 108 UiContainer container;
105 } UiTabViewContainer; 109 } UiTabViewContainer;
110
111 typedef void (*ui_select_tab_func)(UIWIDGET widget, int tab);
112 typedef void (*ui_add_tab_func)(UIWIDGET widget, int index, const char *name, UIWIDGET child);
113
114 typedef struct UiGtkTabView {
115 UiObject *obj;
116 GtkWidget *widget;
117 ui_select_tab_func select_tab;
118 ui_select_tab_func remove_tab;
119 ui_add_tab_func add_tab;
120 UiSubContainerType subcontainer;
121 int margin;
122 int spacing;
123 int columnspacing;
124 int rowspacing;
125 } UiGtkTabView;
126
127 typedef struct UiHeaderbarContainer {
128 UiContainer container;
129 GtkWidget *centerbox;
130 int part;
131 UiHeaderbarAlternative alternative; /* only used by fallback headerbar */
132 } UiHeaderbarContainer;
106 133
107 GtkWidget* ui_gtk_vbox_new(int spacing); 134 GtkWidget* ui_gtk_vbox_new(int spacing);
108 GtkWidget* ui_gtk_hbox_new(int spacing); 135 GtkWidget* ui_gtk_hbox_new(int spacing);
109 136
110 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame); 137 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame);
127 void ui_paned_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill); 154 void ui_paned_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
128 155
129 void ui_split_container_add1(UiContainer *ct, GtkWidget *widget, UiBool fill); 156 void ui_split_container_add1(UiContainer *ct, GtkWidget *widget, UiBool fill);
130 void ui_split_container_add2(UiContainer *ct, GtkWidget *widget, UiBool fill); 157 void ui_split_container_add2(UiContainer *ct, GtkWidget *widget, UiBool fill);
131 158
159 UiGtkTabView* ui_widget_get_tabview_data(UIWIDGET tabview);
132 160
133 UiObject* ui_add_document_tab(UiDocumentView *view); 161 void ui_gtk_notebook_select_tab(GtkWidget *widget, int tab);
134 void ui_tab_set_document(UiContext *ctx, void *document); 162
135 void ui_tab_detach_document(UiContext *ctx); 163 #if GTK_CHECK_VERSION(3, 10, 0)
164 UiContainer* ui_headerbar_container(UiObject *obj, GtkWidget *headerbar);
165 void ui_headerbar_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
166 #endif
167
168 UiContainer* ui_headerbar_fallback_container(UiObject *obj, GtkWidget *headerbar);
169 void ui_headerbar_fallback_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
136 170
137 #ifdef __cplusplus 171 #ifdef __cplusplus
138 } 172 }
139 #endif 173 #endif
140 174

mercurial