--- a/ui/qt/container.cpp Sat Sep 17 19:57:55 2016 +0200 +++ b/ui/qt/container.cpp Sun Sep 18 07:45:42 2016 +0200 @@ -32,6 +32,7 @@ #include <QSpacerItem> #include <QStackedWidget> + /* -------------------- UiBoxContainer -------------------- */ UiBoxContainer::UiBoxContainer(QBoxLayout* box) { @@ -162,6 +163,9 @@ tabwidget->addTab(widget, str); } + +/* -------------------- UiStackContainer -------------------- */ + UiStackContainer::UiStackContainer(QStackedWidget *stack) { this->stack = stack; } @@ -196,6 +200,34 @@ } +/* -------------------- UiSidebarContainer -------------------- */ + +UiSidebarContainer::UiSidebarContainer(QSplitter *splitter) { + this->splitter = splitter; +} + +UIWIDGET ui_sidebar(UiObject *obj) { + QSplitter *splitter = new QSplitter(Qt::Horizontal); + UiContainer *ct = uic_get_current_container(obj); + ct->add(splitter, true); + + UiObject *left = uic_object_new(obj, splitter); + left->container = new UiSidebarContainer(splitter); + + UiObject *right = uic_object_new(obj, splitter); + right->container = new UiSidebarContainer(splitter); + + uic_obj_add(obj, right); + uic_obj_add(obj, left); + + return splitter; +} + +void UiSidebarContainer::add(QWidget *widget, bool fill) { + splitter->addWidget(widget); +} + + /* -------------------- layout functions -------------------- */ void ui_layout_fill(UiObject *obj, UiBool fill) {