VR-Forces 4.6.1 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>
21 #include "vrfutil/readerWriter.h"
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 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)