VR-Forces 4.8 Class Documentation
 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 
32 {
33 public:
36 
38  virtual ~DtScriptedTaskVariable();
39 
42 
44  DtScriptedTaskVariable& operator=(const DtScriptedTaskVariable& orig);
45 
47  virtual bool load(const std::string&);
48 
50  virtual bool save(std::string&) const;
51 
55  virtual void setVariableName(const std::string&);
56  virtual const std::string& variableName() const;
58 
64  virtual void setScriptedTaskVariableName(const std::string&);
65  virtual const std::string& scriptedTaskVariableName() const;
67 
69  virtual std::string buttonGroup() const;
70 
74  virtual void setType(const std::string&);
75  virtual const std::string& type() const;
77 
81  virtual void setLabel(const std::string&);
82  virtual const std::string& label() const;
84 
88  virtual void setToolTip(const std::string&);
89  virtual const std::string& toolTip() const;
91 
95  virtual void setDefaultValue(const std::string&);
96  virtual const std::string& defaultValue() const;
97 
99  virtual int indexOfDefaultInVariableData() const;
101 
104  virtual void setIndent(int);
105  virtual int indent() const;
107 
111  virtual void setVariableRange(double bottom, double top);
112  virtual void setVariableRangeTop(double r);
113  virtual void setVariableRangeBottom(double r);
114  virtual void variableRange(double& bottom, double& top) const;
116 
120  virtual void setInternal(bool);
121  virtual bool isInternal() const;
123 
127  virtual void setVariableData(const std::string&);
128  virtual const std::string& variableData() const;
130 
133  virtual void setVisible(bool);
134  virtual bool visible() const;
136 
145  virtual DtReaderWriter* toRwPtr() const;
146 
149  virtual void fromRwPtr(const DtReaderWriter*);
150 
164  static void addConverter(const std::string& variableType, DtScriptedTaskVariableConverter*);
165  static DtScriptedTaskVariableConverter* converterFor(const std::string& variableType);
166  static DtScriptedTaskVariableConverterFactory* converterFactory();
167  static void cleanupConverterFactory();
168 
171  static DtString stringRep(const DtString& dataType, const DtReaderWriter*);
173 
174 protected:
176  friend class boost::serialization::access;
177 
181  template<class Archive>
182  void serialize(Archive & ar, const unsigned int version)
183  {
184  ar & BOOST_SERIALIZATION_NVP(myVariableName);
185  ar & BOOST_SERIALIZATION_NVP(myType);
186  ar & BOOST_SERIALIZATION_NVP(myLabel);
187  ar & BOOST_SERIALIZATION_NVP(myToolTip);
188  ar & BOOST_SERIALIZATION_NVP(myDefaultValue);
189  ar & BOOST_SERIALIZATION_NVP(myRangeBottom);
190  ar & BOOST_SERIALIZATION_NVP(myRangeTop);
191  ar & BOOST_SERIALIZATION_NVP(myVariableData);
192  ar & BOOST_SERIALIZATION_NVP(myVisible);
193 
194  if (version >= 2)
195  {
196  ar & BOOST_SERIALIZATION_NVP(myIndent);
197 
198  if (version >= 3)
199  {
200  ar & BOOST_SERIALIZATION_NVP(myInternal);
201 
202  if (version >= 4)
203  {
204  ar & BOOST_SERIALIZATION_NVP(myScriptedTaskVariableName);
205  }
206  }
207  }
208 
211  if (Archive::is_loading::value)
212  {
213  if ((myType == DtScriptedTaskSeparatorItem) && !myVariableName.length())
214  {
215  myVariableName = DtUUID().uuidString().c_str();
216  }
217  }
218  }
219 
220 protected:
221  std::string myVariableName;
222  std::string myType;
223  std::string myLabel;
224  std::string myToolTip;
225  std::string myDefaultValue;
227  double myRangeTop;
228  std::string myVariableData;
230 
231  bool myVisible;
233  int myIndent;
234 
236 };
237 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
int myIndent
Definition: scriptedTaskVariable.h:233
A class that is used for converting to/from scripted task variables and reader/writer variables to be...
Definition: scriptedTaskVariableConverters.h:34
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:182
std::string myScriptedTaskVariableName
Definition: scriptedTaskVariable.h:229
Definition: readerWriter.h:85
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
Factory that will maintain converters.
Definition: scriptedTaskVariableConverters.h:62
bool myVisible
Definition: scriptedTaskVariable.h:231
std::string myVariableName
Definition: scriptedTaskVariable.h:221
double myRangeBottom
Definition: scriptedTaskVariable.h:226
A class for keeping track of meta data for variables of scripted tasks.
Definition: scriptedTaskVariable.h:31
bool myInternal
Definition: scriptedTaskVariable.h:232
std::string myVariableData
Definition: scriptedTaskVariable.h:228
std::string myLabel
Definition: scriptedTaskVariable.h:223
std::string myDefaultValue
Definition: scriptedTaskVariable.h:225
double myRangeTop
Definition: scriptedTaskVariable.h:227
std::string myToolTip
Definition: scriptedTaskVariable.h:224
#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:38
std::string myType
Definition: scriptedTaskVariable.h:222
virtual const DtString & uuidString() const
static DtScriptedTaskVariableConverterFactory * theScriptedTaskVariableConverterFactory
Definition: scriptedTaskVariable.h:235

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)