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 
173  static void addConverter(const std::string& variableType, DtScriptedTaskVariableConverter*);
174  static DtScriptedTaskVariableConverter* converterFor(const std::string& variableType);
175  static DtScriptedTaskVariableConverterFactory* converterFactory();
176  static void cleanupConverterFactory();
177 
180  static DtString stringRep(const DtString& dataType, const DtReaderWriter*);
182 
183 protected:
185  friend class boost::serialization::access;
186 
190  template<class Archive>
191  void serialize(Archive & ar, const unsigned int version)
192  {
193  ar & BOOST_SERIALIZATION_NVP(myVariableName);
194  ar & BOOST_SERIALIZATION_NVP(myType);
195  ar & BOOST_SERIALIZATION_NVP(myLabel);
196  ar & BOOST_SERIALIZATION_NVP(myToolTip);
197  ar & BOOST_SERIALIZATION_NVP(myDefaultValue);
198  ar & BOOST_SERIALIZATION_NVP(myRangeBottom);
199  ar & BOOST_SERIALIZATION_NVP(myRangeTop);
200  ar & BOOST_SERIALIZATION_NVP(myVariableData);
201  ar & BOOST_SERIALIZATION_NVP(myVisible);
202 
203  if (version >= 2)
204  {
205  ar & BOOST_SERIALIZATION_NVP(myIndent);
206 
207  if (version >= 3)
208  {
209  ar & BOOST_SERIALIZATION_NVP(myInternal);
210 
211  if (version >= 4)
212  {
213  ar & BOOST_SERIALIZATION_NVP(myScriptedTaskVariableName);
214 
215  if (version >= 5)
216  {
217  ar & BOOST_SERIALIZATION_NVP(myAssociatedStateProperty);
218  }
219  }
220  }
221  }
222 
225  if (Archive::is_loading::value)
226  {
227  if ((myType == DtScriptedTaskSeparatorItem) && !myVariableName.length())
228  {
229  myVariableName = DtUUID().uuidString().c_str();
230  }
231  }
232  }
233 
234 protected:
235  std::string myVariableName;
236  std::string myType;
237  std::string myLabel;
238  std::string myToolTip;
239  std::string myDefaultValue;
241  double myRangeTop;
242  std::string myVariableData;
245 
246  bool myVisible;
248  int myIndent;
249 
251 };
252 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
int myIndent
Definition: scriptedTaskVariable.h:248
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:37
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:191
std::string myAssociatedStateProperty
Definition: scriptedTaskVariable.h:244
std::string myScriptedTaskVariableName
Definition: scriptedTaskVariable.h:243
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:66
bool myVisible
Definition: scriptedTaskVariable.h:246
std::string myVariableName
Definition: scriptedTaskVariable.h:235
double myRangeBottom
Definition: scriptedTaskVariable.h:240
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:247
std::string myVariableData
Definition: scriptedTaskVariable.h:242
std::string myLabel
Definition: scriptedTaskVariable.h:237
std::string myDefaultValue
Definition: scriptedTaskVariable.h:239
double myRangeTop
Definition: scriptedTaskVariable.h:241
std::string myToolTip
Definition: scriptedTaskVariable.h:238
#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:50
std::string myType
Definition: scriptedTaskVariable.h:236
virtual const DtString & uuidString() const
static DtScriptedTaskVariableConverterFactory * theScriptedTaskVariableConverterFactory
Definition: scriptedTaskVariable.h:250

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)