VR-Forces 4.2 Class Documentation
DtEntityCreatePaletteLogic.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>
16 
17 #include <vector>
18 #include <set>
19 
20 class DtSimulationAddress;
21 class QString;
22 
23 namespace makVrv
24 {
25  class DtDe;
26 }
27 
28 namespace makVrf
29 {
30  class DtVrfBackendState;
31 
32  class DtEntityCreatePaletteInterface;
33 
34  typedef struct _DtEntityPaletteItem
35  {
36  std::string myName;
38  std::string myCategory;
39  std::vector<int> myForces;
40  std::set<std::string> myDeployedCountries;
41  }
43 
46  {
47  public:
49  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const QString& category, const QString& deployedCountry,
50  int force) const = 0;
51  };
52 
54  {
55 
56  public:
57 
59  static DtEntityCreatePaletteLogic* create(makVrv::DtDe& de,
61 
63  virtual ~DtEntityCreatePaletteLogic();
64 
65  virtual void createAndAddItem(const std::string& name,
66  const DtEntityMapperKey& key,const std::string& category,const std::vector<int>& forces);
67 
69  virtual void removeItem(const DtEntityMapperKey& key);
70 
71  virtual void disconnectCreationSignal(bool disconnect);
72 
74  virtual void setFavorite(const DtEntityMapperKey&, bool);
75 
79  static void addPaletteFilter(DtPaletteFilter*);
80  static void removePaletteFilter(DtPaletteFilter*);
81 
82  protected:
85 
86  virtual void slot_postInitialize(makVrv::DtDe& de);
87  virtual void slot_modelSetChanged();
88  virtual void slot_categoryChanged(std::string newCategory);
89  virtual void slot_deployedCountryChanged(std::string newCategory);
90  virtual void slot_executeFilter();
91 
92  virtual void slot_selectedBackEndChanged(const DtSimulationAddress& old, const DtSimulationAddress& newaddr);
93  virtual void slot_backendUpdated(const DtVrfBackendState&, int);
94 
95  virtual void slot_createObject(const DtEntityMapperKey&);
96 
97  protected:
98  virtual bool shouldAddCreationItem(const DtEntityPaletteItem&, const QString& category, const QString& deployedCountry, int force) const;
99  virtual void enablePalette(int terrainPatchOffset = 0);
100  virtual void slot_terrainPatchToBeDeleted();
101  virtual void slot_terrainPatchAdded();
102  virtual void slot_sessionStatusChanged();
103 
104  protected:
105  makVrv::DtDe& myDe;
107  std::vector<DtEntityPaletteItem> myItems;
108  makVrv::DtMenuPath myOrderedPath;
110 
111  static std::vector<DtPaletteFilter*> thePaletteFilters;
112  };
113 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)