VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
formationTable.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <readerWriter/rwList.h>
14 #include <vlutil/vlHashlist.h>
16 #include "vrfutil/formation.h"
17 #include <readerWriter/rwBoolean.h>
18 
22 #include "vrfutil/vrfutilDefines.h"
24 {
25 public:
26 
28  {
30  const DtReaderWriter::SearchPaths& searchPaths, const DtVariableBindingsList& bindings)
31  : myFormations(formations)
32  , mySearchPaths(searchPaths)
33  , myBindings(bindings)
34  {
35 
36  }
37 
38  void operator()(DtReaderWriter* rwObject)
39  {
40  if (rwObject)
41  {
42  DtFormationTableEntry* entry = static_cast<DtFormationTableEntry*>(rwObject);
43  entry->formationFile().loadFile(mySearchPaths, myBindings);
44  myFormations->addFormationEntry(entry);
45  }
46  }
50  };
51 
54 
56  DtFormationTable(const DtString& writeName,
57  DtReaderWriterRegistry* parentRegistry = NULL);
58  DtFormationTable(const DtSymbolString& writeName,
59  DtReaderWriterRegistry* parentRegistry = NULL);
60 
62  virtual ~DtFormationTable();
63 
65  DtFormationTable(const DtString& writeName, const DtFormationTable&
66  orig, DtReaderWriterRegistry* parentRegistry = NULL);
67  DtFormationTable(const DtSymbolString& writeName, const DtFormationTable&
68  orig, DtReaderWriterRegistry* parentRegistry = NULL);
69  DtFormationTable(const DtFormationTable& orig, DtReaderWriterRegistry* parentRegistry = NULL);
70 
72  const DtFormationTable & operator=(const DtFormationTable & orig);
73 
74  virtual DtFormationTable* clone(const DtString& name,
75  DtReaderWriterRegistry* parentRegistry = NULL) const;
76  virtual DtFormationTable* clone(const DtSymbolString& name,
77  DtReaderWriterRegistry* parentRegistry = NULL) const;
78 
82  virtual DtFormation* getFormation(const DtString& formationName,
83  DtString* actualName = 0) const;
84 
86  virtual DtFormation* getDefaultFormation() const;
87 
89  virtual DtFormationTableEntry* getDefaultFormationEntry() const;
90 
93  virtual void setFormationToDefault(DtFormationTableEntry* entry);
94 
98  virtual void addFormation(const DtString& formationName, const DtFormation& formation);
99 
102  virtual bool removeFormation(const DtString& formationName);
103 
108  virtual void addFormationEntry(DtFormationTableEntry* entry);
109 
111  virtual DtFormationTableEntry* getFormationEntry(const DtString& formationName) const;
112 
114  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
115  const DtVariableBindingsList& variableBindings);
116 
120  virtual const char* readerWriterType() const;
121 
124  virtual void setAutoLayoutForGui(bool);
125  virtual bool autoLayoutForGui() const;
126 
128  bool operator==(const DtFormationTable&) const;
129  bool operator!=(const DtFormationTable&) const;
130 
133  virtual void putData(DtEnvironmentSP, DtEnvValueSP parent) const;
134  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP value,
136  const DtVariableBindingsList& bindings = DtVariableBindingsList());
137 
139  static const char* theXmlType();
140 
141  virtual const char* xmlType() const
142  {
143  return theXmlType();
144  }
145 
147  virtual std::set<DtString> supportedXmlTypes() const;
149 
151  static DtString standardFormationName(const DtString& name);
153  static void standardizeFormationName(DtString& nameToChange);
154 
155 protected:
158  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
159  const DtVariableBindingsList& variableBindings);
160 
163  void copyTable(const DtFormationTable& other);
166  void emptyTable();
167 
168 protected:
170 };
virtual const char * xmlType() const
Routines to archive/dearchive from an XML Environment.
Definition: formationTable.h:141
Definition: symbolString.h:20
virtual bool loadFile(const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings, DtlObjStringMap *commentMap=NULL)
Returns true if file is loaded.
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
bool operator!=(const DtRwList &rhs) const
Definition: rwList.h:157
DtFormationTable * myFormations
Definition: formationTable.h:47
const DtVariableBindingsList & myBindings
Definition: formationTable.h:49
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
virtual std::set< DtString > supportedXmlTypes() const
Returns the list of xml types supported by this list. Default is all.
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)=0
This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter...
static const char * theXmlType()
The type that is used when archiving to an XML stream.
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
Instances of DtFormation are a list of DtFormationEntry objects which make up an aggregate formation...
Definition: formation.h:22
void operator()(DtReaderWriter *rwObject)
Definition: formationTable.h:38
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtFormationTable.
Definition: formationTable.h:23
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
bool operator==(const DtRwList &rhs) const
Iterates over all items and calls the factory to compare.
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Definition: formationTable.h:27
virtual void putData(DtEnvironmentSP, DtEnvValueSP parent) const
Routines to archive/dearchive from an XML Environment.
virtual DtReaderWriterFile & formationFile()
const DtRwList & operator=(const DtRwList &orig)
Calls down to DtReaderWriter::operator=(). List elements are not copied.
#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
const DtReaderWriter::SearchPaths mySearchPaths
Definition: formationTable.h:48
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
DtFormationTableEntry.
Definition: formationTableEntry.h:23
FormationAdder(DtFormationTable *formations, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &bindings)
Definition: formationTable.h:29
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
DtRwBoolean myAutoLayoutForGui
Definition: formationTable.h:169

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)