ui/qt/container.cpp

changeset 130
212b63dd61be
parent 110
36f1581b43e2
equal deleted inserted replaced
129:5babf09f5f19 130:212b63dd61be
30 #include "container.h" 30 #include "container.h"
31 31
32 #include <QSpacerItem> 32 #include <QSpacerItem>
33 #include <QStackedWidget> 33 #include <QStackedWidget>
34 34
35
35 /* -------------------- UiBoxContainer -------------------- */ 36 /* -------------------- UiBoxContainer -------------------- */
36 37
37 UiBoxContainer::UiBoxContainer(QBoxLayout* box) { 38 UiBoxContainer::UiBoxContainer(QBoxLayout* box) {
38 this->current = NULL; 39 this->current = NULL;
39 this->menu = NULL; 40 this->menu = NULL;
160 void UiTabViewContainer::add(QWidget* widget, bool fill) { 161 void UiTabViewContainer::add(QWidget* widget, bool fill) {
161 QString str = QString::fromUtf8(layout.label); 162 QString str = QString::fromUtf8(layout.label);
162 tabwidget->addTab(widget, str); 163 tabwidget->addTab(widget, str);
163 } 164 }
164 165
166
167 /* -------------------- UiStackContainer -------------------- */
168
165 UiStackContainer::UiStackContainer(QStackedWidget *stack) { 169 UiStackContainer::UiStackContainer(QStackedWidget *stack) {
166 this->stack = stack; 170 this->stack = stack;
167 } 171 }
168 172
169 void UiStackContainer::add(QWidget* widget, bool fill) { 173 void UiStackContainer::add(QWidget* widget, bool fill) {
194 QStackedWidget *w = (QStackedWidget*)tabview; 198 QStackedWidget *w = (QStackedWidget*)tabview;
195 w->setCurrentIndex(tab); 199 w->setCurrentIndex(tab);
196 } 200 }
197 201
198 202
203 /* -------------------- UiSidebarContainer -------------------- */
204
205 UiSidebarContainer::UiSidebarContainer(QSplitter *splitter) {
206 this->splitter = splitter;
207 }
208
209 UIWIDGET ui_sidebar(UiObject *obj) {
210 QSplitter *splitter = new QSplitter(Qt::Horizontal);
211 UiContainer *ct = uic_get_current_container(obj);
212 ct->add(splitter, true);
213
214 UiObject *left = uic_object_new(obj, splitter);
215 left->container = new UiSidebarContainer(splitter);
216
217 UiObject *right = uic_object_new(obj, splitter);
218 right->container = new UiSidebarContainer(splitter);
219
220 uic_obj_add(obj, right);
221 uic_obj_add(obj, left);
222
223 return splitter;
224 }
225
226 void UiSidebarContainer::add(QWidget *widget, bool fill) {
227 splitter->addWidget(widget);
228 }
229
230
199 /* -------------------- layout functions -------------------- */ 231 /* -------------------- layout functions -------------------- */
200 232
201 void ui_layout_fill(UiObject *obj, UiBool fill) { 233 void ui_layout_fill(UiObject *obj, UiBool fill) {
202 UiContainer *ct = uic_get_current_container(obj); 234 UiContainer *ct = uic_get_current_container(obj);
203 ct->layout.fill = ui_bool2lb(fill); 235 ct->layout.fill = ui_bool2lb(fill);

mercurial