VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
entityCreatePaletteLogic.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 
15 #include <vrvCore/DtMenuPath.h>
17 
18 #include <vector>
19 #include <set>
20 
21 class DtSimulationAddress;
22 class QString;
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 class DtModelSetEntry;
30 
31 namespace makVrf
32 {
33  class DtVrfBackendState;
34 
35  class DtEntityCreatePaletteInterface;
36 
38  {
43 
44  std::string myName;
46  std::set<std::string> myCategories;
47  std::vector<int> myForces;
48  std::set<std::string> myDeployedCountries;
49  std::string myDescription;
51  };
52 
53  typedef boost::shared_ptr<DtEntityPaletteItem> DtEntityPaletteItemHandle;
54 
57  {
58  public:
61  virtual ~DtPaletteFilter() {};
62 
64  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const std::set<std::string>& categories, const std::string& deployedCountry,
65  int force) const = 0;
66 
67  virtual DtPaletteFilter* clone() const = 0;
68 
69  virtual bool operator==(const DtPaletteFilter&) const { return true; };
70  virtual bool operator!=(const DtPaletteFilter& rhs) const { return !(*this == rhs); };
71  };
72 
75  {
76  public:
79  virtual ~DtEntityTypePaletteFilter();
80 
82  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const std::set<std::string>& categories, const std::string& deployedCountry,
83  int force) const;
84 
86  virtual void addEntityType(const DtEntityType& type);
87 
88  virtual DtPaletteFilter* clone() const;
89  virtual bool operator==(const DtPaletteFilter&) const;
90 
91  protected:
92  std::vector<DtEntityType> myEntityTypes;
93  };
94 
96  {
97 
98  public:
99 
101  static DtEntityCreatePaletteLogic* create(makVrv::DtDe& de,
103 
105  virtual ~DtEntityCreatePaletteLogic();
106 
107  virtual void createAndAddItem(const std::string& name,
108  const DtEntityMapperKey& key,const std::set<std::string>& categories,const std::vector<int>& forces,
109  const std::string& description = "", int itemsToCreate = 0);
110 
112  virtual void removeItem(const DtEntityMapperKey& key, bool matchesPattern = false);
113 
114  virtual void disconnectCreationSignal(bool disconnect);
115 
117  virtual void setFavorite(const DtEntityMapperKey&, bool);
118 
122  virtual void setCombinePalettes(bool combine);
123  virtual bool combinePalettes() const;
124 
127  static void addGlobalPaletteFilter(const DtPaletteFilter&);
128  static void removeGlobalPaletteFilter(const DtPaletteFilter&);
129 
132  virtual void addLocalPaletteFilter(const DtPaletteFilter&);
133  virtual void removeLocalPaletteFilter(const DtPaletteFilter&);
134 
136  bool showNonCreatableUnits() const { return myShowNonCreatableUnits; };
137  virtual void setShowNonCreatableUnits(bool);
138 
140  virtual void addIgnore(const DtEntityType&);
141 
143  virtual void clearIgnore();
144 
146  virtual const std::vector<DtEntityType>& ignoring() const;
147 
149  virtual void setIgnore(const std::vector<DtEntityType>&);
150 
151  virtual void slot_defaultIconListChanged();
152 
153  protected:
156 
157  virtual void slot_postInitialize(makVrv::DtDe& de);
158  virtual void slot_modelSetChanged();
159  virtual void slot_categoriesChanged(std::vector<std::string> newCategories);
160  virtual void slot_deployedCountryChanged(std::string newCategory);
161  virtual void slot_executeFilter();
162 
163  virtual void slot_selectedBackEndChanged(const DtSimulationAddress& old, const DtSimulationAddress& newaddr);
164  virtual void slot_backendUpdated(const DtVrfBackendState&, int);
165 
166  virtual void slot_createObject(const DtEntityMapperKey&);
167 
169  virtual bool modelIsCreatable(DtModelSetEntry*) const;
170 
172  virtual bool ignoreType(const DtEntityType&) const;
173 
174  virtual bool forceCanBeCreatedByUser(int) const;
175 
176  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const std::set<std::string>& categories, const std::string& deployedCountry, int force) const;
177  virtual void enablePalette(int terrainPatchOffset = 0);
178  virtual void slot_terrainPatchToBeDeleted();
179  virtual void slot_terrainPatchAdded();
180  virtual void slot_sessionStatusChanged();
181 
183  virtual void slot_forceChanged();
184 
185  virtual bool includeModelOnPage(DtModelSetEntry* model) const;
186 
187  protected:
190  typedef std::map<std::string, std::set<DtEntityPaletteItemHandle> > CategoriesMap;
192  std::vector<DtEntityPaletteItemHandle> myItems;
195 
196  static std::vector<DtPaletteFilter*> theGlobalPaletteFilters;
197  std::vector<DtPaletteFilter*> myLocalPaletteFilters;
198  std::map<int, std::string> myPotentialForces;
200  std::vector<DtEntityType> myRemoveItems;
203 
204  std::vector<DtEntityType> myToIgnore;
205  };
206 }
Definition: entityCreatePaletteLogic.h:37
Definition: vrfBackendState.h:69
Definition: entityMapperKey.h:23
DtEntityPaletteItem(const DtEntityPaletteItem &orig)
Definition: entityCreatePaletteLogic.h:40
Definition: entityCreatePaletteLogic.h:95
std::vector< DtEntityType > myEntityTypes
Definition: entityCreatePaletteLogic.h:92
std::vector< int > myForces
Definition: entityCreatePaletteLogic.h:47
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
std::set< std::string > myDeployedCountries
Definition: entityCreatePaletteLogic.h:48
std::set< std::string > myCategories
Definition: entityCreatePaletteLogic.h:46
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
std::string myDescription
Definition: entityCreatePaletteLogic.h:49
DtPaletteFilter()
Definition: entityCreatePaletteLogic.h:59
Contains makVrv::DtMenuPath class.
CategoriesMap myCategoriesMap
Definition: entityCreatePaletteLogic.h:191
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: modelSetEntry.h:24
Logic for adding items to the entity create palette. Use this filter when you want to filter out obje...
Definition: entityCreatePaletteLogic.h:74
virtual bool operator!=(const DtPaletteFilter &rhs) const
Definition: entityCreatePaletteLogic.h:70
bool myShowNonCreatableUnits
Definition: entityCreatePaletteLogic.h:201
static std::vector< DtPaletteFilter * > theGlobalPaletteFilters
Definition: entityCreatePaletteLogic.h:196
bool showNonCreatableUnits() const
Whether or not non creatable units should be shown in this palette, if they are set to be displayable...
Definition: entityCreatePaletteLogic.h:136
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
virtual bool operator==(const DtPaletteFilter &) const
Definition: entityCreatePaletteLogic.h:69
makVrv::DtDe & myDe
Definition: entityCreatePaletteLogic.h:188
makVrv::DtSignalConnectionManager myConnectionManager
Definition: entityCreatePaletteLogic.h:199
bool myAllowCombineMode
Definition: entityCreatePaletteLogic.h:202
a Class which represents a menu path.
Definition: DtMenuPath.h:30
Logic for adding items to the entity create palette. Add a DtPaletteFilter to filter beyond the categ...
Definition: entityCreatePaletteLogic.h:56
int myItemsToCreate
Definition: entityCreatePaletteLogic.h:50
virtual ~DtPaletteFilter()
Definition: entityCreatePaletteLogic.h:61
Base class to provide boost signal/slot management.
std::vector< DtEntityPaletteItemHandle > myItems
Definition: entityCreatePaletteLogic.h:192
DtEntityPaletteItem()
Definition: entityCreatePaletteLogic.h:39
DtEntityMapperKey myMapperKey
Definition: entityCreatePaletteLogic.h:45
makVrv::DtMenuPath myOrderedPath
Definition: entityCreatePaletteLogic.h:193
std::map< std::string, std::set< DtEntityPaletteItemHandle > > CategoriesMap
Definition: entityCreatePaletteLogic.h:190
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::shared_ptr< DtEntityPaletteItem > DtEntityPaletteItemHandle
Definition: entityCreatePaletteLogic.h:53
DtPaletteFilter(const DtPaletteFilter &)
Definition: entityCreatePaletteLogic.h:60
std::vector< DtEntityType > myRemoveItems
Definition: entityCreatePaletteLogic.h:200
std::vector< DtEntityType > myToIgnore
Definition: entityCreatePaletteLogic.h:204
std::string myName
Definition: entityCreatePaletteLogic.h:42
std::map< int, std::string > myPotentialForces
Definition: entityCreatePaletteLogic.h:198
std::vector< DtPaletteFilter * > myLocalPaletteFilters
Definition: entityCreatePaletteLogic.h:197
bool myAllowOverlays
Definition: entityCreatePaletteLogic.h:194
Abstract interface for the entity creation palette.
Definition: entityCreatePaletteInterface.h:29
DtEntityCreatePaletteInterface * myInterface
Definition: entityCreatePaletteLogic.h:189

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)