diff -r f72c4f01bf4a -r bd9fb6476b80 ui/qt/container.cpp --- a/ui/qt/container.cpp Wed Jan 07 20:11:36 2015 +0100 +++ b/ui/qt/container.cpp Fri Jan 09 14:33:40 2015 +0100 @@ -30,6 +30,7 @@ #include "container.h" #include +#include /* -------------------- UiBoxContainer -------------------- */ @@ -121,6 +122,51 @@ ui_reset_layout(layout); } + +/* -------------------- UiTabViewContainer -------------------- */ + +UiTabViewContainer::UiTabViewContainer(QTabWidget* tabwidget) { + this->tabwidget = tabwidget; +} + +void UiTabViewContainer::add(QWidget* widget, bool fill) { + QString str = QString::fromUtf8(layout.label); + tabwidget->addTab(widget, str); +} + +UiStackContainer::UiStackContainer(QStackedWidget *stack) { + this->stack = stack; +} + +void UiStackContainer::add(QWidget* widget, bool fill) { + stack->addWidget(widget); +} + +UIWIDGET ui_tabview(UiObject *obj) { + QStackedWidget *tabwidget = new QStackedWidget(); + + UiContainer *ct = uic_get_current_container(obj); + ct->add(tabwidget, true); + + UiObject *tabviewobj = uic_object_new(obj, tabwidget); + tabviewobj->container = new UiStackContainer(tabwidget); + uic_obj_add(obj, tabviewobj); + + return tabwidget; +} + +void ui_tab(UiObject *obj, char *title) { + UiContainer *ct = uic_get_current_container(obj); + ct->layout.label = title; + ui_vbox(obj); +} + +void ui_select_tab(UIWIDGET tabview, int tab) { + QStackedWidget *w = (QStackedWidget*)tabview; + w->setCurrentIndex(tab); +} + + UIWIDGET ui_grid(UiObject *obj) { UiContainer *ct = uic_get_current_container(obj); QWidget *widget = new QWidget();