ui/qt/container.cpp

changeset 109
c3dfcb8f0be7
parent 108
77254bd6dccb
child 112
c3f2f16fa4b8
equal deleted inserted replaced
108:77254bd6dccb 109:c3dfcb8f0be7
33 #include <cx/mempool.h> 33 #include <cx/mempool.h>
34 34
35 #include <QSpacerItem> 35 #include <QSpacerItem>
36 #include <QStackedWidget> 36 #include <QStackedWidget>
37 #include <QLabel> 37 #include <QLabel>
38 #include <QDockWidget>
38 39
39 static void delete_container(UiContainerPrivate *ct) { 40 static void delete_container(UiContainerPrivate *ct) {
40 delete ct; 41 delete ct;
41 } 42 }
42 43
226 grid->setRowStretch(y, 1); 227 grid->setRowStretch(y, 1);
227 grid->addItem(filler, y, 0, 1, 1, 0); 228 grid->addItem(filler, y, 0, 1, 1, 0);
228 } 229 }
229 } 230 }
230 231
231 UIEXPORT UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs *args) { 232 UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs *args) {
232 UiContainerPrivate *ctn = (UiContainerPrivate*)ui_obj_container(obj); 233 UiContainerPrivate *ctn = (UiContainerPrivate*)ui_obj_container(obj);
233 UI_APPLY_LAYOUT(ctn->layout, args); 234 UI_APPLY_LAYOUT(ctn->layout, args);
234 235
235 QWidget *widget = new QWidget(); 236 QWidget *widget = new QWidget();
236 QGridLayout *grid = new QGridLayout(); 237 QGridLayout *grid = new QGridLayout();
249 250
250 return widget; 251 return widget;
251 } 252 }
252 253
253 254
255 /* ---------------------------- UiSidebar ---------------------------- */
256
257 UIWIDGET ui_sidebar_create(UiObject *obj, UiSidebarArgs *args) {
258 QVariant v = obj->widget->property("ui_sidebar");
259 QDockWidget *dock = (QDockWidget*)v.value<void*>();
260 if(!dock) {
261 fprintf(stderr, "Error: window is not configured for sidebar\n");
262 return nullptr;
263 }
264
265 QWidget *widget = new QWidget();
266 QBoxLayout *box = new QBoxLayout(QBoxLayout::TopToBottom);
267 widget->setLayout(box);
268 dock->setWidget(widget);
269
270 ui_container_add(obj, new UiBoxContainer(box));
271
272 return dock;
273 }
254 274
255 /* -------------------- Container Helper Functions -------------------- */ 275 /* -------------------- Container Helper Functions -------------------- */
256 276
257 void ui_container_begin_close(UiObject *obj) { 277 void ui_container_begin_close(UiObject *obj) {
258 obj->container_end->close = true; 278 obj->container_end->close = true;

mercurial