1 /*************************************************************************** 2 begin : Mon Feb 15 2010 3 copyright : (C) 2010 by Martin Preuss 4 email : martin@libchipcard.de 5 6 *************************************************************************** 7 * Please see toplevel file COPYING for license details * 8 ***************************************************************************/ 9 10 11 #include <gwen-gui-cpp/cppwidget.hpp> 12 13 14 class Qt5_W_VLayout: public Qt5_W_Widget { 15 public: Qt5_W_VLayout(GWEN_WIDGET * w)16 Qt5_W_VLayout(GWEN_WIDGET *w):Qt5_W_Widget(w) { 17 } 18 19 20 ~Qt5_W_VLayout()21 ~Qt5_W_VLayout() { 22 } 23 24 25 setup()26 virtual int setup() { 27 QWidget *qw; 28 uint32_t flags; 29 GWEN_WIDGET *wParent; 30 QLayout *qLayout; 31 QSizePolicy::Policy hpolicy=QSizePolicy::Minimum; 32 QSizePolicy::Policy vpolicy=QSizePolicy::Minimum; 33 34 flags=GWEN_Widget_GetFlags(_widget); 35 wParent=GWEN_Widget_Tree_GetParent(_widget); 36 37 qw=new QWidget(); 38 qLayout=new QVBoxLayout(qw); 39 40 /* handle flags */ 41 if (flags & GWEN_WIDGET_FLAGS_FILLX) 42 hpolicy=QSizePolicy::Expanding; 43 if (flags & GWEN_WIDGET_FLAGS_FILLY) 44 vpolicy=QSizePolicy::Expanding; 45 qw->setSizePolicy(hpolicy, vpolicy); 46 47 48 GWEN_Widget_SetImplData(_widget, QT5_DIALOG_WIDGET_REAL, (void*) qw); 49 GWEN_Widget_SetImplData(_widget, QT5_DIALOG_WIDGET_LAYOUT, (void*) qLayout); 50 51 if (wParent) 52 GWEN_Widget_AddChildGuiWidget(wParent, _widget); 53 return 0; 54 } 55 56 57 addChildGuiWidget(GWEN_WIDGET * wChild)58 int addChildGuiWidget(GWEN_WIDGET *wChild) { 59 QWidget *qw; 60 QBoxLayout *qLayout; 61 QWidget *qChild; 62 63 qw=(QWidget*) GWEN_Widget_GetImplData(_widget, QT5_DIALOG_WIDGET_REAL); 64 assert(qw); 65 66 qLayout=(QBoxLayout*) GWEN_Widget_GetImplData(_widget, QT5_DIALOG_WIDGET_LAYOUT); 67 assert(qLayout); 68 69 qChild=getQWidget(wChild); 70 assert(qChild); 71 72 qChild->setParent(qw); 73 qLayout->addWidget(qChild); 74 75 return 0; 76 }; 77 78 }; 79 80 81 82 83 84 85 86