29 #include <QtWidgets/QWidget>
40 class QDesignerFormEditorInterface;
41 class QXmlStreamWriter;
42 class DtScriptedTaskDialog;
46 class DtScriptedTaskVariableLayoutConverter;
51 Q_PROPERTY(qreal top READ top WRITE setTop)
52 Q_PROPERTY(qreal bottom READ bottom WRITE setBottom)
55 DtRange() : myBottom(-100000.), myTop(100000) {};
56 DtRange(
const DtRange& orig) : myBottom(orig.myBottom), myTop(orig.myTop) {};
59 qreal
top()
const {
return myTop; };
60 qreal
bottom()
const {
return myBottom; };
85 virtual bool isValid()
91 virtual void setReadOnly(
bool) = 0;
108 NormalMode = 0x00000000,
109 QtDesignerMode = 0x00000001
119 virtual void setLabel(
const std::string&) = 0;
120 virtual void setLabel(
const QString&) = 0;
123 virtual void setToolTip(
const QString&) = 0;
126 virtual void setTopLineVisible(
bool)
130 virtual bool topLineVisible()
const
136 virtual bool isValid()
const = 0;
142 virtual void setRange(
double bottom,
double top) = 0;
145 virtual void setDefaultValue(
const std::string&) = 0;
149 virtual void setVariableData(
const std::string&) = 0;
152 virtual void setupFrom(
const std::vector<makVrv::DtSimEntry*>& data) = 0;
155 virtual DtReaderWriter* createBoundVariable(
const std::string& variableName) = 0;
158 virtual void setupFromBoundVariable(
const DtReaderWriter* variableName) = 0;
167 virtual bool guiElementOnly()
const
173 static bool canBeUsedAsWidget()
179 virtual void setIndent(
int) = 0;
185 static void initializeForQtDesignerExtension(
makVrv::DtDe& de, QDesignerFormEditorInterface* core)
189 static bool includeInQtDesigner()
196 virtual std::string scriptedTaskVariableName()
const = 0;
209 Q_PROPERTY(QString label READ label WRITE setLabel)
210 Q_PROPERTY(
bool isInternal READ isInternal WRITE setIsInternal)
211 Q_PROPERTY(
int indent READ indent WRITE setIndent)
212 Q_PROPERTY(QString variableData READ variableData WRITE setVariableData DESIGNABLE false)
221 virtual
void setToolTip(const QString&);
225 virtual
void setLabel(const std::
string&);
228 virtual
void setLabel(const QString&);
231 virtual
void setVariableData(const std::
string&);
234 virtual
void setVariableData(const QString&);
235 virtual QString variableData() const;
237 virtual QString label() const;
240 virtual
void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
243 virtual
void setIsInternal(
bool);
244 virtual
bool isInternal() const;
247 virtual
void setTopLineVisible(
bool);
248 virtual
bool topLineVisible() const;
251 virtual
void createTopLine();
255 virtual
void setIndent(
int);
256 virtual
int indent() const;
259 virtual
bool isValid() const;
262 virtual
void setTopLabelChecked(
bool);
263 virtual
bool topLabelChecked() const;
266 virtual
void setRange(
double,
double)
270 virtual void setRange(
const DtRange&);
271 virtual void setRangeTop(
double);
272 virtual void setRangeTop(
int);
273 virtual double rangeTop()
const;
275 virtual void setRangeBottom(
double);
276 virtual void setRangeBottom(
int);
277 virtual double rangeBottom()
const;
279 virtual const DtRange& getRange()
const;
283 virtual void setTopLabelIsCheckable(
bool);
284 virtual bool topLabelIsCheckable()
const;
285 virtual void getDefaultSpecificTitles(QString& defaultTitle, QString& specificTitle)
const;
286 virtual void setDefaultSpecificTitles(
const QString& defaultTitle,
const QString& specificTitle);
289 virtual void setupDefaultSpecificFromVariableData(
const DtString& var);
293 static bool includeInQtDesigner()
300 virtual std::string scriptedTaskVariableName()
const;
306 void validityUpdated();
309 virtual void topLabelCheckStateChanged();
351 virtual std::string className()
const = 0;
353 virtual bool canBeUsedAsWidget()
const = 0;
359 virtual std::string designerIcon()
const
361 return "../data/images/icons/Simulate_FrontEnd_Icon.ico";
365 virtual std::string designerGroup()
const = 0;
368 virtual std::string headerFile()
const = 0;
371 virtual std::string variableName()
const = 0;
374 virtual bool includeInDesigner()
const = 0;
378 virtual void initializeForQtDesignerExtension(
makVrv::DtDe& de, QDesignerFormEditorInterface* core) = 0;
383 template <
typename _Class>
396 return new _Class(de, parent, flags, cflags);
406 return _Class::staticMetaObject.className();
431 return _Class::includeInQtDesigner();