VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptedTaskVariable.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/vrfutilDefines.h"
12 #include "vrfutil/rwUUID.h"
14 
15 #include <boost/serialization/access.hpp>
16 #include <boost/serialization/nvp.hpp>
17 #include <boost/serialization/list.hpp>
18 #include <boost/serialization/map.hpp>
19 #include <boost/serialization/vector.hpp>
20 #include <boost/serialization/string.hpp>
22 #include <matrix/vlVector.h>
23 
24 #include <map>
25 
28 
35 {
36 public:
39 
41  virtual ~DtScriptedTaskVariable();
42 
45 
47  DtScriptedTaskVariable& operator=(const DtScriptedTaskVariable& orig);
48 
50  virtual bool load(const std::string&);
51 
53  virtual bool save(std::string&) const;
54 
58  virtual void setVariableName(const std::string&);
59  virtual const std::string& variableName() const;
61 
67  virtual void setScriptedTaskVariableName(const std::string&);
68  virtual const std::string& scriptedTaskVariableName() const;
70 
72  virtual std::string buttonGroup() const;
73 
77  virtual void setType(const std::string&);
78  virtual const std::string& type() const;
80 
84  virtual void setLabel(const std::string&);
85  virtual const std::string& label() const;
87 
91  virtual void setToolTip(const std::string&);
92  virtual const std::string& toolTip() const;
94 
98  virtual void setDefaultValue(const std::string&);
99  virtual const std::string& defaultValue() const;
100 
102  virtual int indexOfDefaultInVariableData() const;
104 
107  virtual void setIndent(int);
108  virtual int indent() const;
110 
114  virtual void setVariableRange(double bottom, double top);
115  virtual void setVariableRangeTop(double r);
116  virtual void setVariableRangeBottom(double r);
117  virtual void variableRange(double& bottom, double& top) const;
119 
123  virtual void setInternal(bool);
124  virtual bool isInternal() const;
126 
130  virtual void setVariableData(const std::string&);
131  virtual const std::string& variableData() const;
133 
136  virtual void setVisible(bool);
137  virtual bool visible() const;
139 
142  virtual void setAssociatedStateProperty(const std::string&);
143  virtual const std::string& associatedStateProperty() const;
145 
154  virtual DtReaderWriter* toRwPtr() const;
155 
158  virtual void fromRwPtr(const DtReaderWriter*);
159 
161  virtual bool upgradeFromVariable(DtReaderWriter* toUpgradeTo, const DtReaderWriter* originalValue) const;
162 
176  static void addConverter(const std::string& variableType, DtScriptedTaskVariableConverter*);
177  static DtScriptedTaskVariableConverter* converterFor(const std::string& variableType);
178  static DtScriptedTaskVariableConverterFactory* converterFactory();
179  static void cleanupConverterFactory();
180 
183  static DtString stringRep(const DtString& dataType, const DtReaderWriter*);
185 
186 protected:
188  friend class boost::serialization::access;
189 
193  template<class Archive>
194  void serialize(Archive & ar, const unsigned int version)
195  {
196  ar & BOOST_SERIALIZATION_NVP(myVariableName);
197  ar & BOOST_SERIALIZATION_NVP(myType);
198  ar & BOOST_SERIALIZATION_NVP(myLabel);
199  ar & BOOST_SERIALIZATION_NVP(myToolTip);
200  ar & BOOST_SERIALIZATION_NVP(myDefaultValue);
201  ar & BOOST_SERIALIZATION_NVP(myRangeBottom);
202  ar & BOOST_SERIALIZATION_NVP(myRangeTop);
203  ar & BOOST_SERIALIZATION_NVP(myVariableData);
204  ar & BOOST_SERIALIZATION_NVP(myVisible);
205 
206  if (version >= 2)
207  {
208  ar & BOOST_SERIALIZATION_NVP(myIndent);
209 
210  if (version >= 3)
211  {
212  ar & BOOST_SERIALIZATION_NVP(myInternal);
213 
214  if (version >= 4)
215  {
216  ar & BOOST_SERIALIZATION_NVP(myScriptedTaskVariableName);
217 
218  if (version >= 5)
219  {
220  ar & BOOST_SERIALIZATION_NVP(myAssociatedStateProperty);
221  }
222  }
223  }
224  }
225 
228  if (Archive::is_loading::value)
229  {
230  if ((myType == DtScriptedTaskSeparatorItem) && !myVariableName.length())
231  {
232  myVariableName = DtUUID().uuidString().c_str();
233  }
234  }
235  }
236 
237 protected:
238  std::string myVariableName;
239  std::string myType;
240  std::string myLabel;
241  std::string myToolTip;
242  std::string myDefaultValue;
244  double myRangeTop;
245  std::string myVariableData;
248 
249  bool myVisible;
251  int myIndent;
252 
254 };
255 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
int myIndent
Definition: scriptedTaskVariable.h:251
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
A class that is used for converting to/from scripted task variables and reader/writer variables to be...
Definition: scriptedTaskVariableConverters.h:38
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: scriptedTaskVariable.h:194
std::string myAssociatedStateProperty
Definition: scriptedTaskVariable.h:247
std::string myScriptedTaskVariableName
Definition: scriptedTaskVariable.h:246
Definition: readerWriter.h:85
Contains the DtUUID class declaration.
Factory that will maintain converters. Creating this factory installs default converters for current ...
Definition: scriptedTaskVariableConverters.h:86
bool myVisible
Definition: scriptedTaskVariable.h:249
std::string myVariableName
Definition: scriptedTaskVariable.h:238
double myRangeBottom
Definition: scriptedTaskVariable.h:243
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
bool myInternal
Definition: scriptedTaskVariable.h:250
std::string myVariableData
Definition: scriptedTaskVariable.h:245
std::string myLabel
Definition: scriptedTaskVariable.h:240
std::string myDefaultValue
Definition: scriptedTaskVariable.h:242
double myRangeTop
Definition: scriptedTaskVariable.h:244
std::string myToolTip
Definition: scriptedTaskVariable.h:241
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
static const char * DtScriptedTaskSeparatorItem
Definition: vrfScriptedTasksConstants.h:52
std::string myType
Definition: scriptedTaskVariable.h:239
virtual const DtString & uuidString() const
static DtScriptedTaskVariableConverterFactory * theScriptedTaskVariableConverterFactory
Definition: scriptedTaskVariable.h:253

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)