13 #if !defined(Q_MOC_RUN)
28 #include <boost/signals2.hpp>
30 #include <QtWidgets/QWidget>
31 #include <QtWidgets/QToolButton>
32 #include <QtGui/QPixmap>
33 #include <QtGui/QImage>
34 #include <QtCore/QHash>
35 #include <QtWidgets/QTreeWidget>
46 class QAbstractButton;
55 #define DtCreateObjectFromPaletteType "text/x-vrlCreateObjectFromPalette@Type"
59 class DtEntityCreatePaletteLogic;
60 class DtPaletteFilter;
61 class DtEntityPaletteTreeWidget;
62 class DtEntityCreatePaletteItem;
63 class DtTagSelectorWidget;
64 class DtForceSelectionEntryWidget;
65 class DtCountrySelectionEntryWidget;
78 bool hasDeployedCountries =
true,
bool allowCombineMode =
false);
91 virtual QString title();
94 virtual const std::string& pageClassName()
const;
97 static const std::string& thePageClassName();
103 virtual void setSignalSelectionOnly(
bool);
105 virtual void setFavoritesSupported(
bool);
106 virtual bool favoritesSupported()
const;
112 virtual void setCombinePalettes(
bool combine);
113 virtual bool combinePalettes()
const;
119 virtual std::vector<DtEntityMapperKey> selectedObjects()
const;
128 virtual void setDragCreateModeEnabled(
bool);
131 virtual bool showNonCreatableUnits()
const;
132 virtual void setShowNonCreatableUnits(
bool);
135 virtual void addIgnore(
const DtEntityType&);
138 virtual void clearIgnore();
141 virtual void setIgnore(
const std::vector<DtEntityType>&);
144 virtual const std::vector<DtEntityType>& ignoring()
const;
146 virtual void setShowFavoritesIcon(
bool);
147 virtual bool showFavoritesIcon()
const;
150 virtual void setHideCountries(
const std::set<std::string>&);
153 virtual bool keepAlive()
const override;
157 void setupUi(QWidget* p,
bool favoritesSupported);
161 virtual void closeEvent(QCloseEvent*);
162 virtual void showEvent(QShowEvent*);
166 virtual void clear();
169 virtual void update();
172 virtual QString currentForce()
const;
175 virtual int currentForceType()
const;
178 virtual int forceTypeAtIndex(
int)
const;
181 virtual std::vector<std::string> currentCategories()
const;
184 virtual void setAccessibleCategories(
const std::set<std::string>&);
187 virtual std::string currentDeployedCountry()
const;
195 virtual void initializeCountries();
198 virtual void selectDeployedCountry(
const std::string&);
201 virtual void selectDeployedCountry(
int);
204 virtual int numForces()
const;
207 virtual int numCategories()
const;
210 virtual void addForce(
const QString&,
int,
const QColor&,
const std::string& countryCode,
bool forceLayout =
false);
213 virtual QString force(
int)
const;
216 virtual bool hasForce(
int)
const;
222 virtual bool hasCategory(
const QString&)
const;
225 virtual void selectForce(
const QString&);
228 virtual void showForce(
bool);
231 virtual void enableForce(
bool);
234 virtual void selectForce(
int);
237 virtual bool isStickyCategory(
const std::string&)
const;
240 virtual void setStickyCategories(
const std::vector<std::string>&);
243 virtual void selectTopLevelCategory(
const std::string& s);
246 virtual const std::vector<std::string>& stickyCategories()
const;
249 virtual const std::vector<std::string>& nonStickyCategories()
const;
252 virtual void selectCategories(
const std::vector<std::string>&);
255 virtual void clearCreateList();
258 virtual void setSortingEnabled(
bool);
261 virtual void sizeColumns();
273 virtual void removePaletteItem(
const DtEntityMapperKey& key,
bool matchPattern =
false);
276 virtual void setEnabled(
bool);
279 void createFavoriteIcon();
281 virtual void clearForces();
282 virtual void clearDeployedCountries();
283 virtual void clearCategories();
286 virtual void initialize();
295 virtual void slot_onTagsChanged(
const std::vector<std::string>&);
297 virtual void setCategoriesFromCounts(
const std::map<std::string, int>&,
const std::set<std::string>&,
int totalItems);
299 virtual void resetVisuals();
301 virtual void loadCustomTags();
304 virtual void onItemSelectionChanged();
305 virtual void slot_onForceChanged();
306 virtual void slot_onDeployedCountryChanged();
308 virtual void slot_onItemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int);
309 virtual void filterItems();
310 virtual void resetFilter();
311 virtual void addToFavoritesRightClick();
312 virtual void removeFromFavoritesRightClick();
318 std::map<std::string, QTreeWidgetItem*>
myItems;
358 virtual void setFavoritesSupported(
bool b);
360 virtual void setPaletteItem(
const QString& i);
363 return myPaletteItem;
366 virtual void resetPixmap();
368 virtual void setFavorite(
bool b);
377 return myEntityMapperKey;
380 virtual QVariant data(
int iColumn,
int iRole)
const;
383 virtual void updatePixmap();
404 virtual QSize sizeHint()
const;
408 return myFavoritesSupported;
411 virtual void setFavoritesSupported(
bool b);
414 virtual void mousePressEvent(QMouseEvent *event);
479 virtual void on_triggered();
Definition: entityCreatePaletteLogic.h:37
bool myCloseEventSent
Definition: entityCreatePalette.h:321
Contains makVrv::DtUserInterfaceAssembler class.
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
Definition: entityMapperKey.h:23
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
QImage myFavoriteOn
Definition: entityCreatePalette.h:335
QMenu * myRightClickMenu
Definition: entityCreatePalette.h:326
QPixmap * myPixmapEnabled
Definition: entityCreatePalette.h:392
Contains makVrv::DtPage class.
const DtEntityMapperKey & entityMapperKey() const
Definition: entityCreatePalette.h:375
Definition: entityCreatePaletteLogic.h:95
A widget class for showing different items of supplied types to the logic tthat can be created...
Definition: entityCreatePalette.h:68
A widget class for allowing this page to be kept alive under certain circumstances. Implement the keepAlive() method in your subclass to do this. Default is false.
Definition: keepAlivePage.h:17
const QImage * myFavoriteOff
Definition: entityCreatePalette.h:391
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtEntityCreatePaletteLogic * myLogic
Definition: entityCreatePalette.h:317
bool myHasDeployedCountries
Definition: entityCreatePalette.h:320
bool myFavorite
Definition: entityCreatePalette.h:389
const QImage * myFavoriteOn
Definition: entityCreatePalette.h:390
bool favorite() const
Definition: entityCreatePalette.h:369
QToolButton * myResetButton
Definition: entityCreatePalette.h:339
QPixmap * myPixmapDisabled
Definition: entityCreatePalette.h:393
QLineEdit * mySearch
Definition: entityCreatePalette.h:338
bool myAllowCombineMode
Definition: entityCreatePalette.h:344
QString myPaletteItem
Definition: entityCreatePalette.h:386
Registered creator for the tree widget item class.
Definition: entityCreatePalette.h:445
std::set< std::string > myAccessibleCategories
Definition: entityCreatePalette.h:327
Contains makVrv::DtVirtualBaseClass class.
QAbstractButton * myCurrentTopLevelButtonSelected
Definition: entityCreatePalette.h:343
makVrv::DtDe & myDe
Definition: entityCreatePalette.h:388
DtEntityPaletteTreeWidget * myEntities
Definition: entityCreatePalette.h:334
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:361
virtual bool hasDeployedCountries() const
Returns true if supports deployed countries.
Definition: entityCreatePalette.h:159
bool myShowFavoritesIcon
Definition: entityCreatePalette.h:325
DtTagSelectorWidget * myTags
Definition: entityCreatePalette.h:332
bool myFavoritesSupported
Definition: entityCreatePalette.h:319
QGridLayout * myGridLayout
Definition: entityCreatePalette.h:331
bool myInCreationProcess
Definition: entityCreatePalette.h:323
Base class to provide boost signal/slot management.
virtual void activate()
Called when the page is displayed.
Definition: entityCreatePalette.h:99
bool myInitialized
Definition: entityCreatePalette.h:315
QVBoxLayout * myMainLayout
Definition: entityCreatePalette.h:330
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
makVrv::DtDe & myDe
Definition: entityCreatePalette.h:460
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:75
QAbstractButton * myCurrentForceButtonSelected
Definition: entityCreatePalette.h:342
makVrv::DtSignalConnectionManager myConnections
Definition: entityCreatePalette.h:316
virtual void deactivate()
Called when the page is hidden.
Definition: entityCreatePalette.h:100
Widget that allows the selection of a country.
Definition: countrySelectionEntryWidget.h:39
QLabel * mySearchLabel
Definition: entityCreatePalette.h:337
makVrv::DtPageCreatorTemplate< DtEntityCreatePalette > DtEntityPalettePageCreator
Definition: entityCreatePalette.h:348
DtEntityMapperKey myEntityMapperKey
Definition: entityCreatePalette.h:387
bool myFavoritesSupported
Definition: entityCreatePalette.h:394
DtForceSelectionEntryWidget * myForces
Definition: entityCreatePalette.h:333
!!!!!!!!!!!!!!!!!!!!! DtEntityCreatePaletteItem
Definition: entityCreatePalette.h:351
Abstract interface for the entity creation palette.
Definition: entityCreatePaletteInterface.h:29
DtCountrySelectionEntryWidget * myUsedByCountry
Definition: entityCreatePalette.h:340
std::map< std::string, QTreeWidgetItem * > myItems
Definition: entityCreatePalette.h:318
QImage myFavoriteOff
Definition: entityCreatePalette.h:336
virtual bool initiallyVisible() const
Definition: entityCreatePalette.h:189