VR-Forces 4.7 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 
16 #include <QtWidgets/QCheckBox>
17 #include <QtWidgets/QScrollArea>
18 #include <QtWidgets/QSlider>
20 
21 class QLabel;
22 class QVBoxLayout;
23 class QGridLayout;
24 class QWidget;
25 class QComboBox;
26 class QLineEdit;
28 class QValidator;
29 class DtReaderWriter;
31 
32 namespace makVrf
33 {
35  class DT_DLL_VRFGUICOREQT DtPropertySlider : public QWidget
36  {
37  Q_OBJECT
38 
39  public:
40  DtPropertySlider(QWidget* p);
41  virtual ~DtPropertySlider();
42 
44  virtual double percent() const;
45 
47  virtual void setPercent(double);
48 
49  virtual void setValue(double);
50  virtual double value() const;
51 
52  virtual void setRange(double lower, double upper);
53 
54  virtual void setValuesArePercentages(bool);
55 
56  protected slots:
57  virtual void sliderChanged();
58  virtual void textChanged();
59 
60  signals:
61  void percentChanged();
62 
63  public:
64  QSlider* slider;
66 
67  protected:
69  };
70 
74  {
75  Q_OBJECT
76 
77  public:
78  //CTOR
79  DtSetStatePropertiesDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
80 
81  //DTOR
82  virtual ~DtSetStatePropertiesDialog();
83 
88  virtual void addProperty(const DtPropertyInterface*, bool merge = false, bool hasStar = false);
89 
91  virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data);
92 
93  virtual void setDefaultPlatformFile(const DtString&);
94  const DtString& defaultPlatformFile() const
95  {
96  return myDefaultPlatformFile;
97  }
98 
99  protected:
100  virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
101 
102  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& s);
103 
104  virtual void sendRequest();
105 
106  struct PropertyItem;
107 
109  typedef std::map<DtString, PropertyItem> PropertyItems;
110 
111  virtual void cleanupPropertyItem(PropertyItem&) const;
112 
113  virtual void clearProperties();
114 
116  virtual void markAsReadOnly(PropertyItem&);
117 
121  virtual bool addPropertyItemForDataEntry(PropertyItem&, const DtReaderWriter*, const DtString& pathSoFar, int level,
122  bool updateExistingValue = false, bool recurse = true);
123 
125  virtual int addPropertyItemToDataSheet(PropertyItem&, const DtReaderWriter*, const DtString& pathSoFar, int level);
126 
127  virtual void itemHasBeenUpdated(PropertyItem&, bool);
128 
129  virtual bool hasMoreThanDefaultValueInRegistry(const DtReaderWriter* rw) const;
130 
131  protected slots:
133  virtual void modifyStateProperty();
134  virtual void updateOkButton();
135  virtual void revertValue();
136 
137  protected:
138  virtual bool wantsSpacer() const;
139  virtual void setupStatement(const DtSimStatement*);
140  virtual DtRwProperties modifiedProperties() const;
141  virtual bool modifiedProperties(const PropertyItem&, DtReaderWriter* rw, bool parentItList = false) const;
142  virtual void setupStateProperties(DtSetStateProperties* col);
143 
144  virtual const DtReaderWriter* baseValueFor(const DtString& pathSoFar) const;
145 
147  virtual bool hasValue(const DtRwProperties& props, const DtString& val) const;
148 
150  virtual void extract(std::vector<DtReaderWriter*>& allCounts, const DtString& extractionType, DtReaderWriter* curItem,
151  const DtString& pathSoFar) const;
152 
154  virtual void extractItemsFor(DtReaderWriter*, const DtString& extractionType,
155  const DtString& title, DtRwProperties* container) const;
156 
157  virtual void addDataEntryIfModifiableValue(PropertyItem& item, const DtReaderWriter* rw, const DtString& pathSoFar,
158  int level, bool updateExistingValue, int row);
159 
161  virtual void valueFromWidget(const PropertyItem& item, DtReaderWriter* rw) const;
162 
164  virtual DtString properties() const;
165 
169  virtual bool replace() const;
170 
172  virtual DtString translationModule() const;
173 
175  virtual bool valuesArePercentages(const std::vector<makVrv::DtSimEntry*>& data) const;
176 
179  virtual bool sendValuesAsPercentages() const;
180 
182  virtual bool isValid() const;
183 
184  virtual void checkHasNoItems();
185  virtual bool updateProperty(QObject*, PropertyItems&);
186  virtual bool revertValue(QObject*, PropertyItems&);
187  virtual void revertValue(PropertyItem&);
188  virtual void propertiesUpdated(PropertyItem&);
189 
190  public:
191  QWidget* myCanvas;
192  QVBoxLayout* myMainLayout;
193  QScrollArea* myScrollArea;
195  QGridLayout* myGridLayout;
197 
198  protected:
203 
205  {
206  PropertyItem() : labelLayout(0), label(0), validator(0), modified(false), alwaysUpdate(false), revertButton(0), properties(0), added(false) { widgets.widget = 0; };
207  PropertyItem(const PropertyItem& orig) : label(orig.label), validator(orig.validator), alwaysUpdate(orig.alwaysUpdate),
208  labelLayout(orig.labelLayout), modified(orig.modified), properties(orig.properties), revertButton(orig.revertButton),
209  children(orig.children), added(orig.added) { widgets.widget = orig.widgets.widget; };
210 
211  QHBoxLayout* labelLayout;
214 
215  union Widgets
216  {
217  QWidget* widget;
221  };
222 
224  bool modified;
228  bool added;
230  };
231 
234 
237 
241 
245 
248  std::map<DtString, std::set<DtString> > myIgnorePropertyMapColumns;
249  };
250 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)