VR-Forces 4.10 Class Documentation
 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 
80  virtual DtFormation* getFormation(const DtString& formationName) const;
81 
83  virtual DtFormation* getDefaultFormation() const;
84 
86  virtual DtFormationTableEntry* getDefaultFormationEntry() const;
87 
90  virtual void setFormationToDefault(DtFormationTableEntry* entry);
91 
95  virtual void addFormation(const DtString& formationName, const DtFormation& formation);
96 
99  virtual bool removeFormation(const DtString& formationName);
100 
105  virtual void addFormationEntry(DtFormationTableEntry* entry);
106 
108  virtual DtFormationTableEntry* getFormationEntry(const DtString& formationName) const;
109 
111  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
112  const DtVariableBindingsList& variableBindings);
113 
117  virtual const char* readerWriterType() const;
118 
121  virtual void setAutoLayoutForGui(bool);
122  virtual bool autoLayoutForGui() const;
123 
125  bool operator==(const DtFormationTable&) const;
126  bool operator!=(const DtFormationTable&) const;
127 
130  virtual void putData(DtEnvironmentSP, DtEnvValueSP parent) const;
131  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP value,
133  const DtVariableBindingsList& bindings = DtVariableBindingsList());
134 
136  static const char* theXmlType();
137 
138  virtual const char* xmlType() const
139  {
140  return theXmlType();
141  }
142 
144  virtual std::set<DtString> supportedXmlTypes() const;
146 
147 protected:
150  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
151  const DtVariableBindingsList& variableBindings);
152 
155  void copyTable(const DtFormationTable& other);
158  void emptyTable();
159 
160 protected:
162 };
virtual const char * xmlType() const
Definition: formationTable.h:138
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.
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.
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:26
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
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.
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.
DtRwBoolean myAutoLayoutForGui
Definition: formationTable.h:161

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)