VR-Forces 4.1 Class Documentation
uiLayoutElement.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2007 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: uiLayoutElement.h,v $ $Revision: 1.10 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DTUILAYOUTELEMENT_H_
13 #define DTUILAYOUTELEMENT_H_
14 
16 #include "vrfutil/rwList.h"
17 #include "vrfutil/rwBoolean.h"
18 
19 #include <QtCore/QPoint>
20 
21 class QLayout;
22 
23 static const char* DtUiLayoutElementType = "DtUiLayoutElement";
24 
26 
28 {
29 public:
32  (
33  const DtString& name,
34  DtReaderWriterRegistry* const parentRegistry = NULL
35  );
36 
38  virtual ~DtLayoutElement();
39 
41  DtLayoutElement(const DtLayoutElement& orig);
42 
45 
46  virtual void addSpacing();
47 
48  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
49  const DtVariableBindingsList& variableBindings);
50 
51  void setTitle(const DtString& s) { myTitle = s; };
52  const DtString& title() const { return myTitle; };
53 
54  virtual QWidget* createLabelWidget(QWidget* parent) {return 0;}
55 
59  virtual void addWidget(DtUiElement*, QWidget* label, QWidget* control, QWidget* parent) = 0;
60 
64  virtual QWidget* joinLabelAndControl(QWidget* label, QWidget* control, QWidget* parent);
65 
66 protected:
68  QLayout* myLayout;
70 };
71 
73 {
74 public:
77  (
78  const DtString& name,
79  DtReaderWriterRegistry* const parentRegistry = NULL
80  );
81 
83  virtual ~DtGridLayoutElement();
84 
87 
90 
91 public:
92  virtual QWidget* createControls(QWidget*);
93  virtual void addWidget(DtUiElement*, QWidget* label, QWidget* control, QWidget* parent);
94  virtual void addSpacing();
95 
96 protected:
97  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
98  const DtVariableBindingsList& variableBindings);
99 
100  virtual DtUiElement* clone();
101 
102 protected:
105 };
106 
108 {
109 public:
112  (
113  const DtString& name,
114  DtReaderWriterRegistry* const parentRegistry = NULL
115  );
116 
118  virtual ~DtHorizontalLayoutElement();
119 
122 
125 
126  virtual void addSpacing();
127 
128 protected:
129  virtual QWidget* createControls(QWidget*);
130  virtual void addWidget(DtUiElement*, QWidget* label, QWidget* control, QWidget* parent);
131 
132 protected:
133  virtual DtUiElement* clone();
134 };
135 
137 {
138 public:
141  (
142  const DtString& name,
143  DtReaderWriterRegistry* const parentRegistry = NULL
144  );
145 
147  virtual ~DtVerticalLayoutElement();
148 
151 
154 
155  virtual void addSpacing();
156 
157 protected:
158  virtual QWidget* createControls(QWidget*);
159  virtual void addWidget(DtUiElement*, QWidget* label, QWidget* control, QWidget* parent);
160 
161 protected:
162  virtual DtUiElement* clone();
163 };
164 
166 {
167  Q_OBJECT
168 
169 public:
171 
172 signals:
173  void uiEvent(const DtUiElementEvent&);
174 
175 protected slots:
176  virtual void sendEvent(const DtUiElementEvent& e) { emit uiEvent(e); };
177 };
178 
180 {
181 public:
182 
185 
187  parentRegistry = NULL);
188 
190  virtual ~DtLayoutContainer();
191 
194  DtReaderWriterRegistry* parentRegistry = NULL);
195 
198 
199  virtual QWidget* createControls(QWidget* parent);
200 
201  const DtString& objectName() const { return myObjectName; };
202  virtual void setFromParameters(DtReaderWriter* parentRw);
203  virtual void addElementChangedCallback(DtElementChangedCallbackFcn f, void* u);
204  virtual void removeElementChangedCallback(DtElementChangedCallbackFcn f, void* u);
205  virtual bool isModified() const;
206  virtual void objectParametersModified();
207  virtual void processUiEvent(const DtUiElementEvent&);
208  static void subelementChangedCallback(DtUiElement* element, void* usr);
209 
211  virtual void removeAllCallbacks();
212  virtual void setModelModified(DtModelSetEntry* m);
213  virtual void uiState(QMap<QString, QVariant>& state) const;
214  virtual void setUiState(const QMap<QString, QVariant>&);
215 
216  DtUiLayoutSignalHandler* signalHandler() { return &mySignalHandler; };
217 
218 protected:
221  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
222  const DtVariableBindingsList& variableBindings);
223  virtual void emptyList();
224  virtual void copyList(const DtLayoutContainer& orig);
225 
226  virtual void processSubelementChanged(DtUiElement* element);
227 
228 protected:
237 };
238 
240 {
241 public:
242 
245  (
246  const DtString& name,
247  DtReaderWriterRegistry* const parentRegistry = NULL
248  );
249 
251  virtual ~DtUiLayoutElement();
252 
255 
258 
259 public:
260  virtual DtUiElement* clone();
261  virtual void merge(DtUiElement*);
262  virtual const DtString& objectName() const;
263 
264  virtual QWidget* createLabelWidget(QWidget* parent) {return 0;}
265 
267  virtual void removeAllCallbacks();
268  virtual void uiState(QMap<QString, QVariant>& state) const;
269  virtual void setUiState(const QMap<QString, QVariant>&);
270 
271 protected:
272  virtual const char* readerWriterType() const;
273  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
274  const DtVariableBindingsList& variableBindings);
275 
276  virtual QWidget* createControls(QWidget* parent);
277  virtual void mergeInto(DtUiForParameter*);
278  virtual DtUiElement* elementNamed(const DtString& s);
279  virtual bool mergeInto(const DtString& readerWriterName, bool after, DtUiElement* element);
280  virtual void setFromParameters(DtReaderWriter* parentRw);
283  virtual bool isModified() const;
284  virtual void objectParametersModified() {myLayoutContainer.objectParametersModified();};
285  virtual void processUiEvent(const DtUiElementEvent& e) { myLayoutContainer.processUiEvent(e); };
286  virtual void setModelModified(DtModelSetEntry* m);
287 
288 protected:
290 };
291 
293 {
294 public:
295 
298  (
299  const DtString& name,
300  DtReaderWriterRegistry* const parentRegistry = NULL
301  );
302 
304  virtual ~DtUiAddToLayoutElement();
305 
308 
311 
312 protected:
313  virtual DtUiElement* clone();
314  virtual void mergeInto(DtUiForParameter*);
315 };
316 
318 {
319 public:
320 
323  (
324  const DtString& name,
325  DtReaderWriterRegistry* const parentRegistry = NULL
326  );
327 
329  virtual ~DtUiAddItemElement();
330 
333 
336 
337 protected:
338  virtual DtUiElement* clone();
339  virtual void mergeInto(DtUiForParameter*);
340  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
341  const DtVariableBindingsList& variableBindings);
342 
343 protected:
346 };
347 
348 #endif

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)