ui/gtk/container.h

changeset 59
eb6611be50c7
parent 52
25e5390cce41
child 65
4697592e24ba
--- a/ui/gtk/container.h	Sat Aug 30 22:48:46 2014 +0200
+++ b/ui/gtk/container.h	Thu Jan 01 11:23:43 2015 +0100
@@ -30,27 +30,53 @@
 #define	CONTAINER_H
 
 #include "../ui/toolkit.h"
+#include <string.h>
 
 #ifdef	__cplusplus
 extern "C" {
 #endif
 
-typedef void (*ui_container_add_f)(UiContainer*, GtkWidget*);
+#define ui_reset_layout(layout) memset(&(layout), 0, sizeof(UiLayout))
+    
+typedef void (*ui_container_add_f)(UiContainer*, GtkWidget*, UiBool);
 
 typedef struct UiDocumentView UiDocumentView;
 
+typedef struct UiLayout UiLayout;
+typedef enum UiLayoutBool UiLayoutBool;
+
+enum UiLayoutBool {
+    UI_LAYOUT_UNDEFINED = 0,
+    UI_LAYOUT_TRUE,
+    UI_LAYOUT_FALSE,
+};
+
+struct UiLayout {
+    UiLayoutBool fill;
+};
+
 struct UiContainer {
     GtkWidget *widget;
-    void (*add)(UiContainer*, GtkWidget*);
+    void (*add)(UiContainer*, GtkWidget*, UiBool);
+    UiLayout layout;
 };
 
+typedef struct UiBoxContainer {
+    UiContainer container;
+    UiBool has_fill;
+} UiBoxContainer;
+
+GtkWidget* ui_gtk_vbox_new();
+GtkWidget* ui_gtk_hbox_new();
+
 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame);
-void ui_frame_container_add(UiContainer *ct, GtkWidget *widget);
+void ui_frame_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
 
-void ui_split_container_add1(UiContainer *ct, GtkWidget *widget);
-void ui_split_container_add2(UiContainer *ct, GtkWidget *widget);
+UiContainer* ui_box_container(UiObject *obj, GtkWidget *box);
+void ui_box_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
 
-void ui_box_add(UiContainer *ct, GtkWidget *widget);
+void ui_split_container_add1(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_split_container_add2(UiContainer *ct, GtkWidget *widget, UiBool fill);
 
 
 UiObject* ui_add_document_tab(UiDocumentView *view);

mercurial