VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
taskSetVariableWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
16 #include <vrvCore/DtDe.h>
17 #include <vrvCore/DtSimEntry.h>
19 
21 #include <QtGui/QWidget>
22 
23 class QSpacerItem;
24 class QVBoxLayout;
25 class QLabel;
26 class QFrame;
27 class QGridLayout;
28 class QHBoxLayout;
29 class DtReaderWriter;
30 class QRadioButton;
31 
32 namespace makVrf
33 {
37  {
38  public:
39  DtTaskSetVariableWidgetExtensionInterface(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
41 
44  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow) = 0;
45 
47  virtual void setTo(DtScriptedTaskVariable&) const = 0;
48 
50  virtual bool isValid()
51  {
52  return true;
53  }
54 
56  virtual void setReadOnly(bool) = 0;
57 
58  protected:
60  };
61 
69  {
70  public:
72 
73  //DTOR
75 
78  virtual void setLabel(const std::string&) = 0;
79 
81  virtual void setToolTip(const QString&) = 0;
82 
84  virtual void setTopLineVisible(bool)
85  {
86  }
87 
88  virtual bool topLineVisible() const
89  {
90  return false;
91  }
92 
94  virtual bool isValid() const = 0;
95 
100  virtual void setRange(double bottom, double top) = 0;
101 
103  virtual void setDefaultValue(const std::string&) = 0;
104 
107  virtual void setVariableData(const std::string&) = 0;
108 
110  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data) = 0;
111 
113  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) = 0;
114 
116  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) = 0;
117 
119  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const
120  {
121  return 0;
122  }
123 
125  virtual bool guiElementOnly() const
126  {
127  return false;
128  }
129 
131  virtual void setIndent(int) = 0;
132 
134  };
135 
138  {
139  Q_OBJECT
140 
141  public:
142  DtTaskSetVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
143 
144  //DTOR
145  virtual ~DtTaskSetVariableWidget();
146 
148  virtual void setToolTip(const QString&);
149 
152  virtual void setLabel(const std::string&);
153 
155  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
156 
158  virtual void setTopLineVisible(bool);
159  virtual bool topLineVisible() const;
160 
162  virtual void createTopLine();
163 
166  virtual void setIndent(int);
167 
169  virtual bool isValid() const;
170 
172  virtual void setTopLabelChecked(bool);
173  virtual bool topLabelChecked() const;
174 
177  virtual void setTopLabelIsCheckable(bool);
178  virtual bool topLabelIsCheckable() const;
179  virtual void getDefaultSpecificTitles(QString& defaultTitle, QString& specificTitle) const;
180  virtual void setDefaultSpecificTitles(const QString& defaultTitle, const QString& specificTitle);
181 
183  virtual void setupDefaultSpecificFromVariableData(const DtString& var);
184 
185  boost::signal<void (bool)> signal_topLevelCheckStateChanged;
186 
187  signals:
188 
191  void validityUpdated();
192 
193  protected slots:
194  virtual void topLabelCheckStateChanged();
195 
196  protected:
200 
201  public:
203  QHBoxLayout* mySpacedLayout;
204 
210  QRadioButton* myUseDefault;
211  QRadioButton* myUseSpecific;
212  QSpacerItem* myTopSeparator;
213  QHBoxLayout* myTopLineLayout;
214  QSpacerItem* mySpacerItem;
215  };
216 
218 
220  {
221  public:
223  {
224  };
225 
226  virtual DtTaskSetVariableWidgetInterface* create(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0) = 0;
227 
228  virtual makVrv::DtUnicode codeVariableType() const = 0;
229  };
230 
231  template <typename _Class>
233  {
234  public:
236 
238  {
239  };
240 
241  virtual DtTaskSetVariableWidgetInterface* create(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0)
242  {
243  return new _Class(de, parent, flags);
244  }
245 
247  {
248  return _Class::codeVariableType();
249  }
250  };
251 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)