11 #if !defined(Q_MOC_RUN)
22 #include <QtCore/QHash>
23 #include <QtGui/QImage>
24 #include <QtCore/QMap>
25 #include <QtCore/QDir>
26 #include <QtCore/QString>
27 #include <QtCore/QVariant>
28 #include <QtWidgets/QMessageBox>
29 #include <QtWidgets/QStyledItemDelegate>
31 #include <boost/function.hpp>
39 class DtEntityMapperKey;
40 class DtCountrySelectionEntryWidget;
87 void setCategories(
const std::vector<std::string>&);
88 void setUsedByCountry(
const std::string&,
const std::string& countryName);
92 virtual void ignoreObjectType(
const DtObjectType&);
98 virtual void removeIgnoreObjectType(
const DtObjectType&);
105 std::vector<DtEntityFilterFunction> myFilterFunctions;
119 virtual QVariant data(
int column,
int role)
const;
126 bool isInMasterSMS()
const;
129 virtual void clearVisuals();
131 virtual void setShowWarning(
bool);
134 return myShowWarning;
137 virtual void setWarning(
const QString&);
144 virtual QImage getPixmap(
const DtObjectType& o,
int force)
const;
145 virtual void createGrayscaleForcePixmap()
const;
165 virtual void paint(QPainter *painter,
166 const QStyleOptionViewItem &option,
167 const QModelIndex &index)
const;
185 bool hasSelection()
const;
186 virtual void clear();
187 virtual std::set<makVrf::DtEntityMapperKey> getSelectedInformation()
const;
188 virtual std::set<makVrf::DtEntityMapperKey> getRevertableKeys()
const;
189 virtual void getSelectedInformation(DtObjectType& key)
const;
191 virtual void getInformation(
QTreeWidgetItem*, DtObjectType& key)
const;
192 virtual std::vector<DtEntityPaletteItem*> itemsFor(
const DtEntityType& t)
const;
194 virtual bool canRevertExisting()
const;
195 virtual bool canMakeTemplate()
const;
197 virtual bool addNewData(
const std::vector<DtSimulationModelSetLoader::EntityData*>&);
200 virtual bool canDeleteExisting(
bool any =
false)
const;
201 virtual bool selectedIsInMasterSMS()
const;
202 virtual bool selectedParentIsInMasterSMS()
const;
203 virtual bool parentIsUnit()
const;
205 virtual bool canAddSubordinateToSelected()
const;
208 virtual bool hasCategory(
const QString&)
const;
210 virtual void select(
const std::vector<DtObjectType>&);
212 virtual std::vector<std::string> selectedCategories()
const;
214 virtual QString textFilter()
const;
215 virtual void setTextFilter(
const QString&);
217 virtual DtObjectType selectedObjectType()
const;
218 virtual std::vector<DtObjectType> selectedObjectTypes()
const;
221 virtual void setSelected(
const QString&,
bool forceReselect =
true);
223 virtual void selectPath(
const QString& path);
225 virtual int selectedItemsCount()
const;
226 virtual bool selectedIsPartOfSimulationObjectGroup()
const;
227 virtual bool itemIsPartOfSimulationObjectGroup(
QTreeWidgetItem*)
const;
229 virtual void addAllItems();
231 virtual void updateUsedByCountries();
234 virtual void ignoreObjectType(
const DtObjectType&);
237 virtual void removeIgnoreObjectType(
const DtObjectType&);
238 virtual void clearIgnoreObjectTypes();
240 virtual void selectUncategorized();
241 virtual void selectCategory(
const QString&);
242 virtual void selectUsedByCountry(
const std::string&);
243 virtual QColor outlineColor()
const;
248 virtual void setRightClickEnabled(
bool b);
249 bool rightClickEnabled()
const;
251 virtual void setShowWarningForFilteredItems(
bool b);
252 bool showWarningForFilteredItems()
const;
254 virtual QStringList selectedNames()
const;
255 virtual void selectNames(
const QStringList&);
261 virtual void setFilterOnForces(
const DtRwForces& forces);
270 virtual QString selectedUsedByCountry()
const;
271 virtual std::string selectedCountryCode()
const;
272 virtual QString selectedPath()
const;
277 virtual void setShowIncluded(
bool);
280 return myShowIncluded;
284 virtual void setShowAllTags(
bool);
287 return myShowAllTags;
290 static DtObjectType stringToType(
const QString&);
294 virtual void hierarchyChanged(
const DtObjectType& obj);
299 virtual void disableItemsThatHaveThisAsAChild(
const DtObjectType&);
300 virtual void enableAllItems();
304 virtual void addObjectToHierarchy(
const DtObjectType&,
QTreeWidgetItem*,
int index = -1);
306 bool executingFilter()
const;
307 virtual QSize sizeHint()
const;
308 virtual QSize minimumSizeHint()
const;
311 virtual void removeFromHierarchy();
312 virtual void moveUp();
313 virtual void moveDown();
314 virtual void replaceInHierarchy();
315 virtual void addNewSubordinate();
316 virtual void addNewSubordinateFromExisting();
317 virtual void addToHierarchy();
318 virtual void addSubordinatesFromPalette();
322 virtual void fillInList();
323 virtual void deleteExisting();
324 virtual void revertExisting();
325 virtual void executeFilter();
326 virtual void redisplayListIcons();
327 virtual void executeTextFilter();
328 virtual void selectionChanged();
329 virtual void copyListContentsToClipboard();
332 virtual void resetTextFilter();
333 virtual void exitAddSubordinatesFromPalette();
336 virtual void addObjectToHierarchy(
const DtObjectType&);
340 virtual void resetParentVisibility();
341 virtual void moveInHierarchy(
int iFrom,
int iTo,
QTreeWidgetItem* parent);
342 virtual void replaceObjectInHierarchy(
const DtObjectType& t,
QTreeWidgetItem* toReplace);
358 virtual void attachItemsToParent(
QTreeWidgetItem* parent,
const std::vector<LoadInformation>& toLoad);
367 virtual void createForcesList();
368 virtual void preloadModelSet();
371 virtual void disableInvalidItems();
373 virtual void createTreeWidgetItemsFor(
const std::vector<LoadInformation>&, QVector<QTreeWidgetItem*>& items,
bool attachToRootNode =
true);
378 virtual void runHealthCheck();
379 virtual void updateHealthResults();
384 void healthCheckResults(
const QString&);
389 boost::signals2::signal<void (const QVector<QTreeWidgetItem*>&)> signal_itemsAdded;
421 std::map<DtModelSetEntry*, std::vector<DtEntityPaletteItem*>>
myItems;
435 Q_PROPERTY(QColor OutlineColor MEMBER myOutlineColor USER
true)
443 myBlockSelectionByKeypad = b;
448 return myBlockSelectionByKeypad;
451 virtual void keyPressEvent(QKeyEvent*);
452 virtual void focusOutEvent(QFocusEvent* e);
459 return myOutlineColor;
468 virtual QStringList mimeTypes()
const;
469 virtual void dragEnterEvent(QDragEnterEvent *d);
470 virtual void dragMoveEvent(QDragMoveEvent *d);
471 virtual void dropEvent(QDropEvent* d);
Definition: simulationModelSetLoader.h:166
std::vector< QTreeWidgetItem * > myItemsToGrab
Definition: simulationObjectEditorList.h:403
boost::signals2::signal< void()> signal_itemSelectionChanged
Definition: simulationObjectEditorList.h:387
QImage myForcePixmap
Definition: simulationObjectEditorList.h:150
Definition: entityMapperKey.h:23
const DtRwForces & filterOnForces() const
Definition: simulationObjectEditorList.h:499
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::set< std::string > myCategories
Definition: simulationObjectEditorList.h:106
Definition: simulationObjectEditorList.h:68
Definition: simulationObjectEditorList.h:80
QList< QVariant > myForces
Definition: simulationObjectEditorList.h:397
virtual void clearIgnoreObjectTypes()
Clears the list of object types to ignore.
Definition: simulationObjectEditorList.h:95
bool myShowWarningForFilteredItems
Definition: simulationObjectEditorList.h:425
bool myInFreeFormAddMode
Definition: simulationObjectEditorList.h:417
Definition: simulationObjectEditorList.h:71
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
const QList< QVariant > & allForces() const
Definition: simulationObjectEditorList.h:504
bool showAllTags() const
Definition: simulationObjectEditorList.h:285
std::set< DtString > myTopLevelTags
Definition: simulationObjectEditorList.h:413
const QString & warning() const
Definition: simulationObjectEditorList.h:138
DtObjectType myDisableIfContains
Definition: simulationObjectEditorList.h:415
DtVrfSubObjectParameterList is a readable/writable list of DtVrfSubObjectParameterEntrys.
Definition: vrfSubObjectParameterList.h:21
bool myExecutingFilter
Definition: simulationObjectEditorList.h:419
boost::function< bool(const DtModelSetEntry *, bool &showWarningIcon)> DtEntityFilterFunction
Definition: simulationObjectEditorList.h:76
DtSimulationObjectEditorList * myPaletteParent
Definition: simulationObjectEditorList.h:148
boost::signals2::signal< void()> signal_itemStatusChanged
Definition: simulationObjectEditorList.h:388
DtEntityPaletteFilter * myFilter
Definition: simulationObjectEditorList.h:395
virtual void setRightClickEnabled(bool b)
Definition: simulationObjectEditorList.h:479
bool myShowIncluded
Definition: simulationObjectEditorList.h:423
bool showIncluded() const
Definition: simulationObjectEditorList.h:278
makVrv::DtDe & myDe
Definition: simulationObjectEditorList.h:539
virtual ~DtSimulationObjectEditorListItemDelegate()
Definition: simulationObjectEditorList.h:162
std::map< DtString, bool > myExpandedStates
Definition: simulationObjectEditorList.h:420
DtRwForces myFilterOnForces
Definition: simulationObjectEditorList.h:109
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:161
QTreeWidget * entityList()
Definition: simulationObjectEditorList.h:494
std::set< DtString > myIgnoreObjectTypes
Definition: simulationObjectEditorList.h:112
std::map< DtModelSetEntry *, std::vector< DtEntityPaletteItem * > > myItems
Definition: simulationObjectEditorList.h:421
makVrf::DtCountrySelectionEntryWidget * myUsedByCountry
Definition: simulationObjectEditorList.h:394
Definition: modelSetEntry.h:34
virtual DtEntityPaletteFilter * clone() const
Definition: simulationObjectEditorList.h:100
Contains makVrv::DtVirtualBaseClass class.
std::string myCountryName
Definition: simulationObjectEditorList.h:108
DtObjectType mySelectObjectTypeIfAvailable
Definition: simulationObjectEditorList.h:422
makVrv::DtSignalConnectionManager myConnections
Definition: simulationObjectEditorList.h:428
bool myShowAllTags
Definition: simulationObjectEditorList.h:424
Definition: simulationObjectEditorList.h:66
QSplitter * mySplitter
Definition: simulationObjectEditorList.h:409
QTreeWidgetItem * myGrabbing
Definition: simulationObjectEditorList.h:404
makVrv::DtSignalConnectionManager myEntryConnections
Definition: simulationObjectEditorList.h:429
Definition: simulationObjectEditorList.h:70
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool rightClickEnabled() const
Definition: simulationObjectEditorList.h:484
Definition: simulationObjectEditorList.h:72
QTreeWidgetItem * myNextAddIsTo
Definition: simulationObjectEditorList.h:402
bool myDisableIfContainsObject
Definition: simulationObjectEditorList.h:416
QString myWarning
Definition: simulationObjectEditorList.h:154
DtDisplayWidget * displayWidget
Definition: simulationObjectEditorList.h:396
Definition: simulationObjectEditorList.h:115
bool executingFilter() const
Definition: simulationObjectEditorList.h:514
QImage * myWarningIcon
Definition: simulationObjectEditorList.h:155
DtModelSetEntry * mySelectedModel
Definition: simulationObjectEditorList.h:401
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
std::map< std::string, QTreeWidgetItem * > myTopLevelItems
Definition: simulationObjectEditorList.h:414
DtAddObjectToHierarchy * myAddToHierarchyDialog
Definition: simulationObjectEditorList.h:400
bool myShowWarning
Definition: simulationObjectEditorList.h:153
makVrf::DtSearchWidget * mySearchWidget
Definition: simulationObjectEditorList.h:407
Base class to provide boost signal/slot management.
QString myForcePixmapKey
Definition: simulationObjectEditorList.h:149
QTreeWidgetItem * myCurrentlySelectedBeforeGrab
Definition: simulationObjectEditorList.h:405
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtSimulationObjectEditorTagSelectorWidget * myTags
Definition: simulationObjectEditorList.h:393
std::string myUsedByCountry
Definition: simulationObjectEditorList.h:107
Definition: simulationObjectEditorList.h:69
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
Creator for the list.
Definition: simulationObjectEditorList.h:520
makVrv::DtDe & myDe
Definition: simulationObjectEditorList.h:427
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
makVrv::DtDe & myDe
Definition: simulationObjectEditorList.h:152
Definition: addObjectToHierarchy.h:20
void setPaletteParent(DtSimulationObjectEditorList *p)
Definition: simulationObjectEditorList.h:124
Definition: simulationObjectEditorList.h:170
Widget that allows the selection of a country.
Definition: countrySelectionEntryWidget.h:39
DtRwForces myFilterOnForces
Definition: simulationObjectEditorList.h:398
DtSimulationObjectEditorListItemDelegate(QWidget *parent)
Definition: simulationObjectEditorList.h:161
makVrf::DtTreeWidget * myEntities
Definition: simulationObjectEditorList.h:392
DtSimulationObjectEditorListRoles
Definition: simulationObjectEditorList.h:64
bool showWarning() const
Definition: simulationObjectEditorList.h:132
makVrv::DtDe & myDe
Definition: simulationObjectEditorList.h:110
Definition: simulationObjectEditorList.h:73
bool hasSelection() const
Definition: simulationObjectEditorList.h:489
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
QTreeWidgetItem * currentlyDisplaying() const
Definition: simulationObjectEditorList.h:509
QWidget * myControlsWidget
Definition: simulationObjectEditorList.h:410
QImage myGrayscaleForcePixmap
Definition: simulationObjectEditorList.h:151
bool myRightClickEnabled
Definition: simulationObjectEditorList.h:399
QTreeWidgetItem * myCurrentlyDisplaying
Definition: simulationObjectEditorList.h:418
Definition: simulationObjectEditorList.h:158
Definition: simulationObjectEditorList.h:67