VR-Forces 5.0.1 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 
148  virtual DtReaderWriter* toRwPtr() const;
149 
152  virtual void fromRwPtr(const DtReaderWriter*);
153 
167  static void addConverter(const std::string& variableType, DtScriptedTaskVariableConverter*);
168  static DtScriptedTaskVariableConverter* converterFor(const std::string& variableType);
169  static DtScriptedTaskVariableConverterFactory* converterFactory();
170  static void cleanupConverterFactory();
171 
174  static DtString stringRep(const DtString& dataType, const DtReaderWriter*);
176 
177 protected:
179  friend class boost::serialization::access;
180 
184  template<class Archive>
185  void serialize(Archive & ar, const unsigned int version)
186  {
187  ar & BOOST_SERIALIZATION_NVP(myVariableName);
188  ar & BOOST_SERIALIZATION_NVP(myType);
189  ar & BOOST_SERIALIZATION_NVP(myLabel);
190  ar & BOOST_SERIALIZATION_NVP(myToolTip);
191  ar & BOOST_SERIALIZATION_NVP(myDefaultValue);
192  ar & BOOST_SERIALIZATION_NVP(myRangeBottom);
193  ar & BOOST_SERIALIZATION_NVP(myRangeTop);
194  ar & BOOST_SERIALIZATION_NVP(myVariableData);
195  ar & BOOST_SERIALIZATION_NVP(myVisible);
196 
197  if (version >= 2)
198  {
199  ar & BOOST_SERIALIZATION_NVP(myIndent);
200 
201  if (version >= 3)
202  {
203  ar & BOOST_SERIALIZATION_NVP(myInternal);
204 
205  if (version >= 4)
206  {
207  ar & BOOST_SERIALIZATION_NVP(myScriptedTaskVariableName);
208  }
209  }
210  }
211 
214  if (Archive::is_loading::value)
215  {
216  if ((myType == DtScriptedTaskSeparatorItem) && !myVariableName.length())
217  {
218  myVariableName = DtUUID().uuidString().c_str();
219  }
220  }
221  }
222 
223 protected:
224  std::string myVariableName;
225  std::string myType;
226  std::string myLabel;
227  std::string myToolTip;
228  std::string myDefaultValue;
230  double myRangeTop;
231  std::string myVariableData;
233 
234  bool myVisible;
236  int myIndent;
237 
239 };
240 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
int myIndent
Definition: scriptedTaskVariable.h:236
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:36
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:185
std::string myScriptedTaskVariableName
Definition: scriptedTaskVariable.h:232
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:64
bool myVisible
Definition: scriptedTaskVariable.h:234
std::string myVariableName
Definition: scriptedTaskVariable.h:224
double myRangeBottom
Definition: scriptedTaskVariable.h:229
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:235
std::string myVariableData
Definition: scriptedTaskVariable.h:231
std::string myLabel
Definition: scriptedTaskVariable.h:226
std::string myDefaultValue
Definition: scriptedTaskVariable.h:228
double myRangeTop
Definition: scriptedTaskVariable.h:230
std::string myToolTip
Definition: scriptedTaskVariable.h:227
#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:44
std::string myType
Definition: scriptedTaskVariable.h:225
virtual const DtString & uuidString() const
static DtScriptedTaskVariableConverterFactory * theScriptedTaskVariableConverterFactory
Definition: scriptedTaskVariable.h:238

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)