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);
154 virtual void setShowCountsOnObjectList(
bool);
157 return myShowCountsOnObjectList;
162 void setupUi(QWidget* p,
bool favoritesSupported);
163 void createObjectCreationInformation();
165 virtual void closeEvent(QCloseEvent*);
166 virtual void showEvent(QShowEvent*);
168 virtual void aboutToShow()
override;
172 virtual void clear();
175 virtual void update();
178 virtual QString currentForce()
const;
181 virtual int currentForceType()
const;
184 virtual int forceTypeAtIndex(
int)
const;
187 virtual std::vector<std::string> currentCategories()
const;
190 virtual std::string currentDeployedCountry()
const;
198 virtual void initializeCountries();
201 virtual void selectDeployedCountry(
const std::string&);
204 virtual void selectDeployedCountry(
int);
207 virtual int numForces()
const;
210 virtual int numCategories()
const;
213 virtual void addForce(
const QString&,
int,
const QColor&,
const std::string& countryCode,
bool forceLayout =
false);
216 virtual QString force(
int)
const;
219 virtual bool hasForce(
int)
const;
225 virtual bool hasCategory(
const QString&)
const;
228 virtual void selectForce(
const QString&);
231 virtual void showForce(
bool);
234 virtual void enableForce(
bool);
237 virtual void selectForce(
int);
240 virtual bool isStickyCategory(
const std::string&)
const;
243 virtual void setStickyCategories(
const std::vector<std::string>&);
246 virtual void selectTopLevelCategory(
const std::string& s);
249 virtual DtString topLevelCategory(
int)
const;
254 virtual const std::vector<std::string>& stickyCategories()
const;
257 virtual void selectCategories(
const std::vector<std::string>&);
260 virtual void clearCreateList();
263 virtual void sortItems();
266 virtual void sizeColumns();
278 virtual void removePaletteItem(
const DtEntityMapperKey& key,
bool matchPattern =
false);
281 virtual void setEnabled(
bool);
284 void createFavoriteIcon();
286 virtual void clearForces();
287 virtual void clearDeployedCountries();
288 virtual void clearCategories();
291 virtual void initialize();
300 virtual void slot_onTagsChanged(
const std::vector<std::string>&);
302 virtual void setCategoriesFromCounts(
const std::map<std::string, int>&,
const std::set<std::string>&,
int totalItems,
303 const std::vector<std::string>& categoriesToResetTo = std::vector<std::string>());
305 virtual void resetVisuals();
307 virtual void loadCustomTags();
310 virtual void slot_setTagFromObjectInformation(std::vector<std::string> tag);
313 virtual void resetCategoriesBasedOnVisibleItems();
314 virtual void resetParentVisibility();
317 virtual void showInformationForItem(
const QModelIndex&);
318 virtual void onItemSelectionChanged();
319 virtual void slot_onForceChanged();
320 virtual void slot_onDeployedCountryChanged();
322 virtual void slot_onItemRightClickedOn(
QTreeWidgetItem*, QMouseEvent*,
int);
323 virtual void filterItems();
324 virtual void resetFilter();
325 virtual void addToFavoritesRightClick();
326 virtual void removeFromFavoritesRightClick();
332 std::map<std::string, QTreeWidgetItem*>
myItems;
339 bool myKeepSameInformation =
false;
343 bool myShowCountsOnObjectList =
false;
379 virtual void setFavoritesSupported(
bool b);
381 virtual void setPaletteItem(
const QString& i);
384 return myPaletteItem;
387 virtual void resetPixmap();
389 virtual void setFavorite(
bool b);
398 return myEntityMapperKey;
403 return myEntityMapperKey;
406 virtual QVariant data(
int iColumn,
int iRole)
const override;
409 virtual void updatePixmap();
431 virtual QSize sizeHint()
const;
435 return myFavoritesSupported;
438 virtual void setFavoritesSupported(
bool b);
439 virtual bool viewportEvent(
QEvent *event)
override;
442 void showInformationForItem(
const QModelIndex&);
506 virtual void on_triggered();
517 virtual QVariant data(
int col,
int role)
const override;
519 virtual void setTitle(
const QString&);
520 virtual void setObjectCount(
int i);
521 virtual void setShowObjectCount(
bool b);
524 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:61
QMenu * myRightClickMenu
Definition: createObjectPalette.h:342
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
bool myCloseEventSent
Definition: createObjectPalette.h:336
QAbstractButton * myCurrentTopLevelButtonSelected
Definition: createObjectPalette.h:357
DtForceSelectionEntryWidget * myForces
Definition: createObjectPalette.h:350
Contains makVrv::DtPage class.
QImage myFavoriteOn
Definition: createObjectPalette.h:352
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:353
QGridLayout * myGridLayout
Definition: createObjectPalette.h:348
makVrv::DtPageCreatorTemplate< DtCreateObjectPalette > DtCreateObjectPalettePageCreator
Definition: createObjectPalette.h:369
std::map< std::string, QTreeWidgetItem * > myItems
Definition: createObjectPalette.h:332
QVBoxLayout * myObjectInformationLayout
Definition: createObjectPalette.h:361
QLabel * myObjectCreationPicture
Definition: createObjectPalette.h:363
DtCountrySelectionEntryWidget * myUsedByCountry
Definition: createObjectPalette.h:354
QWidget * myObjectCreationInformation
Definition: createObjectPalette.h:360
virtual void activate()
Called when the page is displayed.
Definition: createObjectPalette.h:100
bool myFavoritesSupported
Definition: createObjectPalette.h:334
QLabel * myObjectCreationDescription
Definition: createObjectPalette.h:364
makVrv::DtSignalConnectionManager myConnections
Definition: createObjectPalette.h:330
virtual bool hasDeployedCountries() const
Returns true if supports deployed countries.
Definition: createObjectPalette.h:152
std::map< std::string, QTreeWidgetItem * > myTopLevelItems
Definition: createObjectPalette.h:333
Contains makVrv::DtVirtualBaseClass class.
bool myInCreationProcess
Definition: createObjectPalette.h:338
QVBoxLayout * myMainLayout
Definition: createObjectPalette.h:346
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtTagSelectorWidget * myObjectTags
Definition: createObjectPalette.h:365
bool myInitialized
Definition: createObjectPalette.h:329
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:347
QAbstractButton * myCurrentForceButtonSelected
Definition: createObjectPalette.h:356
bool showCountsOnObjectList() const
Definition: createObjectPalette.h:155
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:331
Base class to provide boost signal/slot management.
bool myHasDeployedCountries
Definition: createObjectPalette.h:335
bool myShowFavoritesIcon
Definition: createObjectPalette.h:341
virtual bool initiallyVisible() const override
Definition: createObjectPalette.h:192
DtTagSelectorWidget * myTags
Definition: createObjectPalette.h:349
DtCreateObjectPaletteTreeWidget * myObjects
Definition: createObjectPalette.h:351
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:72
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:359
QLabel * myGuiLabel
Definition: createObjectPalette.h:362