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