diff -r 2b124f8ebd95 -r eb6611be50c7 ui/gtk/container.h --- 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 #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);