VR-Forces 4.7 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 
16 #include <vrvCore/DtMenuPath.h>
18 
19 #include <vector>
20 #include <set>
21 
22 class DtSimulationAddress;
23 class QString;
24 
25 namespace makVrv
26 {
27  class DtDe;
28 }
29 
30 class DtModelSetEntry;
31 
32 namespace makVrf
33 {
34  class DtVrfBackendState;
35 
36  class DtEntityCreatePaletteInterface;
37 
39  {
44 
45  std::string myName;
47  std::set<std::string> myCategories;
48  std::vector<int> myForces;
49  std::set<std::string> myDeployedCountries;
50  std::string myDescription;
52  };
53 
54  typedef boost::shared_ptr<DtEntityPaletteItem> DtEntityPaletteItemHandle;
55 
58  {
59  public:
62  virtual ~DtPaletteFilter() {};
63 
65  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const std::set<std::string>& categories, const QString& deployedCountry,
66  int force) const = 0;
67 
68  virtual DtPaletteFilter* clone() const = 0;
69 
70  virtual bool operator==(const DtPaletteFilter&) const { return true; };
71  virtual bool operator!=(const DtPaletteFilter& rhs) const { return !(*this == rhs); };
72  };
73 
76  {
77  public:
80  virtual ~DtEntityTypePaletteFilter();
81 
83  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const std::set<std::string>& categories, const QString& deployedCountry,
84  int force) const;
85 
87  virtual void addEntityType(const DtEntityType& type);
88 
89  virtual DtPaletteFilter* clone() const;
90  virtual bool operator==(const DtPaletteFilter&) const;
91 
92  protected:
93  std::vector<DtEntityType> myEntityTypes;
94  };
95 
97  {
98 
99  public:
100 
102  static DtEntityCreatePaletteLogic* create(makVrv::DtDe& de,
104 
106  virtual ~DtEntityCreatePaletteLogic();
107 
108  virtual void createAndAddItem(const std::string& name,
109  const DtEntityMapperKey& key,const std::set<std::string>& categories,const std::vector<int>& forces,
110  const std::string& description = "", int itemsToCreate = 0);
111 
113  virtual void removeItem(const DtEntityMapperKey& key, bool matchesPattern = false);
114 
115  virtual void disconnectCreationSignal(bool disconnect);
116 
118  virtual void setFavorite(const DtEntityMapperKey&, bool);
119 
123  virtual void setCombinePalettes(bool combine);
124  virtual bool combinePalettes() const;
125 
128  static void addGlobalPaletteFilter(const DtPaletteFilter&);
129  static void removeGlobalPaletteFilter(const DtPaletteFilter&);
130 
133  virtual void addLocalPaletteFilter(const DtPaletteFilter&);
134  virtual void removeLocalPaletteFilter(const DtPaletteFilter&);
135 
137  bool showNonCreatableUnits() const { return myShowNonCreatableUnits; };
138  virtual void setShowNonCreatableUnits(bool);
139 
141  virtual void addIgnore(const DtEntityType&);
142 
144  virtual void clearIgnore();
145 
147  virtual const std::vector<DtEntityType>& ignoring() const;
148 
150  virtual void setIgnore(const std::vector<DtEntityType>&);
151 
152  virtual void slot_defaultIconListChanged();
153 
154  protected:
157 
158  virtual void slot_postInitialize(makVrv::DtDe& de);
159  virtual void slot_modelSetChanged();
160  virtual void slot_categoriesChanged(std::vector<std::string> newCategories);
161  virtual void slot_deployedCountryChanged(std::string newCategory);
162  virtual void slot_executeFilter();
163 
164  virtual void slot_selectedBackEndChanged(const DtSimulationAddress& old, const DtSimulationAddress& newaddr);
165  virtual void slot_backendUpdated(const DtVrfBackendState&, int);
166 
167  virtual void slot_createObject(const DtEntityMapperKey&);
168  virtual void slot_spotReportOptionsChanged(const DtVrfSpotReportsSettingsRecord&);
169 
171  virtual bool modelIsCreatable(DtModelSetEntry*) const;
172 
174  virtual bool ignoreType(const DtEntityType&) const;
175 
176  virtual bool forceCanBeCreatedByUser(int) const;
177 
178  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const std::set<std::string>& categories, const QString& deployedCountry, int force) const;
179  virtual void enablePalette(int terrainPatchOffset = 0);
180  virtual void slot_terrainPatchToBeDeleted();
181  virtual void slot_terrainPatchAdded();
182  virtual void slot_sessionStatusChanged();
183 
185  virtual void slot_forceChanged();
186 
187  virtual bool includeModelOnPage(DtModelSetEntry* model) const;
188 
189  protected:
192  typedef std::map<std::string, std::set<DtEntityPaletteItemHandle> > CategoriesMap;
194  std::vector<DtEntityPaletteItemHandle> myItems;
197 
198  static std::vector<DtPaletteFilter*> theGlobalPaletteFilters;
199  std::vector<DtPaletteFilter*> myLocalPaletteFilters;
200  std::map<int, std::string> myPotentialForces;
202  std::vector<DtEntityType> myRemoveItems;
205 
206  std::vector<DtEntityType> myToIgnore;
207  };
208 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)