22 #include <boost/signals2.hpp>
24 #include <vlutil/vlPerformanceStats.h>
26 #include <QtCore/QPoint>
27 #include <QtCore/QObject>
30 #include <unordered_map>
31 #include <unordered_set>
39 class DtElementIDHierarchyNode;
44 class DtVrfHierarchyPage;
45 class DtObjectListViewItem;
46 class DtVrfGuiSimObjectManager;
47 class DtExpandCollapseButton;
81 virtual void slot_itemSelectionChanged();
82 virtual void slot_rightClickOnItem(QPoint global);
84 virtual void expandToLevel(
unsigned int i);
85 virtual void collapseToLevel(
unsigned int i);
94 virtual void deparent(
const QStringList&) = 0;
101 virtual void setShowObjectConsoleWarning(
bool b);
102 virtual bool showObjectConsoleWarningIcon()
const;
104 virtual void setTextFilter(
const QString&);
107 virtual void setShowCountsOnObjectList(
bool);
110 virtual void setShowEchelonIdColumn(
bool);
111 virtual bool showEchelonIdColumn()
const;
116 virtual void activate();
119 virtual int sortColumn()
const;
121 virtual int initialSortColumn()
const;
125 myDoubleClickAttachesAndCenters = b;
130 return myDoubleClickAttachesAndCenters;
133 virtual void setInitiallyExpand(
bool);
136 return myInitiallyExpand;
139 virtual void setGrayOutHiddenItems(
bool);
142 return myGrayOutHiddenItems;
156 const QString& beforeItem =
"",
bool keepUnderThisNodeIfTacticalGraphic =
false);
160 virtual bool removeOrganizedRootNode(
const QString&);
169 virtual void removeOrganizedParentNode(ParentNodeContext);
177 virtual bool showCountsOnObjectList()
const;
180 virtual bool canDisplayChildCounts()
const;
186 virtual void addToChildCount(
const QModelIndex&,
int,
int);
187 virtual void removeFromChildCount(
const QModelIndex&,
int,
int);
190 virtual void enableChildCount();
191 virtual void disableChildCount();
194 virtual bool handleStealthObjects()
const;
196 virtual void slot_gumballSettingsChanged(
bool b);
200 virtual void scenarioClosed();
207 virtual void slot_onTick();
222 virtual void filterItems();
225 virtual void filterTDLItems();
227 virtual void stateViewUpdated();
229 virtual void resorted();
244 virtual void hookOrganizedParentToChildren();
248 virtual void forcesChanged();
266 virtual void deferredItemSelectionChanged();
269 virtual bool performOperationsImmediately()
const;
272 virtual void slot_externalSelectionChanged(
276 virtual void updateCollapseButtons();
279 virtual void createCollapseButton(
unsigned int);
285 virtual short supportsAttribute()
const = 0;
288 virtual void setupForceRootNodes();
291 virtual void checkPendingOperations();
297 virtual void slot_extendedApplicationOptionsChanged();
313 virtual void initialize();
315 virtual void resetVisuals();
317 virtual void resetIconColor(
DtRwColor,
const std::vector<makVrv::DtUniqueID>& ids);
325 virtual void cleanStaleOrganizedNodes();
357 bool myWaitForStateAddition =
false;
364 OrganizedRootNode() : selectionFilter(nullptr), stateData(nullptr), objectListViewItem(nullptr), keepUnderThisNodeIfTacticalGraphic(false) {};
366 std::unique_ptr<DtVrfSelectionFilter> selectionFilter;
395 std::map<makVrv::DtUniqueID, makVrv::DtSignalConnectionManager*>
myRateChanges;
404 int myLastPendingOperationsSize = 0;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
OrganizedParentNodes myOrganizedParentNodes
Definition: vrfHierarchyPageLogic.h:393
std::vector< std::shared_ptr< OrganizedRootNode > > OrganizationOrder
Definition: vrfHierarchyPageLogic.h:373
DtObjectListViewItem * objectListViewItem
Definition: vrfHierarchyPageLogic.h:368
OrganizedParentNode()
Definition: vrfHierarchyPageLogic.h:384
std::set< QTreeWidgetItem * > myUnitNodesForVisibilityCheck
Definition: vrfHierarchyPageLogic.h:346
class DtVrfSelectionFilter
Definition: vrfSelectionFilters.h:28
std::map< int, std::shared_ptr< OrganizedRootNode > > ForceRootNodes
Definition: vrfHierarchyPageLogic.h:379
PendingOperationsMap myPendingOperations
Definition: vrfHierarchyPageLogic.h:351
std::shared_ptr< DtVrfSelectionFilter > parentFilter
Definition: vrfHierarchyPageLogic.h:387
bool myShowEchelonIdColumn
Definition: vrfHierarchyPageLogic.h:339
boost::signals2::scoped_connection myDeferredSelectionSignalConnection
Definition: vrfHierarchyPageLogic.h:353
std::map< makVrv::DtUniqueID, std::shared_ptr< OrganizedRootNode > > OrganizedRootNodes
Definition: vrfHierarchyPageLogic.h:376
int myDeferredSelectionCounter
Definition: vrfHierarchyPageLogic.h:403
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myNeedsResort
Definition: vrfHierarchyPageLogic.h:343
OrganizationOrder myOrganizationOrder
Definition: vrfHierarchyPageLogic.h:374
std::map< makVrv::DtUniqueID, makVrv::DtSignalConnectionManager * > myRateChanges
Definition: vrfHierarchyPageLogic.h:395
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
Contains makVrv:DtSelectionManager class.
Definition: vrfHierarchyPageLogic.h:64
DtSimObjectReference stateView
Definition: vrfHierarchyPageLogic.h:369
bool myShowObjectConsoleWarningIcon
Definition: vrfHierarchyPageLogic.h:356
bool myFirstTick
Definition: vrfHierarchyPageLogic.h:340
Contains makVrv::DtElementData class.
ParentNodeContext
Definition: vrfHierarchyPageLogic.h:69
std::set< DtObjectListViewItem * > parentNodes
Definition: vrfHierarchyPageLogic.h:389
Definition: objectSettingsManager.h:50
DtVrfGuiSimObjectManager * myVrfStateViewCollectionManager
Definition: vrfHierarchyPageLogic.h:397
OrganizedRootNodes myOrganizedRootNodes
Definition: vrfHierarchyPageLogic.h:377
The DtElementIDHierarchyState class contains information about the element and its place in the eleme...
Definition: DtElementIDHierarchyState.h:20
bool myUseForceRootOrganization
Default is false. Before initialization set to true in order to use force root nodes for organization...
Definition: vrfHierarchyPageLogic.h:350
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
std::shared_ptr< DtGuiLocalObject > stateData
Definition: vrfHierarchyPageLogic.h:367
bool initiallyExpand() const
Definition: vrfHierarchyPageLogic.h:134
makVrv::DtDe & myDe
Definition: vrfHierarchyPageLogic.h:331
Definition: vrfHierarchyPageLogic.h:362
std::set< DtObjectListViewItem * > myItemsToCheckForFurtherOrgainization
Definition: vrfHierarchyPageLogic.h:336
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfHierarchyPageLogic.h:352
Contains makVrf:DtSharedVrfVrlApplicationSettings class. This class will share settings between the d...
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
boost::signals2::scoped_connection myRightClickSignalConnection
Definition: vrfHierarchyPageLogic.h:354
std::map< DtUUID, DtObjectListViewItem * > myItemsByUUID
Definition: vrfHierarchyPageLogic.h:360
DtVrfHierarchyPage * myInterface
Definition: vrfHierarchyPageLogic.h:332
Contains makVrv::DtElementIDHierarchy class. This is an arbitrary hierarchy class that will allow hie...
The DtVrfChildToParentSelectionFilter specialized filter that must be used as a child filter when org...
Definition: vrfHierarchyPageLogic.h:51
Definition: vrfHierarchyPage.h:111
std::map< DtUUID, bool > myExpandedNodes
Definition: vrfHierarchyPageLogic.h:359
std::vector< EntryAttributes > EntryAttributesList
Define the type used to signal changes to one or more attributes for one or more elements.
Definition: DtElementAttributeManager.h:44
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The DtElementIDHierarchyNode class will contain information about an element, its children and its pa...
Definition: DtElementIDHierarchy.h:33
bool myHideForceLevelNodesWhenNoChildren
Definition: vrfHierarchyPageLogic.h:344
virtual void setForce(int) override
Definition: vrfHierarchyPageLogic.h:58
bool myUpdateCollapseButtons
Definition: vrfHierarchyPageLogic.h:338
EntityStates
Definition: sharedVrfVrlApplicationSettings.h:30
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signals2::connection myGrayIfHiddenConnection
Definition: vrfHierarchyPageLogic.h:334
virtual void setDoubleClickAttachesAndCenters(bool b)
Definition: vrfHierarchyPageLogic.h:123
Base class to provide boost signal/slot management.
std::set< QTreeWidgetItem * > myRootNodesForVisibilityCheck
Definition: vrfHierarchyPageLogic.h:345
The DtVrfGuiSimObjectManager class is a wrapper around the DtStateDataManager created in the network ...
Definition: vrfGuiSimObjectManager.h:36
std::vector< DtExpandCollapseButton * > myCollapseButtonVector
Definition: vrfHierarchyPageLogic.h:333
int myLastForceType
Definition: vrfHierarchyPageLogic.h:402
bool keepUnderThisNodeIfTacticalGraphic
Definition: vrfHierarchyPageLogic.h:370
std::vector< DtElementID > UniqueIdList
Public Type Definitions.
Definition: DtElementData.h:49
bool myGrayOutHiddenItems
Definition: vrfHierarchyPageLogic.h:401
DtHierarchyListItemMap myItems
Definition: vrfHierarchyPageLogic.h:335
Contains the DtElementAttributeManager class declaration.
std::map< ParentNodeContext, OrganizedParentNode > OrganizedParentNodes
Definition: vrfHierarchyPageLogic.h:392
ForceRootNodes myForceRootNodes
Definition: vrfHierarchyPageLogic.h:380
Definition: vrfHierarchyPageLogic.h:382
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
QString myTextFilter
Definition: vrfHierarchyPageLogic.h:399
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_itemRemoved
Definition: vrfHierarchyPageLogic.h:183
std::unordered_map< makVrv::DtElementID, DtObjectListViewItem * > DtHierarchyListItemMap
Definition: vrfHierarchyPageLogic.h:328
std::shared_ptr< DtVrfSelectionFilter > childFilter
Definition: vrfHierarchyPageLogic.h:388
This tree widget item can be used in any tree that wants to display an icon next to the name of an ob...
Definition: objectListViewItem.h:45
bool myDoubleClickAttachesAndCenters
Definition: vrfHierarchyPageLogic.h:342
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
bool doubleClickAttachesAndCenters() const
Definition: vrfHierarchyPageLogic.h:128
std::unordered_map< makVrv::DtElementID, double > PendingOperationsMap
Definition: vrfHierarchyPageLogic.h:329
bool grayOutHiddenItems() const
Definition: vrfHierarchyPageLogic.h:140
bool myInitiallyExpand
Definition: vrfHierarchyPageLogic.h:341