gwenhywfar  4.6.0beta
w_combobox.cpp
Go to the documentation of this file.
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 
15 public:
17  }
18 
19 
20 
22  }
23 
24 
25 
26  virtual int setup() {
27  QComboBox *qw;
28  uint32_t flags;
29  GWEN_WIDGET *wParent;
30  QSizePolicy::Policy hpolicy=QSizePolicy::Minimum;
31  QSizePolicy::Policy vpolicy=QSizePolicy::Minimum;
32  QT4_GuiDialog *qtDialog;
33 
35  wParent=GWEN_Widget_Tree_GetParent(_widget);
36 
37  qw=new QComboBox();
38 
39  /* handle flags */
40  if (flags & GWEN_WIDGET_FLAGS_FILLX)
41  hpolicy=QSizePolicy::Expanding;
42  if (flags & GWEN_WIDGET_FLAGS_FILLY)
43  vpolicy=QSizePolicy::Expanding;
44  qw->setSizePolicy(hpolicy, vpolicy);
45  qw->setEditable((flags & GWEN_WIDGET_FLAGS_READONLY)?false:true);
46 
48 
49  qtDialog=dynamic_cast<QT4_GuiDialog*>(getDialog());
50  assert(qtDialog);
51 
52  qw->connect(qw, SIGNAL(activated(int)),
53  qtDialog->getMainWindow(),
54  SLOT(slotActivated()));
55 
56 
57  if (wParent)
59  return 0;
60  }
61 
62 
63 
65  int index,
66  int value,
67  int doSignal) {
68  QComboBox *qw;
69 
71  assert(qw);
72 
73  switch(prop) {
75  qw->setCurrentIndex(value);
76  return 0;
77 
79  qw->clear();
80  return 0;
81 
82  default:
83  return Qt4_W_Widget::setIntProperty(prop, index, value, doSignal);
84  }
85  };
86 
87 
88 
90  int index,
91  int defaultValue) {
92  QComboBox *qw;
93 
95  assert(qw);
96 
97  switch(prop) {
99  return qw->currentIndex();
100 
102  return qw->count();
103 
104  default:
105  return Qt4_W_Widget::getIntProperty(prop, index, defaultValue);
106  }
107  };
108 
109 
110 
112  int index,
113  const char *value,
114  int doSignal) {
115  QComboBox *qw;
116  QString text;
117 
119  assert(qw);
120 
121  if (value)
122  text=QString::fromUtf8(value);
123 
124  switch(prop) {
126  // undefined
127  break;
128 
130  qw->addItem(text);
131  return 0;
132 
134  qw->clear();
135  return 0;
136  default:
137  break;
138  }
139 
141  "Function is not appropriate for this type of widget (%s)",
143  return GWEN_ERROR_INVALID;
144  };
145 
146 
147 
149  int index,
150  const char *defaultValue) {
151  QComboBox *qw;
152  QString str;
153 
155  assert(qw);
156 
157  switch(prop) {
159  str=qw->itemText(index);
160  if (str.isEmpty())
161  return defaultValue;
162  else {
165  }
166  break;
167 
168  default:
169  break;
170  }
171 
173  "Function is not appropriate for this type of widget (%s)",
175  return defaultValue;
176  };
177 
178 };
179 
180 
181 
182 
183 
184 
185