VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rangeEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <boost/signals2.hpp>
15 
19 
20 class QLineEdit;
21 class QDoubleValidator;
22 class QHBoxLayout;
23 
24 namespace makVrf
25 {
28  {
29  Q_OBJECT
30 
31  public:
32  DtRangeEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
33 
34  //DTOR
35  virtual ~DtRangeEntryWidget();
36 
39  virtual void setLabel(const QString&);
40  virtual QString label() const;
41 
46  virtual void setRange(double bottom, double top);
47 
49  virtual void setDefaultValue(const std::string&);
51 
54  virtual void setDefaultValue(double d);
55 
57  virtual double range() const;
58 
60  virtual void setRange(double);
61 
63  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
64 
66  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
67 
70  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags = 0) const;
71 
73  virtual void setChangeWithDisplaySettings(bool);
74  virtual void setDisplayUnits(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits units);
75 
77  {
78  return makVrv::DtUnicode::tr("Real Unit: meters");
79  }
80 
81  boost::signals2::signal<void ()> signal_changed;
82 
85  virtual void refreshLabels();
86 
87  static std::string designerGroup()
88  {
89  return tr("VR-Forces Entity Manipulation").toUtf8().constData();
90  }
91 
92  static std::string headerFile()
93  {
94  return tr("<vrfGuiDataEntryWidgets/rangeEntryWidget.h>").toUtf8().constData();
95  }
96 
97  static std::string variableName()
98  {
99  return tr("range").toUtf8().constData();
100  }
101 
102  protected:
103 
107  virtual void slot_onUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int from, int old);
108 
111  virtual void slot_displayUnitDecimalsChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type);
112 
114  virtual void selectionChanged(const std::set<makVrv::DtUniqueID>& oldSelection);
115 
117  virtual void updateDecimalsDisplay();
118 
119  virtual double convertDistanceUnitNativeToDisplay(double d) const;
120  virtual double convertDistanceUnitDisplayToNative(double d, const makVrv::DtSelectionManager::IdSet& idSet = makVrv::DtSelectionManager::IdSet()) const;
121  virtual std::string convertDistanceUnitNativeToDisplayString(double d) const;
122 
123  protected slots:
124  virtual void onRangeChanged();
125 
126  protected:
127  QString myLabelText;
130  };
131 
135  {
136  Q_OBJECT
137 
138  public:
139  DtRangeEntryVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
141 
142  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow);
143  virtual void setTo(DtScriptedTaskVariable&) const;
144 
145  virtual void setReadOnly(bool);
146 
147  public:
154  };
155 
157 }
static std::string variableName()
Definition: rangeEntryWidget.h:97
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Simple line text entry widget that will allow the user to enter a range value.
Definition: rangeEntryWidget.h:27
QLineEdit * myInitializeFromStateProperty
Definition: rangeEntryWidget.h:151
CreationFlags
Definition: taskSetVariableWidget.h:119
DtRangeEntryWidget * myRangeTop
Definition: rangeEntryWidget.h:153
static makVrv::DtUnicode codeVariableType()
Definition: rangeEntryWidget.h:76
Contains makVrv:DtSelectionManager class.
Definition: readerWriter.h:85
boost::signals2::signal< void()> signal_changed
Definition: rangeEntryWidget.h:81
Contains the DtUnitConverterCollection class declaration.
DtRangeEntryWidget * myRangeBottom
Definition: rangeEntryWidget.h:152
Extension widget which simply contains three Range variable widgets to allow for reuse of existing cl...
Definition: rangeEntryWidget.h:134
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits myDistanceUnits
Definition: rangeEntryWidget.h:128
Definition: simpleVariableWidget.h:316
bool myChangeWithDisplaySettings
Definition: rangeEntryWidget.h:129
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
QCheckBox * myInitializeFromStatePropertyEnabled
Definition: rangeEntryWidget.h:149
DtTaskSetVariableWidgetCreator< DtRangeEntryWidget > DtRangeEntryWidgetCreator
Definition: rangeEntryWidget.h:156
Definition: taskSetVariableWidget.h:426
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
static std::string designerGroup()
Definition: rangeEntryWidget.h:87
DtRangeEntryWidget * myDefaultValue
Definition: rangeEntryWidget.h:148
QLabel * myInitializeFromStatePropertyLabel
Definition: rangeEntryWidget.h:150
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
static std::string headerFile()
Definition: rangeEntryWidget.h:92
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:84
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
QString myLabelText
Definition: rangeEntryWidget.h:127

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)