VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
setStatePropertiesDialog.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 
13 #if !defined(Q_MOC_RUN)
18 #endif
19 
20 #include <QtWidgets/QCheckBox>
21 #include <QtWidgets/QScrollArea>
22 #include <QtWidgets/QSlider>
23 
24 class QLabel;
25 class QVBoxLayout;
26 class QGridLayout;
27 class QWidget;
28 class QComboBox;
29 class QLineEdit;
31 class QValidator;
32 class DtReaderWriter;
34 
35 namespace makVrf
36 {
39  {
40  Q_OBJECT
41 
42  public:
43  DtPropertySlider(QWidget* p);
44  virtual ~DtPropertySlider();
45 
47  virtual double percent() const;
48 
50  virtual void setPercent(double);
51 
52  virtual void setValue(double);
53  virtual double value() const;
54 
55  virtual void setRange(double lower, double upper);
56 
57  virtual void setValuesArePercentages(bool);
58 
59  protected slots:
60  virtual void sliderChanged();
61  virtual void textChanged();
62 
63  signals:
64  void percentChanged();
65 
66  public:
67  QSlider* slider;
69 
70  protected:
72  };
73 
77  {
78  Q_OBJECT
79 
80  public:
81  //CTOR
82  DtSetStatePropertiesDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
83 
84  //DTOR
85  virtual ~DtSetStatePropertiesDialog();
86 
91  virtual void addProperty(const DtPropertyInterface*, bool merge = false, bool hasStar = false);
92 
94  virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data);
95 
96  virtual void setDefaultPlatformFile(const DtString&);
98  {
99  return myDefaultPlatformFile;
100  }
101 
102  protected:
103  virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
104 
105  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& s);
106 
107  virtual void sendRequest();
108 
109  struct PropertyItem;
110 
112  typedef std::map<DtString, PropertyItem> PropertyItems;
113 
114  virtual void cleanupPropertyItem(PropertyItem&) const;
115 
116  virtual void clearProperties();
117 
119  virtual void markAsReadOnly(PropertyItem&);
120 
124  virtual bool addPropertyItemForDataEntry(PropertyItem&, const DtReaderWriter*, const DtString& pathSoFar, int level,
125  bool updateExistingValue = false, bool recurse = true);
126 
128  virtual int addPropertyItemToDataSheet(PropertyItem&, const DtReaderWriter*, const DtString& pathSoFar, int level);
129 
130  virtual void itemHasBeenUpdated(PropertyItem&, bool);
131 
132  virtual bool hasMoreThanDefaultValueInRegistry(const DtReaderWriter* rw) const;
133 
134  protected slots:
136  virtual void modifyStateProperty();
137  virtual void updateOkButton();
138  virtual void revertValue();
139 
140  protected:
141  virtual bool wantsSpacer() const;
142  virtual void setupStatement(const DtSimStatement*);
143  virtual DtRwProperties modifiedProperties() const;
144  virtual bool modifiedProperties(const PropertyItem&, DtReaderWriter* rw, bool parentItList = false) const;
145  virtual void setupStateProperties(DtSetStateProperties* col);
146 
147  virtual const DtReaderWriter* baseValueFor(const DtString& pathSoFar) const;
148 
150  virtual bool hasValue(const DtRwProperties& props, const DtString& val) const;
151 
153  virtual void extract(std::vector<DtReaderWriter*>& allCounts, const DtString& extractionType, DtReaderWriter* curItem,
154  const DtString& pathSoFar) const;
155 
157  virtual void extractItemsFor(DtReaderWriter*, const DtString& extractionType,
158  const DtString& title, DtRwProperties* container) const;
159 
160  virtual void addDataEntryIfModifiableValue(PropertyItem& item, const DtReaderWriter* rw, const DtString& pathSoFar,
161  int level, bool updateExistingValue, int row);
162 
164  virtual void valueFromWidget(const PropertyItem& item, DtReaderWriter* rw) const;
165 
167  virtual DtString properties() const;
168 
172  virtual bool replace() const;
173 
175  virtual DtString translationModule() const;
176 
178  virtual bool valuesArePercentages(const std::vector<makVrv::DtSimEntry*>& data) const;
179 
182  virtual bool sendValuesAsPercentages() const;
183 
185  virtual bool isValid() const;
186 
187  virtual void checkHasNoItems();
188  virtual bool updateProperty(QObject*, PropertyItems&);
189  virtual bool revertValue(QObject*, PropertyItems&);
190  virtual void revertValue(PropertyItem&);
191  virtual void propertiesUpdated(PropertyItem&);
192 
193  public:
194  QWidget* myCanvas;
195  QVBoxLayout* myMainLayout;
196  QScrollArea* myScrollArea;
198  QGridLayout* myGridLayout;
200 
201  protected:
206 
208  {
209  PropertyItem() : labelLayout(0), label(0), validator(0), modified(false), alwaysUpdate(false), revertButton(0), properties(0), added(false) { widgets.widget = 0; };
210  PropertyItem(const PropertyItem& orig) : label(orig.label), validator(orig.validator), alwaysUpdate(orig.alwaysUpdate),
211  labelLayout(orig.labelLayout), modified(orig.modified), properties(orig.properties), revertButton(orig.revertButton),
212  children(orig.children), added(orig.added) { widgets.widget = orig.widgets.widget; };
213 
214  QHBoxLayout* labelLayout;
217 
218  union Widgets
219  {
220  QWidget* widget;
224  };
225 
227  bool modified;
231  bool added;
233  };
234 
237 
240 
244 
248 
251  std::map<DtString, std::set<DtString> > myIgnorePropertyMapColumns;
252  };
253 }
QLineEdit * lineEdit
Definition: setStatePropertiesDialog.h:221
const DtString & defaultPlatformFile() const
Definition: setStatePropertiesDialog.h:97
QScrollArea * myScrollArea
Definition: setStatePropertiesDialog.h:196
QValidator * validator
Definition: setStatePropertiesDialog.h:216
bool myValuesArePercentages
Definition: setStatePropertiesDialog.h:238
File: setStateProperties.h.
Definition: setStateProperties.h:36
DtString myProperty
Definition: setStatePropertiesDialog.h:236
Definition: baseTaskSetDialogInterface.h:33
QSlider * slider
Definition: setStatePropertiesDialog.h:67
Widgets widgets
Definition: setStatePropertiesDialog.h:226
SpecificRwType * addProperty(DtReaderWriter &properties, const DtString &propertyName)
Adds a property with the specified name to the given set of properties.
bool myValuesAreRanged
Set this value to true in the class constructor to show a slider to set the values bounded by the ran...
Definition: setStatePropertiesDialog.h:243
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
QLabel * label
Definition: setStatePropertiesDialog.h:215
Definition: readerWriter.h:85
PropertyItem()
Definition: setStatePropertiesDialog.h:209
Definition: setStatePropertiesDialog.h:207
DtString myDefaultPlatformFile
If specified, and there is no data because the item that wants to be set does not exist...
Definition: setStatePropertiesDialog.h:204
DtRwProperties myStateProperties
Definition: setStatePropertiesDialog.h:246
Interface class used to define minimal interface for a property.
Definition: propertyInterface.h:48
bool myCreatePropertySlider
Definition: setStatePropertiesDialog.h:239
QGridLayout * myGridLayout
Definition: setStatePropertiesDialog.h:198
QWidget * myScrollAreaCanvas
Definition: setStatePropertiesDialog.h:197
A slider that can be used for property values to set percentages on them when values are entered as p...
Definition: setStatePropertiesDialog.h:38
Definition: setStatePropertiesDialog.h:218
bool myUsingGeneric
Definition: setStatePropertiesDialog.h:205
Contains makVrf::DtBaseTaskSetDialogInterface class.
bool modified
Definition: setStatePropertiesDialog.h:227
This class is the base for setting state properties.
Definition: setStatePropertiesDialog.h:76
bool myIgnoreMaximum
Definition: setStatePropertiesDialog.h:245
QLineEdit * sliderValue
Definition: setStatePropertiesDialog.h:68
bool alwaysUpdate
Definition: setStatePropertiesDialog.h:228
QComboBox * combo
Definition: setStatePropertiesDialog.h:222
bool myValuesArePercentages
Definition: setStatePropertiesDialog.h:71
PropertyItem(const PropertyItem &orig)
Definition: setStatePropertiesDialog.h:210
QLabel * myNoItems
Definition: setStatePropertiesDialog.h:199
std::map< DtString, PropertyItem > PropertyItems
The key is the propertyItem root name.
Definition: setStatePropertiesDialog.h:109
class DtSimStatement:
Definition: simStatement.h:41
DtPropertySlider * propertySlider
Definition: setStatePropertiesDialog.h:223
QPushButton * revertButton
Definition: setStatePropertiesDialog.h:229
QWidget * myCanvas
Definition: setStatePropertiesDialog.h:194
DtPropertyInterface * properties
Definition: setStatePropertiesDialog.h:230
QVBoxLayout * myMainLayout
Definition: setStatePropertiesDialog.h:195
A list of properties.
Definition: rwProperties.h:126
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
PropertyItems myPropertyItems
Definition: setStatePropertiesDialog.h:235
DtRwProperties myParameterData
Definition: setStatePropertiesDialog.h:247
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
QWidget * widget
Definition: setStatePropertiesDialog.h:220
bool added
Definition: setStatePropertiesDialog.h:231
PropertyItems children
Definition: setStatePropertiesDialog.h:232
std::map< DtString, std::set< DtString > > myIgnorePropertyMapColumns
If there are property maps, and you wish to ignore columns in those maps when they are set up...
Definition: setStatePropertiesDialog.h:251

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)