10 #if !defined(Q_MOC_RUN)
25 #include <boost/signals2.hpp>
27 #include <QtWidgets/QWidget>
28 #include <QtWidgets/QToolButton>
29 #include <QtGui/QPixmap>
30 #include <QtGui/QImage>
31 #include <QtCore/QHash>
32 #include <QtWidgets/QTreeWidget>
33 #include <QtWidgets/QStyledItemDelegate>
46 class QAbstractButton;
56 #define DtCreateObjectFromPaletteType "text/x-vrlCreateObjectFromPalette@Type"
60 class DtCreateObjectPaletteLogic;
61 class DtPaletteFilter;
62 class DtCreateObjectPaletteTreeWidget;
63 class DtCreateObjectPaletteTreeWidgetItem;
64 struct DtCreateObjectPaletteItem;
65 class DtTagSelectorWidget;
66 class DtForceSelectionEntryWidget;
67 class DtCountrySelectionEntryWidget;
92 virtual QString title();
95 virtual const std::string& pageClassName()
const;
98 static const std::string& thePageClassName();
104 virtual void setSignalSelectionOnly(
bool);
106 virtual void setFavoritesSupported(
bool);
107 virtual bool favoritesSupported()
const;
113 virtual std::vector<DtEntityMapperKey> selectedObjects()
const;
122 virtual void setDragCreateModeEnabled(
bool);
125 virtual bool showNonCreatableUnits()
const;
126 virtual void setShowNonCreatableUnits(
bool);
131 virtual void addIgnore(
const DtEntityType&);
134 virtual void clearIgnore();
137 virtual void setIgnore(
const std::vector<DtEntityType>&);
140 virtual const std::vector<DtEntityType>& ignoring()
const;
142 virtual void setShowFavoritesIcon(
bool);
143 virtual bool showFavoritesIcon()
const;
146 virtual void setHideCountries(
const std::set<std::string>&);
149 virtual bool keepAlive()
const override;
151 virtual void setHasDeployedCountries(
bool);
155 virtual void setShowCountsOnObjectList(
bool);
158 return myShowCountsOnObjectList;
163 void setupUi(QWidget* p,
bool favoritesSupported);
164 void createObjectCreationInformation();
166 virtual void closeEvent(QCloseEvent*);
167 virtual void showEvent(QShowEvent*);
169 virtual void aboutToShow()
override;
173 virtual void clear();
176 virtual void update();
179 virtual QString currentForce()
const;
182 virtual int currentForceType()
const;
185 virtual int forceTypeAtIndex(
int)
const;
188 virtual std::vector<std::string> currentCategories()
const;
191 virtual std::string currentDeployedCountry()
const;
199 virtual void initializeCountries();
202 virtual void selectDeployedCountry(
const std::string&);
205 virtual void selectDeployedCountry(
int);
208 virtual int numForces()
const;
211 virtual int numCategories()
const;
214 virtual void addForce(
const QString&,
int,
const QColor&,
const std::string& countryCode,
bool forceLayout =
false);
217 virtual QString force(
int)
const;
220 virtual bool hasForce(
int)
const;
226 virtual bool hasCategory(
const QString&)
const;
229 virtual void selectForce(
const QString&);
232 virtual void showForce(
bool);
235 virtual void enableForce(
bool);
238 virtual void selectForce(
int);
241 virtual bool isStickyCategory(
const std::string&)
const;
244 virtual void setStickyCategories(
const std::vector<std::string>&);
247 virtual void selectTopLevelCategory(
const std::string& s);
250 virtual DtString topLevelCategory(
int)
const;
255 virtual const std::vector<std::string>& stickyCategories()
const;
258 virtual void selectCategories(
const std::vector<std::string>&);
261 virtual void clearCreateList();
264 virtual void sortItems();
267 virtual void sizeColumns();
279 virtual void removePaletteItem(
const DtEntityMapperKey& key,
bool matchPattern =
false);
282 virtual void setEnabled(
bool);
285 void createFavoriteIcon();
287 virtual void clearForces();
288 virtual void clearDeployedCountries();
289 virtual void clearCategories();
292 virtual void initialize();
301 virtual void slot_onTagsChanged(
const std::vector<std::string>&);
303 virtual void setCategoriesFromCounts(
const std::map<std::string, int>&,
const std::set<std::string>&,
int totalItems,
304 const std::vector<std::string>& categoriesToResetTo = std::vector<std::string>(),
const std::set<std::string>& allCategories = std::set<std::string>());
306 virtual void resetVisuals();
308 virtual void loadCustomTags();
311 virtual void slot_setTagFromObjectInformation(std::vector<std::string> tag);
314 virtual void resetCategoriesBasedOnVisibleItems();
315 virtual void resetParentVisibility();
318 virtual void showInformationForItem(
const QModelIndex&);
319 virtual void onItemSelectionChanged();
320 virtual void slot_onForceChanged();
321 virtual void slot_onDeployedCountryChanged();
323 virtual void slot_onItemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int);
324 virtual void filterItems();
325 virtual void resetFilter();
326 virtual void addToFavoritesRightClick();
327 virtual void removeFromFavoritesRightClick();
333 std::map<std::string, QTreeWidgetItem*>
myItems;
340 bool myKeepSameInformation =
false;
344 bool myShowCountsOnObjectList =
false;
380 virtual void setFavoritesSupported(
bool b);
382 virtual void setPaletteItem(
const QString& i);
385 return myPaletteItem;
388 virtual void resetPixmap();
390 virtual void setFavorite(
bool b);
399 return myEntityMapperKey;
404 return myEntityMapperKey;
407 virtual QVariant data(
int iColumn,
int iRole)
const override;
410 virtual void updatePixmap();
432 virtual QSize sizeHint()
const;
436 return myFavoritesSupported;
439 virtual void setFavoritesSupported(
bool b);
440 virtual bool viewportEvent(
QEvent *event)
override;
443 void showInformationForItem(
const QModelIndex&);
507 virtual void on_triggered();
518 virtual QVariant data(
int col,
int role)
const override;
520 virtual void setTitle(
const QString&);
521 virtual void setObjectCount(
int i);
522 virtual void setShowObjectCount(
bool b);
525 return myShowObjectCount;
virtual void deactivate()
Called when the page is hidden.
Definition: createObjectPalette.h:101
Contains makVrv::DtUserInterfaceAssembler class.
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:62
QMenu * myRightClickMenu
Definition: createObjectPalette.h:343
Definition: entityMapperKey.h:19
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool myCloseEventSent
Definition: createObjectPalette.h:337
QAbstractButton * myCurrentTopLevelButtonSelected
Definition: createObjectPalette.h:358
DtForceSelectionEntryWidget * myForces
Definition: createObjectPalette.h:351
Contains makVrv::DtPage class declaration.
QImage myFavoriteOn
Definition: createObjectPalette.h:353
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
Definition: createObjectPaletteLogic.h:45
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtSearchWidget * mySearchWidget
Definition: createObjectPalette.h:354
QGridLayout * myGridLayout
Definition: createObjectPalette.h:349
makVrv::DtPageCreatorTemplate< DtCreateObjectPalette > DtCreateObjectPalettePageCreator
Definition: createObjectPalette.h:370
std::map< std::string, QTreeWidgetItem * > myItems
Definition: createObjectPalette.h:333
QVBoxLayout * myObjectInformationLayout
Definition: createObjectPalette.h:362
QLabel * myObjectCreationPicture
Definition: createObjectPalette.h:364
DtCountrySelectionEntryWidget * myUsedByCountry
Definition: createObjectPalette.h:355
QWidget * myObjectCreationInformation
Definition: createObjectPalette.h:361
virtual void activate()
Called when the page is displayed.
Definition: createObjectPalette.h:100
bool myFavoritesSupported
Definition: createObjectPalette.h:335
QLabel * myObjectCreationDescription
Definition: createObjectPalette.h:365
makVrv::DtSignalConnectionManager myConnections
Definition: createObjectPalette.h:331
virtual bool hasDeployedCountries() const
Returns true if supports deployed countries.
Definition: createObjectPalette.h:152
std::map< std::string, QTreeWidgetItem * > myTopLevelItems
Definition: createObjectPalette.h:334
Contains makVrv::DtVirtualBaseClass class.
bool myInCreationProcess
Definition: createObjectPalette.h:339
QVBoxLayout * myMainLayout
Definition: createObjectPalette.h:347
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtTagSelectorWidget * myObjectTags
Definition: createObjectPalette.h:366
bool myInitialized
Definition: createObjectPalette.h:330
Logic for adding items to the object creation palette. Add a DtPaletteFilter to filter beyond the cat...
Definition: createObjectPaletteFilters.h:44
QWidget * myObjectSelection
Definition: createObjectPalette.h:348
QAbstractButton * myCurrentForceButtonSelected
Definition: createObjectPalette.h:357
bool showCountsOnObjectList() const
Definition: createObjectPalette.h:156
A widget class for showing different items of supplied types to the logic tthat can be created...
Definition: createObjectPalette.h:71
DtCreateObjectPaletteLogic * myLogic
Definition: createObjectPalette.h:332
Base class to provide boost signal/slot management.
bool myHasDeployedCountries
Definition: createObjectPalette.h:336
bool myShowFavoritesIcon
Definition: createObjectPalette.h:342
virtual bool initiallyVisible() const override
Definition: createObjectPalette.h:193
DtTagSelectorWidget * myTags
Definition: createObjectPalette.h:350
DtCreateObjectPaletteTreeWidget * myObjects
Definition: createObjectPalette.h:352
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:76
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
virtual bool hideTitle() const
Definition: createObjectPalette.h:128
Widget that allows the selection of a country.
Definition: countrySelectionEntryWidget.h:39
Definition: createObjectPaletteFilters.h:22
Abstract interface for the object creation palette.
Definition: createObjectPaletteInterface.h:29
QSplitter * mySplitter
Definition: createObjectPalette.h:360
QLabel * myGuiLabel
Definition: createObjectPalette.h:363