VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpleVariableWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
15 #include <QtWidgets/QWidget>
16 #include <QtCore/QVariant>
17 #include <QtGui/QValidator>
18 
19 #include <QtDesigner/QExtensionFactory>
20 #include <QtDesigner/QDesignerTaskMenuExtension>
21 
22 class QLabel;
23 class QHBoxLayout;
24 class QLineEdit;
25 class QComboBox;
26 class QCheckBox;
27 class QRadioButton;
28 class QGridLayout;
29 class QPushButton;
30 class QFrame;
31 class QSpacerItem;
32 class QAbstractButton;
33 class QButtonGroup;
34 class QIntValidator;
35 class QToolButton;
36 
37 namespace makVrf
38 {
39  class DtScriptedTaskEntityTypeDataWidget;
40 
47  {
48  Q_OBJECT
49 
50  public:
51  DtSimpleVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
52 
53  //DTOR
54  virtual ~DtSimpleVariableWidget();
55 
57  virtual void setLabel(const std::string&);
58 
60  virtual void setDefaultValue(const std::string&);
61 
63  virtual void setLabel(const QString&);
64 
65  virtual QString label() const;
66 
67  virtual QString text() const;
68 
69  virtual void setShowWarningLabel(bool b);
70  virtual bool showWarningLabel() const
71  {
72  return myShowWarningLabel;
73  }
74 
75  virtual void setEntryInvalid(bool b);
76  virtual bool isValid() const override;
77 
79  virtual bool checkValidity(const QString&);
80 
81  boost::signals2::signal<void(bool)> signal_validityChanged;
82 
83  public slots:
84  virtual void setText(const QString&);
85  virtual void validateTextByEdit(const QString&);
86  virtual void validateTextByChange(const QString&);
87 
88  signals:
89  void textChanged(const QString&);
90  void textEdited(const QString&);
91 
92  public:
93  QHBoxLayout* myLayout;
94  QHBoxLayout* myValueLayout;
97  QWidget* myValueCanvas;
99 
100  protected:
101  bool myShowWarningLabel = true;
102  bool myEntryInvalid = false;
103  };
104 
108  {
109  Q_OBJECT
110 
111  public:
112  DtSimpleSeparatorWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
113 
114  //DTOR
115  virtual ~DtSimpleSeparatorWidget();
116 
118  virtual void setVariableData(const std::string&)
119  {
120  }
121 
123  virtual void setDefaultValue(const std::string&)
124  {
125  }
126 
128  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data)
129  {
130  }
131 
133  virtual void setRange(double, double)
134  {
135  }
136 
138  virtual DtReaderWriter* createBoundVariable(const std::string&)
139  {
140  return 0;
141  }
142 
145  {
146  }
147 
149  virtual bool guiElementOnly() const
150  {
151  return true;
152  }
153 
155  virtual bool isValid() const
156  {
157  return true;
158  }
159 
161  {
162  return makVrv::DtUnicode::tr("Separator");
163  }
164 
165  static std::string designerGroup()
166  {
167  return tr("VR-Forces Data Entry").toUtf8().constData();
168  }
169 
170  static std::string headerFile()
171  {
172  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
173  }
174 
175  static std::string variableName()
176  {
177  return tr("separator").toUtf8().constData();
178  }
179 
180  public:
182  };
183 
187  {
188  Q_OBJECT
189  public:
190  DtSimpleVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
192 
193  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
194  virtual void setTo(DtScriptedTaskVariable&) const;
195 
197  virtual bool isValid();
198 
200  virtual void setAllowVariableDataEntry(bool);
202  {
203  return myAllowVariableDataEntry;
204  }
205 
206  virtual void setReadOnly(bool);
207 
208  public slots:
209 
211  virtual void processInitializeFromStatePropertyStateChange(int state);
212 
213  public:
219 
223 
228 
229  protected:
231  };
232 
236  {
237  public:
238  DtSimpleIntegerVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
240 
241  protected:
242  QIntValidator myValidator;
243  };
244 
247  {
248  Q_OBJECT
249  Q_PROPERTY(int rangeTop READ rangeTop WRITE setRangeTop)
250  Q_PROPERTY(int rangeBottom READ rangeBottom WRITE setRangeBottom)
251  Q_PROPERTY(int defaultValue READ defaultValue WRITE setDefaultValue)
252 
253  public:
254  DtSimpleIntegerVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
255 
256  //DTOR
258 
259  virtual void setRange(double bottom, double top);
260 
262  virtual void setDefaultValue(const std::string&) override;
263 
265  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
266 
268  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
269 
270  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
271 
272  static makVrv::DtUnicode codeVariableType()
273  {
274  return makVrv::DtUnicode::tr("Integer");
275  }
276 
277  static std::string designerGroup()
278  {
279  return tr("VR-Forces Data Entry").toUtf8().constData();
280  }
281 
282  static std::string headerFile()
283  {
284  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
285  }
286 
287  static std::string variableName()
288  {
289  return tr("integerValue").toUtf8().constData();
290  }
291 
292  virtual void setDefaultValue(int);
293  virtual int defaultValue() const;
294  virtual int value() const;
295  virtual bool checkValidity(const QString&) override;
296 
297  public slots:
298  virtual void setValue(int);
299 
300  protected:
301  QIntValidator* myValidator;
302  };
303 
307  {
308  public:
309  DtSimpleDoubleVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
311 
312  protected:
313  QDoubleValidator myValidator;
314  };
315 
317  {
318  Q_OBJECT
319  Q_PROPERTY(qreal rangeTop READ rangeTop WRITE setRangeTop)
320  Q_PROPERTY(qreal rangeBottom READ rangeBottom WRITE setRangeBottom)
321  Q_PROPERTY(qreal defaultValue READ defaultValue WRITE setDefaultValue)
322 
323  public:
324  DtSimpleDoubleVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
325 
326  //DTOR
327  virtual ~DtSimpleDoubleVariableWidget();
328 
329  virtual void setRange(double bottom, double top);
330  virtual void setDecimals(int);
331 
333  virtual void setDefaultValue(const std::string&) override;
334 
336  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
337 
339  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
340 
341  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
342 
343  static makVrv::DtUnicode codeVariableType()
344  {
345  return makVrv::DtUnicode::tr("Real");
346  }
347 
348  static std::string designerGroup()
349  {
350  return tr("VR-Forces Data Entry").toUtf8().constData();
351  }
352 
353  static std::string headerFile()
354  {
355  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
356  }
357 
358  static std::string variableName()
359  {
360  return tr("doubleValue").toUtf8().constData();
361  }
362 
363  virtual void setDefaultValue(double);
364  virtual double defaultValue() const;
365  virtual double value() const;
366  virtual bool checkValidity(const QString&) override;
367 
368  public slots:
369  virtual void setValue(double);
370  virtual void setValue(int);
371 
372  virtual void editingFinished();
373 
374  protected:
375  virtual void updateDecimalsDisplay();
376  protected:
377  QDoubleValidator* myValidator;
378  };
379 
382  {
383  public:
384  DtSimpleStringVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
386  };
387 
389  {
390  Q_OBJECT
391  Q_PROPERTY(QString defaultValue READ defaultValue WRITE setDefaultValue)
392 
393  public:
394  DtSimpleStringVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
395 
396  //DTOR
397  virtual ~DtSimpleStringVariableWidget();
398 
399  virtual void setRange(double bottom, double top);
400 
402  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
403 
405  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
406 
407  virtual void setDefaultValue(const QString&);
408  virtual QString defaultValue() const;
409  virtual QString value() const;
410 
411  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
412 
414  {
415  return makVrv::DtUnicode::tr("String");
416  }
417 
418  static std::string designerGroup()
419  {
420  return tr("VR-Forces Data Entry").toUtf8().constData();
421  }
422 
423  static std::string headerFile()
424  {
425  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
426  }
427 
428  static std::string variableName()
429  {
430  return tr("stringValue").toUtf8().constData();
431  }
432  };
433 
436  {
437  Q_OBJECT
438  Q_PROPERTY(QString defaultValue READ defaultValue WRITE setDefaultValue)
439 
440  public:
441  DtSimpleEntityTypeVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
442 
443  //DTOR
445 
447  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
448 
450  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
451 
452  virtual void setDefaultValue(const std::string& s);
453  virtual void setDefaultValue(const QString& s);
454  virtual QString defaultValue() const;
455 
457  {
458  return makVrv::DtUnicode::tr("String Entity Type");
459  }
460 
461  static std::string designerGroup()
462  {
463  return tr("VR-Forces Data Entry").toUtf8().constData();
464  }
465 
466  static std::string headerFile()
467  {
468  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
469  }
470 
471  static std::string variableName()
472  {
473  return tr("entityType").toUtf8().constData();
474  }
475 
477  static void initializeForQtDesignerExtension(makVrv::DtDe&, QDesignerFormEditorInterface*);
478 
479  protected slots:
480  virtual void onSelectEntityType();
481  };
482 
485  {
486  Q_OBJECT
487 
488  public:
489  explicit DtSimpleEntityTypeVariableWidgetMenuFactory(makVrv::DtDe&, QExtensionManager *parent = 0);
490 
491  protected:
492  QObject *createExtension(QObject *object, const QString &iid, QObject *parent) const;
493 
494  protected:
496  };
497 
499  {
500  Q_OBJECT
501  Q_INTERFACES(QDesignerTaskMenuExtension)
502 
503  public:
505 
506  virtual QAction *preferredEditAction() const;
507  virtual QList<QAction *> taskActions() const;
508 
509  protected slots:
510  virtual void editState();
511 
512  protected:
516  };
517 
520  {
521  Q_OBJECT
522 
523  public:
524  DtSimpleEntityTypesVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
525 
526  //DTOR
528 
530  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
531 
533  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
534 
536  virtual void setDefaultValue(const std::string& s);
537 
539  virtual void setLabel(const QString&);
540 
542  {
543  return makVrv::DtUnicode::tr("String List of Entity Types");
544  }
545 
546  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags) const;
547 
548  virtual void setToolTip(const QString&);
549 
550  static std::string designerGroup()
551  {
552  return tr("VR-Forces Data Entry").toUtf8().constData();
553  }
554 
555  static std::string headerFile()
556  {
557  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
558  }
559 
560  static std::string variableName()
561  {
562  return tr("entityTypes").toUtf8().constData();
563  }
564 
565  protected:
567  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data)
568  {
569  }
570 
572  virtual void setRange(double, double) {};
573  public:
574  DtScriptedTaskEntityTypeDataWidget* myEntityTypes;
575  };
576 
579  {
580  Q_OBJECT
581  Q_PROPERTY(QString defaultValue READ defaultValue WRITE setDefaultValue)
582 
583  public:
584  DtFilenameVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
585 
586  //DTOR
587  virtual ~DtFilenameVariableWidget();
588 
590  {
591  return makVrv::DtUnicode::tr("String Filename");
592  }
593 
594  static std::string designerGroup()
595  {
596  return tr("VR-Forces Data Entry").toUtf8().constData();
597  }
598 
599  static std::string headerFile()
600  {
601  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
602  }
603 
604  static std::string variableName()
605  {
606  return tr("filename").toUtf8().constData();
607  }
608 
609  protected slots:
610  virtual void onBrowseFilename();
611  };
612 
616  {
617  Q_OBJECT
618 
619  public:
620  DtSimpleComboVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
622 
623  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
624  virtual void setTo(DtScriptedTaskVariable&) const;
625 
626  virtual void setReadOnly(bool);
627 
629  virtual bool initialValueIsDefaultValue() const;
630 
631  protected slots:
632  virtual void onAdd();
633  virtual void onUpdate();
634  virtual void onDelete();
635 
636  protected:
637  virtual void addValues(const DtScriptedTaskVariable&);
638 
639  signals:
640  void activated(int);
641 
642  public:
651  };
652 
655  {
656  Q_OBJECT
657 
658  Q_PROPERTY(QStringList values READ values WRITE setValues)
659  Q_PROPERTY(int defaultIndex READ defaultIndex WRITE setDefaultIndex)
660  Q_PROPERTY(int invalidIfSelected READ invalidIfSelected WRITE setInvalidIfSelected)
661 
662  public:
663  DtSimpleComboVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
664 
665  //DTOR
666  virtual ~DtSimpleComboVariableWidget();
667 
669  virtual void setLabel(const QString&);
670  virtual QString label() const;
671 
673  virtual void setDefaultValue(const std::string&);
674 
677  virtual void setVariableData(const QString&);
678 
680  virtual void setRange(double bottom, double top);
681 
683  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
684 
686  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
687 
688  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
689 
690  static makVrv::DtUnicode codeVariableType()
691  {
692 
693  return makVrv::DtUnicode::tr("Integer (0 - choice limit)");
694  }
695 
696  virtual int currentIndex() const;
697  virtual void setCurrentIndex(int index);
698 
699  virtual void addItem(const QString&, const QVariant& data = QVariant());
700 
701  virtual QStringList values() const;
702  virtual void setValues(const QStringList&);
703 
704  virtual void setDefaultIndex(int);
705  virtual int defaultIndex() const;
706 
708  virtual void setInvalidIfSelected(int);
709  virtual int invalidIfSelected() const;
710 
711  static std::string designerGroup()
712  {
713  return tr("VR-Forces Data Entry").toUtf8().constData();
714  }
715 
716  static std::string headerFile()
717  {
718  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
719  }
720 
721  static std::string variableName()
722  {
723  return tr("comboValue").toUtf8().constData();
724  }
725 
727  virtual bool isValid() const;
728 
729  protected:
730  virtual std::string variableDataFromUiDesigner(const QDomElement& elem, const DtScriptedTaskVariableLayoutConverter& converter) const;
731  virtual bool isValidItemToAddToCombo(const QString& s) const;
732 
733  public:
734  QHBoxLayout* myLayout;
737  QString myDefaultValue;
738 
739  protected:
740  QStringList myValues;
743  };
744 
748  {
749  Q_OBJECT
750 
751  public:
752  DtSimpleImageComboVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
754 
755  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
756  virtual void setTo(DtScriptedTaskVariable&) const;
757 
758  virtual void setReadOnly(bool);
759 
760  virtual void setValues(const QStringList& values);
761  virtual QStringList values() const;
762 
763  protected:
764  virtual void onAdd();
765  virtual void onUpdate();
766  virtual bool selectImageName(const std::string&, QString& outputName) const;
767 
768  virtual QPixmap imageFromPath(const std::string&) const;
769 
770  protected slots:
771  virtual void iconSizeChanged();
772  virtual void clearImageLocation();
773  virtual void selectImageLocation();
774  virtual void dlgImageLocationChanged();
775 
776  protected:
777  virtual void addValues(const DtScriptedTaskVariable&);
778 
779  public:
782  };
783 
786  {
787  Q_OBJECT
788 
789  Q_PROPERTY(int iconSize READ iconSize WRITE setIconSize)
790 
791  public:
792  DtSimpleImageComboVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
793 
794  //DTOR
796 
799  virtual void setVariableData(const std::string&);
800 
801  virtual void addItem(const QString&, const QVariant& data = QVariant());
802 
803  virtual void setIconSize(int);
804  virtual int iconSize() const;
805  virtual void setValues(const QStringList& s);
806 
808  static void initializeForQtDesignerExtension(makVrv::DtDe&, QDesignerFormEditorInterface*);
809 
811  {
812  return makVrv::DtUnicode::tr("Integer (0 - choice limit)");
813  }
814 
815  static std::string designerGroup()
816  {
817  return tr("VR-Forces Data Entry").toUtf8().constData();
818  }
819 
820  static std::string headerFile()
821  {
822  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
823  }
824 
825  static std::string variableName()
826  {
827  return tr("imageComboValue").toUtf8().constData();
828  }
829 
830  protected:
831  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
832  virtual QPixmap imageFromPath(const std::string&) const;
833  virtual std::string variableDataFromUiDesigner(const QDomElement& elem, const DtScriptedTaskVariableLayoutConverter& converter) const;
834  virtual bool isValidItemToAddToCombo(const QString& s) const;
835 
836  protected:
838  };
839 
842  {
843  Q_OBJECT
844 
845  public:
846  explicit DtSimpleImageComboVariableWidgetMenuFactory(makVrv::DtDe&, QExtensionManager *parent = 0);
847 
848  protected:
849  QObject *createExtension(QObject *object, const QString &iid, QObject *parent) const;
850 
851  protected:
853  };
854 
856  {
857  Q_OBJECT
858  Q_INTERFACES(QDesignerTaskMenuExtension)
859 
860  public:
862 
863  virtual QAction *preferredEditAction() const;
864  virtual QList<QAction *> taskActions() const;
865 
866  protected slots:
867  virtual void editState();
868 
869  protected:
873  };
874 
877  {
878  public:
879  DtSimpleCheckBoxVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
881 
882  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
883  virtual void setTo(DtScriptedTaskVariable&) const;
884 
885  virtual void setReadOnly(bool);
886 
887  public:
893  };
894 
897  {
898  Q_OBJECT
899 
900  public:
901  DtSimpleCheckBoxVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
902 
903  //DTOR
905 
907  virtual void setLabel(const QString&);
908  virtual QString label() const;
909 
911  virtual void setDefaultValue(const std::string&);
912 
914  virtual void setRange(double bottom, double top);
915 
916  virtual bool checked() const;
917 
918  virtual void setChecked(bool checked);
919 
921  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
922 
924  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
925 
926  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
927 
929  {
930  return makVrv::DtUnicode::tr("Bool (on/off)");
931  }
932 
933  static std::string designerGroup()
934  {
935  return tr("VR-Forces Data Entry").toUtf8().constData();
936  }
937 
938  static std::string headerFile()
939  {
940  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
941  }
942 
943  static std::string variableName()
944  {
945  return tr("checkValue").toUtf8().constData();
946  }
947 
948  protected:
949  virtual void widgetInitializedForDialog(DtScriptedTaskDialog*, const std::vector<makVrv::DtSimEntry*>& data);
950 
951  signals:
952  void toggled(bool);
953  void clicked(bool);
954 
955  public:
957  };
958 
962  {
963  Q_OBJECT
964 
965  public:
966  DtSimpleSingleRadioButtonVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
968 
969  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
970  virtual void setTo(DtScriptedTaskVariable&) const;
971 
972  virtual void setReadOnly(bool);
973 
974  protected:
976 
977  public:
979  };
980 
984  {
985  Q_OBJECT
986 
987  public:
988  DtSimpleRadioButtonVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
990 
991  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
992  virtual void setTo(DtScriptedTaskVariable&) const;
993 
994  virtual void setReadOnly(bool);
995 
996  protected:
997  virtual void onAdd();
998  virtual void onDelete();
999 
1000  protected:
1002 
1003  public:
1006  QIntValidator* myValidator;
1007  };
1008 
1011  {
1012  Q_OBJECT
1013  Q_PROPERTY(QStringList values READ values WRITE setValues)
1014 
1015  public:
1016  DtSimpleRadioButtonVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
1017 
1018  //DTOR
1020 
1022  virtual void setDefaultValue(const std::string&);
1023 
1026  virtual void setVariableData(const QString&);
1027 
1029  virtual void setRange(double bottom, double top);
1030 
1032  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
1033 
1035  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
1036 
1037  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
1038 
1039  virtual QStringList values() const;
1040  virtual void setValues(const QStringList&);
1041 
1042  virtual void setDefaultIndex(int);
1043  virtual int defaultIndex() const;
1044 
1046  {
1047  return makVrv::DtUnicode::tr("Integer (0 - choice limit)");
1048  }
1049 
1050  static std::string designerGroup()
1051  {
1052  return tr("VR-Forces Data Entry").toUtf8().constData();
1053  }
1054 
1055  static std::string headerFile()
1056  {
1057  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
1058  }
1059 
1060  static std::string variableName()
1061  {
1062  return tr("radioValue").toUtf8().constData();
1063  }
1064 
1065  protected:
1066  virtual std::string variableDataFromUiDesigner(const QDomElement& elem, const DtScriptedTaskVariableLayoutConverter& converter) const;
1067 
1069  virtual void widgetInitializedForDialog(DtScriptedTaskDialog*, const std::vector<makVrv::DtSimEntry*>& data);
1070  virtual void changeToggleState();
1071 
1072  protected slots:
1073  virtual void onButtonToggled(QAbstractButton*, bool);
1074  virtual void onButtonToggled(int, bool);
1075 
1076  signals:
1077  void buttonToggled(QAbstractButton*, bool);
1078  void buttonToggled(int, bool);
1079 
1081  void toggled(bool);
1082 
1083  protected:
1085  QStringList myValues;
1087 
1088  public:
1089  std::vector<QRadioButton*> myRadioButtons;
1090  QVBoxLayout* myRadioButtonLayout;
1091  QButtonGroup* myButtonGroup;
1092  };
1093 
1096  {
1097  Q_OBJECT
1098  Q_PROPERTY(bool isDefault READ isDefault WRITE setIsDefault)
1099  Q_PROPERTY(QString buttonGroup READ buttonGroup WRITE setButtonGroup)
1100 
1101  public:
1102  DtSimpleSingleRadioButtonVariableWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
1103 
1104  //DTOR
1106 
1109  virtual void setVariableData(const QString&);
1110 
1112  virtual void setRange(double bottom, double top);
1113 
1115  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
1116 
1118  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
1119 
1120  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
1121 
1123  virtual void setButtonGroup(const QString&);
1124  virtual QString buttonGroup() const;
1125 
1127  virtual std::string scriptedTaskVariableName() const;
1128 
1130  virtual void setDefaultValue(const std::string&)
1131  {
1132  }
1133 
1135  {
1136  return makVrv::DtUnicode::tr("Integer (0 - choice limit)");
1137  }
1138 
1139  static std::string designerGroup()
1140  {
1141  return tr("VR-Forces Data Entry").toUtf8().constData();
1142  }
1143 
1144  static std::string headerFile()
1145  {
1146  return tr("<vrfGuiDataEntryWidgets/simpleVariableWidget.h>").toUtf8().constData();
1147  }
1148 
1149  static std::string variableName()
1150  {
1151  return tr("singleRadioValue").toUtf8().constData();
1152  }
1153 
1154  virtual bool isDefault() const;
1155  virtual void setIsDefault(bool);
1156 
1158  virtual void setLabel(const std::string&);
1159 
1161  virtual void setLabel(const QString&);
1162 
1163  virtual QString label() const;
1164 
1165  protected:
1166  virtual std::string variableDataFromUiDesigner(const QDomElement& elem, const DtScriptedTaskVariableLayoutConverter& converter) const;
1167 
1169  virtual void widgetInitializedForDialog(DtScriptedTaskDialog*, const std::vector<makVrv::DtSimEntry*>& data);
1170 
1171  signals:
1173  void toggled(bool);
1174 
1175  protected slots:
1176  virtual void buttonToggled(QAbstractButton*, bool);
1177  virtual void buttonToggled(int, bool);
1178 
1179  protected:
1182 
1183  public:
1184  QRadioButton* myRadioButton;
1186  };
1187 
1200 }
QVBoxLayout * myRadioButtonLayout
Definition: simpleVariableWidget.h:1090
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:160
QLineEdit * myRangeTop
Definition: simpleVariableWidget.h:227
DtTaskSetVariableWidgetCreator< DtSimpleComboVariableWidget > DtSimpleComboVariableWidgetCreator
Definition: simpleVariableWidget.h:1194
bool myReadOnly
Definition: simpleVariableWidget.h:975
QLabel * myRangeTopLabel
Definition: simpleVariableWidget.h:226
QLineEdit * myDefaultValue
Definition: simpleVariableWidget.h:215
static std::string headerFile()
Definition: simpleVariableWidget.h:170
static std::string headerFile()
Definition: simpleVariableWidget.h:353
static std::string designerGroup()
Definition: simpleVariableWidget.h:277
Adds control that allows the user to select multiple entity types.
Definition: simpleVariableWidget.h:519
DtTaskSetVariableWidgetCreator< DtSimpleStringVariableWidget > DtSimpleStringVariableWidgetCreator
Definition: simpleVariableWidget.h:1188
static std::string variableName()
Definition: simpleVariableWidget.h:943
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
bool myIsDefault
Definition: simpleVariableWidget.h:1180
Definition: scriptedTaskEntityTypeDataWidget.h:20
QDoubleValidator * myValidator
Definition: simpleVariableWidget.h:377
static std::string variableName()
Definition: simpleVariableWidget.h:560
QLineEdit * myDefault
Definition: simpleVariableWidget.h:1005
virtual void setupFrom(const std::vector< makVrv::DtSimEntry * > &data)
Sets up widget with currently selected item. Since this is a GUI only element this is not implemented...
Definition: simpleVariableWidget.h:128
static std::string designerGroup()
Definition: simpleVariableWidget.h:815
static std::string headerFile()
Definition: simpleVariableWidget.h:423
CreationFlags
Definition: taskSetVariableWidget.h:119
QLabel * myDefaultLabel
Definition: simpleVariableWidget.h:888
int myInvalidIfSelected
Definition: simpleVariableWidget.h:742
Simple check box extension that will allow the user to decide if default for check is on or off...
Definition: simpleVariableWidget.h:876
Simple radio box extension that will allow the user to add items and to select the default value in t...
Definition: simpleVariableWidget.h:961
DtTaskSetVariableWidgetCreator< DtSimpleEntityTypeVariableWidget > DtSimpleEntityTypeVariableWidgetCreator
Definition: simpleVariableWidget.h:1192
static std::string headerFile()
Definition: simpleVariableWidget.h:555
static std::string designerGroup()
Definition: simpleVariableWidget.h:550
QComboBox * myValues
Definition: simpleVariableWidget.h:889
boost::signals2::signal< void(bool)> signal_validityChanged
Definition: simpleVariableWidget.h:81
static std::string designerGroup()
Definition: simpleVariableWidget.h:933
QLineEdit * myInitializeFromStateProperty
Definition: simpleVariableWidget.h:892
QLineEdit * myValue
Definition: simpleVariableWidget.h:96
static std::string variableName()
Definition: simpleVariableWidget.h:604
DtSimpleEntityTypeVariableWidget * myWidget
Definition: simpleVariableWidget.h:514
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:541
makVrv::DtDe & myDe
Definition: simpleVariableWidget.h:852
QIntValidator myValidator
Definition: simpleVariableWidget.h:242
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
QLabel * myVariableDataLabel
Initially hidden. Show to allow control to set.
Definition: simpleVariableWidget.h:221
static std::string designerGroup()
Definition: simpleVariableWidget.h:461
std::vector< QRadioButton * > myRadioButtons
Definition: simpleVariableWidget.h:1089
QStringList myValues
Definition: simpleVariableWidget.h:1085
QCheckBox * myInitializeFromStatePropertyEnabled
Definition: simpleVariableWidget.h:645
QHBoxLayout * myValueLayout
Definition: simpleVariableWidget.h:94
makVrv::DtDe & myDe
Definition: simpleVariableWidget.h:495
static std::string headerFile()
Definition: simpleVariableWidget.h:1144
Definition: readerWriter.h:85
QLabel * myLabel
Definition: simpleVariableWidget.h:735
Adds a button that allows user to select entity type.
Definition: simpleVariableWidget.h:435
bool myIsToggled
Definition: simpleVariableWidget.h:1086
QComboBox * myValues
Definition: simpleVariableWidget.h:644
This class is a simple check box item.
Definition: simpleVariableWidget.h:896
QCheckBox * myIsDefault
Definition: simpleVariableWidget.h:978
QLineEdit * myInitializeFromStateProperty
Definition: simpleVariableWidget.h:647
bool allowVariableDataEntry() const
Definition: simpleVariableWidget.h:201
static std::string designerGroup()
Definition: simpleVariableWidget.h:711
QString myButtonGroupName
Definition: simpleVariableWidget.h:1181
Simple separator widget. Label and horizontal line. This widget will have no reader/writer network pr...
Definition: simpleVariableWidget.h:107
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:1045
QLabel * myInitializeFromStatePropertyLabel
Definition: simpleVariableWidget.h:891
QLabel * myInitializeFromStatePropertyLabel
Definition: simpleVariableWidget.h:217
Simple combo box extension that will allow the user to add items and to select the default value in t...
Definition: simpleVariableWidget.h:615
QRadioButton * myRadioButton
Definition: simpleVariableWidget.h:1184
static std::string headerFile()
Definition: simpleVariableWidget.h:716
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:456
int myDefaultIndex
Definition: simpleVariableWidget.h:1084
This class will created a dialog from scripted task meta data and send that information to the back-e...
Definition: scriptedTaskDialog.h:60
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:928
Simple integer variable widget extension. Subclassed from general extension to supply integer validat...
Definition: simpleVariableWidget.h:235
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:413
Simple integer container.
Definition: simpleVariableWidget.h:246
Definition: simpleVariableWidget.h:316
QHBoxLayout * myLayout
Definition: simpleVariableWidget.h:93
QLineEdit * myIconSize
Definition: simpleVariableWidget.h:781
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:233
int myIconSize
Definition: simpleVariableWidget.h:837
static std::string headerFile()
Definition: simpleVariableWidget.h:820
QDoubleValidator myValidator
Definition: simpleVariableWidget.h:313
static std::string variableName()
Definition: simpleVariableWidget.h:358
virtual bool showWarningLabel() const
Definition: simpleVariableWidget.h:70
static std::string headerFile()
Definition: simpleVariableWidget.h:1055
static std::string variableName()
Definition: simpleVariableWidget.h:287
QButtonGroup * myParentWidgetSharedButtonGroup
Definition: simpleVariableWidget.h:1185
QHBoxLayout * myLayout
Definition: simpleVariableWidget.h:734
QIntValidator * myValidator
Definition: simpleVariableWidget.h:301
virtual bool isValid() const
Indicates the current selection is valid.
Definition: simpleVariableWidget.h:155
QAction * myEditStateAction
Definition: simpleVariableWidget.h:870
static std::string designerGroup()
Definition: simpleVariableWidget.h:165
DtTaskSetVariableWidgetCreator< DtSimpleSingleRadioButtonVariableWidget > DtSimpleSingleRadioButtonVariableWidgetCreator
Definition: simpleVariableWidget.h:1198
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools. This will simply call ...
Definition: DtUnicode.h:92
These classes will define simple data entry widgets that can be used in scripted (or other) tasks...
Definition: simpleVariableWidget.h:46
QLineEdit * myInitializeFromStateProperty
Definition: simpleVariableWidget.h:218
QLabel * myIconSizeLabel
Definition: simpleVariableWidget.h:780
Definition: taskSetVariableWidget.h:426
Simple string variable widget extension. Hides top/bottom items as they are not needed.
Definition: simpleVariableWidget.h:381
QToolButton * myUpdate
Definition: simpleVariableWidget.h:650
static std::string headerFile()
Definition: simpleVariableWidget.h:282
Qt designer extensions.
Definition: simpleVariableWidget.h:841
DtTaskSetVariableWidgetCreator< DtSimpleSeparatorWidget > DtSimpleSeparatorWidgetCreator
Definition: simpleVariableWidget.h:1199
QLineEdit * myRangeBottom
Definition: simpleVariableWidget.h:225
static std::string variableName()
Definition: simpleVariableWidget.h:471
static std::string variableName()
Definition: simpleVariableWidget.h:175
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
virtual void setRange(double, double)
Sets the range of the item. This widget does not support that.
Definition: simpleVariableWidget.h:133
QComboBox * myValue
Definition: simpleVariableWidget.h:736
QLabel * myDefaultIndexLabel
Definition: simpleVariableWidget.h:1004
static std::string variableName()
Definition: simpleVariableWidget.h:428
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
DtTaskSetVariableWidgetCreator< DtSimpleIntegerVariableWidget > DtSimpleIntegerVariableWidgetCreator
Definition: simpleVariableWidget.h:1190
QLabel * myRangeBottomLabel
Definition: simpleVariableWidget.h:224
QWidget * myValueCanvas
Definition: simpleVariableWidget.h:97
QLabel * myLabel
Definition: simpleVariableWidget.h:643
Simple combo box extension that will allow the user to add items and to select the default value in t...
Definition: simpleVariableWidget.h:747
static std::string designerGroup()
Definition: simpleVariableWidget.h:1050
DtSimpleImageComboVariableWidget * myWidget
Definition: simpleVariableWidget.h:871
DtTaskSetVariableWidgetCreator< DtSimpleRadioButtonVariableWidget > DtSimpleRadioButtonVariableWidgetCreator
Definition: simpleVariableWidget.h:1197
virtual DtReaderWriter * createBoundVariable(const std::string &)
Creates the bound variable. Since this is a GUI only element, not implemented.
Definition: simpleVariableWidget.h:138
QLabel * myWarningLabel
Definition: simpleVariableWidget.h:98
static std::string variableName()
Definition: simpleVariableWidget.h:825
QStringList myValues
Definition: simpleVariableWidget.h:740
bool myAllowVariableDataEntry
Definition: simpleVariableWidget.h:230
QFrame * mySeparator
Definition: simpleVariableWidget.h:181
QLineEdit * myVariableData
Definition: simpleVariableWidget.h:222
static std::string variableName()
Definition: simpleVariableWidget.h:1060
virtual void setupFromBoundVariable(const DtReaderWriter *)
Sets up from bound variable. Since this is a GUI only element, not implemented.
Definition: simpleVariableWidget.h:144
virtual bool guiElementOnly() const
This is a GUI element only.
Definition: simpleVariableWidget.h:149
static std::string designerGroup()
Definition: simpleVariableWidget.h:594
int myDefaultIndex
Definition: simpleVariableWidget.h:741
DtTaskSetVariableWidgetCreator< DtSimpleEntityTypesVariableWidget > DtSimpleEntityTypesVariableWidgetCreator
Definition: simpleVariableWidget.h:1193
QToolButton * myAdd
Definition: simpleVariableWidget.h:648
static std::string designerGroup()
Definition: simpleVariableWidget.h:1139
DtTaskSetVariableWidgetCreator< DtSimpleCheckBoxVariableWidget > DtSimpleCheckBoxVariableWidgetCreator
Definition: simpleVariableWidget.h:1196
QButtonGroup * myButtonGroup
Definition: simpleVariableWidget.h:1091
This class is a container for radio buttons defined by the variable data.
Definition: simpleVariableWidget.h:1010
QLabel * myLabel
Definition: simpleVariableWidget.h:95
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:1134
Qt designer extensions.
Definition: simpleVariableWidget.h:484
Adds a button that allows user to browse for a file.
Definition: simpleVariableWidget.h:578
Definition: simpleVariableWidget.h:855
QCheckBox * myInitializeFromStatePropertyEnabled
Definition: simpleVariableWidget.h:216
DtTaskSetVariableWidgetCreator< DtSimpleImageComboVariableWidget > DtSimpleImageComboVariableWidgetCreator
Definition: simpleVariableWidget.h:1195
static std::string variableName()
Definition: simpleVariableWidget.h:721
QCheckBox * myInitializeFromStatePropertyEnabled
Definition: simpleVariableWidget.h:890
DtTaskSetVariableWidgetCreator< DtSimpleDoubleVariableWidget > DtSimpleDoubleVariableWidgetCreator
Definition: simpleVariableWidget.h:1191
Definition: simpleVariableWidget.h:498
makVrv::DtDe & myDe
Definition: simpleVariableWidget.h:515
virtual void setRange(double, double)
Unimplemented.
Definition: simpleVariableWidget.h:572
Definition: translator.h:58
This class is a simple image combo box that will use the variable data (values separated by ;) to add...
Definition: simpleVariableWidget.h:785
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Simple radio box extension that will allow the user to add items and to select the default value in t...
Definition: simpleVariableWidget.h:983
Simple double variable widget extension. Subclassed from general extension to supply double validator...
Definition: simpleVariableWidget.h:306
QCheckBox * myValue
Definition: simpleVariableWidget.h:956
DtTaskSetVariableWidgetCreator< DtFilenameVariableWidget > DtFilenameVariableWidgetCreator
Definition: simpleVariableWidget.h:1189
Simple general extension widget that provides a default value and range. Subclasses can supply additi...
Definition: simpleVariableWidget.h:186
makVrv::DtDe & myDe
Definition: simpleVariableWidget.h:872
virtual void setVariableData(const std::string &)
No-op.
Definition: simpleVariableWidget.h:118
bool myReadOnly
Definition: simpleVariableWidget.h:1001
static std::string headerFile()
Definition: simpleVariableWidget.h:466
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:810
QIntValidator * myValidator
Definition: simpleVariableWidget.h:1006
static std::string headerFile()
Definition: simpleVariableWidget.h:599
virtual void setDefaultValue(const std::string &)
Default value to set in control.
Definition: simpleVariableWidget.h:123
QString myDefaultValue
Definition: simpleVariableWidget.h:737
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:84
QAction * myEditStateAction
Definition: simpleVariableWidget.h:513
virtual void setupFrom(const std::vector< makVrv::DtSimEntry * > &data)
Sets up widget with currently selected item. Since this is a GUI only element this is not implemented...
Definition: simpleVariableWidget.h:567
QLabel * myDefaultValueLabel
Definition: simpleVariableWidget.h:214
static std::string headerFile()
Definition: simpleVariableWidget.h:938
Definition: simpleVariableWidget.h:388
static std::string designerGroup()
Definition: simpleVariableWidget.h:348
QToolButton * myDelete
Definition: simpleVariableWidget.h:649
static std::string designerGroup()
Definition: simpleVariableWidget.h:418
static std::string variableName()
Definition: simpleVariableWidget.h:1149
static makVrv::DtUnicode codeVariableType()
Definition: simpleVariableWidget.h:589
This class is a container for radio buttons defined by the variable data.
Definition: simpleVariableWidget.h:1095
QLabel * myInitializeFromStatePropertyLabel
Definition: simpleVariableWidget.h:646
This class is a simple combo box that will use the variable data (values separated by ;) to add entri...
Definition: simpleVariableWidget.h:654

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)