VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
entityCreatePalette.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
14 #include <vrvUtil/signalslib.h>
18 #include <vrvCoreQt/DtPage.h>
21 
26 #endif
27 #include <boost/signals2.hpp>
28 
29 #include <QtWidgets/QWidget>
30 #include <QtWidgets/QToolButton>
31 #include <QtGui/QPixmap>
32 #include <QtGui/QImage>
33 #include <QtCore/QHash>
34 #include <QtWidgets/QTreeWidget>
35 
36 class QTreeWidget;
37 class QVBoxLayout;
38 class QGridLayout;
39 class QComboBox;
40 class QCheckBox;
41 class QTreeWidgetItem;
42 class QLabel;
43 class QPushButton;
44 class QLineEdit;
45 class QAbstractButton;
46 class QFrame;
47 
48 namespace makVrv
49 {
50  class DtDe;
51 }
52 
53 #define DtCreateObjectFromPaletteType "text/x-vrlCreateObjectFromPalette@Type"
54 
55 namespace makVrf
56 {
57  class DtEntityCreatePaletteLogic;
58  class DtPaletteFilter;
59  class DtEntityPaletteTreeWidget;
60  class DtEntityCreatePaletteItem;
61  class DtTagSelectorWidget;
62  class DtForceSelectionEntryWidget;
63  class DtCountrySelectionEntryWidget;
64 
67  : public DtKeepAlivePage
69  {
70  Q_OBJECT
71 
72  public:
74  DtEntityCreatePalette( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0, bool hasDeployedCountries = true);
75  DtEntityCreatePalette( makVrv::DtDe& de, bool favoritesSupported = true, QWidget* parent = 0, Qt::WindowFlags flags = 0,
76  bool hasDeployedCountries = true,bool allowCombineMode = false);
77 
79  virtual ~DtEntityCreatePalette();
80 
82  virtual QIcon icon();
83 
85  virtual QString title();
86 
88  virtual const std::string& pageClassName() const;
89 
91  static const std::string& thePageClassName();
92 
93  virtual void activate() {};
94  virtual void deactivate() {};
95 
97  virtual void setSignalSelectionOnly(bool);
98 
99  virtual void setFavoritesSupported(bool);
100  virtual bool favoritesSupported() const;
101 
106  virtual void setCombinePalettes(bool combine);
107  virtual bool combinePalettes() const;
108 
110  virtual DtEntityMapperKey selectedObjectType() const;
111 
113  virtual std::vector<DtEntityMapperKey> selectedObjects() const;
114 
117  virtual void selectObject(const DtEntityMapperKey&);
118 
122  virtual void setDragCreateModeEnabled(bool);
123 
125  virtual bool showNonCreatableUnits() const;
126  virtual void setShowNonCreatableUnits(bool);
127 
129  virtual void addIgnore(const DtEntityType&);
130 
132  virtual void clearIgnore();
133 
135  virtual void setIgnore(const std::vector<DtEntityType>&);
136 
138  virtual const std::vector<DtEntityType>& ignoring() const;
139 
140  virtual void setShowFavoritesIcon(bool);
141  virtual bool showFavoritesIcon() const;
142 
144  virtual void setHideCountries(const std::set<std::string>&);
145 
147  virtual bool keepAlive() const override;
148 
149  protected:
151  void setupUi(QWidget* p, bool favoritesSupported);
152 
153  virtual bool hasDeployedCountries() const { return myHasDeployedCountries; };
154 
155  virtual void closeEvent(QCloseEvent*);
156  virtual void showEvent(QShowEvent*);
157 
158  public:
160  virtual void clear();
161 
163  virtual void update();
164 
166  virtual QString currentForce() const;
167 
169  virtual int currentForceType() const;
170 
172  virtual int forceTypeAtIndex(int) const;
173 
175  virtual std::vector<std::string> currentCategories() const;
176 
178  virtual void setAccessibleCategories(const std::set<std::string>&);
179 
181  virtual std::string currentDeployedCountry() const;
182 
183  virtual bool initiallyVisible() const
184  {
185  return true;
186  }
187 
189  virtual void initializeCountries();
190 
192  virtual void selectDeployedCountry(const std::string&);
193 
195  virtual void selectDeployedCountry(int);
196 
198  virtual int numForces() const;
199 
201  virtual int numCategories() const;
202 
204  virtual void addForce(const QString&, int, const QColor&, const std::string& countryCode, bool forceLayout = false);
205 
207  virtual QString force(int) const;
208 
210  virtual bool hasForce(int) const;
211 
213  virtual void setCategories(const DtTagSelectorWidget::Categories&);
214 
216  virtual bool hasCategory(const QString&) const;
217 
219  virtual void selectForce(const QString&);
220 
222  virtual void showForce(bool);
223 
225  virtual void enableForce(bool);
226 
228  virtual void selectForce(int);
229 
231  virtual bool isStickyCategory(const std::string&) const;
232 
234  virtual void setStickyCategories(const std::vector<std::string>&);
235 
237  virtual void selectTopLevelCategory(const std::string& s);
238 
240  virtual const std::vector<std::string>& stickyCategories() const;
241 
243  virtual const std::vector<std::string>& nonStickyCategories() const;
244 
246  virtual void selectCategories(const std::vector<std::string>&);
247 
249  virtual void clearCreateList();
250 
252  virtual void setSortingEnabled(bool);
253 
255  virtual void sizeColumns();
256 
260  virtual void addItem(const DtEntityPaletteItem&, int force);
261 
264  virtual void addPaletteItem(const DtEntityPaletteItem&);
265 
267  virtual void removePaletteItem(const DtEntityMapperKey& key, bool matchPattern = false);
268 
270  virtual void setEnabled(bool);
271 
273  void createFavoriteIcon();
274 
275  virtual void clearForces();
276  virtual void clearDeployedCountries();
277  virtual void clearCategories();
278 
280  virtual void initialize();
281 
284  virtual void addLocalPaletteFilter(const DtPaletteFilter&);
285  virtual void removeLocalPaletteFilter(const DtPaletteFilter&);
286 
287  virtual QMenu* createRightClickMenu(DtEntityCreatePaletteItem*);
288 
289  virtual void slot_onTagsChanged(const std::vector<std::string>&);
290 
291  virtual void setCategoriesFromCounts(const std::map<std::string, int>&, const std::set<std::string>&, int totalItems);
292 
293  virtual void resetVisuals();
294 
295  protected slots:
296  virtual void onItemSelectionChanged();
297  virtual void slot_onForceChanged();
298  virtual void slot_onDeployedCountryChanged();
299  virtual void slot_onItemPressed(QTreeWidgetItem*, QMouseEvent*, int);
300  virtual void slot_onItemRightClickedOn(QTreeWidgetItem*, QMouseEvent*, int);
301  virtual void filterItems();
302  virtual void resetFilter();
303  virtual void addToFavoritesRightClick();
304  virtual void removeFromFavoritesRightClick();
305 
306  protected:
310  std::map<std::string, QTreeWidgetItem*> myItems;
314 
316 
319  std::set<std::string> myAccessibleCategories;
320 
321  public:
322  QVBoxLayout* myMainLayout;
323  QGridLayout* myGridLayout;
327  QImage myFavoriteOn;
333 
337  };
338 
341 
344  {
345  public:
346  DtEntityCreatePaletteItem(makVrv::DtDe& de, const QImage* on = 0, const QImage* off = 0);
347 
348  virtual ~DtEntityCreatePaletteItem();
349 
350  virtual void setFavoritesSupported(bool b);
351 
352  virtual void setPaletteItem(const QString& i);
353  const QString& paletteItem() const
354  {
355  return myPaletteItem;
356  }
357 
358  virtual void resetPixmap();
359 
360  virtual void setFavorite(bool b);
361  bool favorite() const
362  {
363  return myFavorite;
364  }
365 
366  virtual void setEntityMapperKey(const DtEntityMapperKey& k);
368  {
369  return myEntityMapperKey;
370  }
371 
372  virtual QVariant data(int iColumn, int iRole) const;
373 
374  protected:
375  virtual void updatePixmap();
376 
377  protected:
378  QString myPaletteItem;
382  const QImage* myFavoriteOn;
383  const QImage* myFavoriteOff;
384  QPixmap* myPixmapEnabled;
387  };
388 
391  {
392  public:
393  DtEntityPaletteTreeWidget(makVrv::DtDe& de, QWidget* p);
394  virtual ~DtEntityPaletteTreeWidget();
395 
396  virtual QSize sizeHint() const;
397 
398  bool favoritesSupported() const
399  {
400  return myFavoritesSupported;
401  }
402 
403  virtual void setFavoritesSupported(bool b);
404 
406  virtual void mousePressEvent(QMouseEvent *event);
407 
408  boost::signals2::signal<void (DtEntityMapperKey, bool)> signal_favoriteChanged;
409 
410  protected:
411  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
412 
413  protected:
415  };
416 
419  {
420  public:
423 
426 
428  static void registerInstance(makVrv::DtDe& de, DtEntityPaletteTreeWidgetCreator* instance);
429 
430  virtual DtEntityPaletteTreeWidget* create(QWidget* parent);
431 
432  protected:
434  };
435 
438  {
439  public:
442 
445 
446  virtual DtEntityCreatePaletteItem* create(const QImage* on = 0, const QImage* off = 0);
447 
448  static DtEntityCreatePaletteItemCreator& instance(makVrv::DtDe& de);
449  static void registerInstance(makVrv::DtDe& de, DtEntityCreatePaletteItemCreator*);
450 
451  protected:
453  };
454 }
Definition: entityCreatePaletteLogic.h:37
bool myCloseEventSent
Definition: entityCreatePalette.h:313
Definition: treeWidget.h:33
Contains makVrv::DtUserInterfaceAssembler class.
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:57
Definition: entityMapperKey.h:23
Virtual base class.
Definition: DtVirtualBaseClass.h:19
QImage myFavoriteOn
Definition: entityCreatePalette.h:327
QPushButton * myResetButton
Definition: entityCreatePalette.h:331
QMenu * myRightClickMenu
Definition: entityCreatePalette.h:318
QPixmap * myPixmapEnabled
Definition: entityCreatePalette.h:384
Contains makVrv::DtPage class.
const DtEntityMapperKey & entityMapperKey() const
Definition: entityCreatePalette.h:367
Definition: entityCreatePaletteLogic.h:95
A widget class for showing different items of supplied types to the logic tthat can be created...
Definition: entityCreatePalette.h:66
A widget class for allowing this page to be kept alive under certain circumstances.
Definition: keepAlivePage.h:16
const QImage * myFavoriteOff
Definition: entityCreatePalette.h:383
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtEntityCreatePaletteLogic * myLogic
Definition: entityCreatePalette.h:309
bool myHasDeployedCountries
Definition: entityCreatePalette.h:312
bool myFavorite
Definition: entityCreatePalette.h:381
const QImage * myFavoriteOn
Definition: entityCreatePalette.h:382
bool favorite() const
Definition: entityCreatePalette.h:361
bool myFavoritesSupported
Definition: entityCreatePalette.h:414
!!!!!!!!!!!! DtEntityPaletteTreeWidgetCreator
Definition: entityCreatePalette.h:418
bool favoritesSupported() const
Definition: entityCreatePalette.h:398
Definition: DtPage.h:143
QPixmap * myPixmapDisabled
Definition: entityCreatePalette.h:385
QLineEdit * mySearch
Definition: entityCreatePalette.h:330
bool myAllowCombineMode
Definition: entityCreatePalette.h:336
boost::signals2::signal< void(DtEntityMapperKey, bool)> signal_favoriteChanged
Definition: entityCreatePalette.h:408
QString myPaletteItem
Definition: entityCreatePalette.h:378
The DtTagSelectorWidget will display information based on given tags and allow the user to select fro...
Definition: tagSelectorWidget.h:167
Registered creator for the tree widget item class.
Definition: entityCreatePalette.h:437
std::set< std::string > myAccessibleCategories
Definition: entityCreatePalette.h:319
Contains makVrv::DtVirtualBaseClass class.
QAbstractButton * myCurrentTopLevelButtonSelected
Definition: entityCreatePalette.h:335
makVrv::DtDe & myDe
Definition: entityCreatePalette.h:380
DtEntityPaletteTreeWidget * myEntities
Definition: entityCreatePalette.h:326
!!!!!!!!!! DtEntityPaletteTreeWidget
Definition: entityCreatePalette.h:390
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Logic for adding items to the entity create palette. Add a DtPaletteFilter to filter beyond the categ...
Definition: entityCreatePaletteLogic.h:56
const QString & paletteItem() const
Definition: entityCreatePalette.h:353
virtual bool hasDeployedCountries() const
Returns true if supports deployed countries.
Definition: entityCreatePalette.h:153
bool myShowFavoritesIcon
Definition: entityCreatePalette.h:317
std::map< int, CategoriesByCategory > Categories
Map by rank of the categories. Note that rank 0 means this is a top level category icon...
Definition: tagSelectorWidget.h:181
DtTagSelectorWidget * myTags
Definition: entityCreatePalette.h:324
bool myFavoritesSupported
Definition: entityCreatePalette.h:311
QGridLayout * myGridLayout
Definition: entityCreatePalette.h:323
bool myInCreationProcess
Definition: entityCreatePalette.h:315
Base class to provide boost signal/slot management.
virtual void activate()
Called when the page is displayed.
Definition: entityCreatePalette.h:93
bool myInitialized
Definition: entityCreatePalette.h:307
makVrv::DtDe & myDe
Definition: entityCreatePalette.h:433
QVBoxLayout * myMainLayout
Definition: entityCreatePalette.h:322
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
makVrv::DtDe & myDe
Definition: entityCreatePalette.h:452
QAbstractButton * myCurrentForceButtonSelected
Definition: entityCreatePalette.h:334
makVrv::DtSignalConnectionManager myConnections
Definition: entityCreatePalette.h:308
virtual void deactivate()
Called when the page is hidden.
Definition: entityCreatePalette.h:94
Widget that allows the selection of a country.
Definition: countrySelectionEntryWidget.h:39
QLabel * mySearchLabel
Definition: entityCreatePalette.h:329
makVrv::DtPageCreatorTemplate< DtEntityCreatePalette > DtEntityPalettePageCreator
Definition: entityCreatePalette.h:340
DtEntityMapperKey myEntityMapperKey
Definition: entityCreatePalette.h:379
bool myFavoritesSupported
Definition: entityCreatePalette.h:386
DtForceSelectionEntryWidget * myForces
Definition: entityCreatePalette.h:325
!!!!!!!!!!!!!!!!!!!!! DtEntityCreatePaletteItem
Definition: entityCreatePalette.h:343
Abstract interface for the entity creation palette.
Definition: entityCreatePaletteInterface.h:29
DtCountrySelectionEntryWidget * myUsedByCountry
Definition: entityCreatePalette.h:332
std::map< std::string, QTreeWidgetItem * > myItems
Definition: entityCreatePalette.h:310
QImage myFavoriteOff
Definition: entityCreatePalette.h:328
virtual bool initiallyVisible() const
Definition: entityCreatePalette.h:183

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)