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 DtVrfStateViewCollectionManager;
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&);
106 virtual void setShowCountsOnObjectList(
bool);
109 virtual void setShowEchelonIdColumn(
bool);
110 virtual bool showEchelonIdColumn()
const;
115 virtual void activate();
118 virtual int sortColumn()
const;
120 virtual int initialSortColumn()
const;
124 myDoubleClickAttachesAndCenters = b;
129 return myDoubleClickAttachesAndCenters;
132 virtual void setInitiallyExpand(
bool);
135 return myInitiallyExpand;
138 virtual void setGrayOutHiddenItems(
bool);
141 return myGrayOutHiddenItems;
155 const QString& beforeItem =
"",
bool keepUnderThisNodeIfTacticalGraphic =
false);
159 virtual bool removeOrganizedRootNode(
const QString&);
168 virtual void removeOrganizedParentNode(ParentNodeContext);
176 virtual bool showCountsOnObjectList()
const;
179 virtual bool canDisplayChildCounts()
const;
185 virtual void addToChildCount(
const QModelIndex&,
int,
int);
186 virtual void removeFromChildCount(
const QModelIndex&,
int,
int);
189 virtual void enableChildCount();
190 virtual void disableChildCount();
193 virtual bool handleStealthObjects()
const;
195 virtual void slot_gumballSettingsChanged(
bool b);
199 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();
267 virtual void deferredItemSelectionChanged();
270 virtual bool performOperationsImmediately()
const;
273 virtual void slot_externalSelectionChanged(
277 virtual void updateCollapseButtons();
280 virtual void createCollapseButton(
unsigned int);
286 virtual short supportsAttribute()
const = 0;
289 virtual void setupForceRootNodes();
292 virtual void checkPendingOperations();
298 virtual void slot_extendedApplicationOptionsChanged();
317 virtual void initialize();
319 virtual void resetVisuals();
321 virtual void resetIconColor(
DtRwColor,
const std::vector<makVrv::DtUniqueID>& ids);
365 OrganizedRootNode() : selectionFilter(nullptr), stateData(nullptr), uniqueID(0), objectListViewItem(nullptr), keepUnderThisNodeIfTacticalGraphic(false) {};
396 std::map<makVrv::DtUniqueID, makVrv::DtSignalConnectionManager*>
myRateChanges;
405 bool myWaitForStateAddition =
false;
406 int myLastPendingOperationsSize = 0;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
OrganizedParentNodes myOrganizedParentNodes
Definition: vrfHierarchyPageLogic.h:394
DtObjectListViewItem * objectListViewItem
Definition: vrfHierarchyPageLogic.h:370
OrganizedParentNode()
Definition: vrfHierarchyPageLogic.h:385
class DtVrfSelectionFilter
Definition: vrfSelectionFilters.h:32
PendingOperationsMap myPendingOperations
Definition: vrfHierarchyPageLogic.h:353
std::shared_ptr< DtVrfSelectionFilter > parentFilter
Definition: vrfHierarchyPageLogic.h:388
bool myShowEchelonIdColumn
Definition: vrfHierarchyPageLogic.h:342
boost::signals2::scoped_connection myDeferredSelectionSignalConnection
Definition: vrfHierarchyPageLogic.h:355
makVrv::DtUniqueID uniqueID
Definition: vrfHierarchyPageLogic.h:369
DtSimpleObjectDataState * stateData
Definition: vrfHierarchyPageLogic.h:368
int myDeferredSelectionCounter
Definition: vrfHierarchyPageLogic.h:404
std::map< int, OrganizedRootNode > ForceRootNodes
Definition: vrfHierarchyPageLogic.h:380
UpdateRate
Definition: DtSimEntryUpdater.h:31
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myNeedsResort
Definition: vrfHierarchyPageLogic.h:346
OrganizationOrder myOrganizationOrder
Definition: vrfHierarchyPageLogic.h:375
std::map< makVrv::DtUniqueID, makVrv::DtSignalConnectionManager * > myRateChanges
Definition: vrfHierarchyPageLogic.h:396
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
std::map< makVrv::DtUniqueID, OrganizedRootNode > OrganizedRootNodes
Definition: vrfHierarchyPageLogic.h:377
bool myShowObjectConsoleWarningIcon
Definition: vrfHierarchyPageLogic.h:358
bool myFirstTick
Definition: vrfHierarchyPageLogic.h:343
Contains makVrv::DtElementData class.
ParentNodeContext
Definition: vrfHierarchyPageLogic.h:69
std::set< DtObjectListViewItem * > parentNodes
Definition: vrfHierarchyPageLogic.h:390
Definition: objectSettingsManager.h:50
OrganizedRootNodes myOrganizedRootNodes
Definition: vrfHierarchyPageLogic.h:378
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:352
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool initiallyExpand() const
Definition: vrfHierarchyPageLogic.h:133
makVrv::DtDe & myDe
Definition: vrfHierarchyPageLogic.h:334
Definition: vrfHierarchyPageLogic.h:363
std::set< DtObjectListViewItem * > myItemsToCheckForFurtherOrgainization
Definition: vrfHierarchyPageLogic.h:339
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfHierarchyPageLogic.h:354
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:356
std::map< DtUUID, DtObjectListViewItem * > myItemsByUUID
Definition: vrfHierarchyPageLogic.h:361
DtVrfHierarchyPage * myInterface
Definition: vrfHierarchyPageLogic.h:335
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:360
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:347
This class is the central point for looking up information about a particular object in the VRF GUI...
Definition: vrfStateViewCollectionManager.h:143
bool myUpdateCollapseButtons
Definition: vrfHierarchyPageLogic.h:341
EntityStates
Definition: sharedVrfVrlApplicationSettings.h:30
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
void setForce(int)
Definition: vrfHierarchyPageLogic.h:58
boost::signals2::connection myGrayIfHiddenConnection
Definition: vrfHierarchyPageLogic.h:337
virtual void setDoubleClickAttachesAndCenters(bool b)
Definition: vrfHierarchyPageLogic.h:122
Base class to provide boost signal/slot management.
Data that is used for folders in the organized object list view.
Definition: simpleObjectDataState.h:18
std::set< QTreeWidgetItem * > myRootNodesForVisibilityCheck
Definition: vrfHierarchyPageLogic.h:348
std::vector< DtExpandCollapseButton * > myCollapseButtonVector
Definition: vrfHierarchyPageLogic.h:336
int myLastForceType
Definition: vrfHierarchyPageLogic.h:403
bool keepUnderThisNodeIfTacticalGraphic
Definition: vrfHierarchyPageLogic.h:371
std::vector< DtElementID > UniqueIdList
Public Type Definitions.
Definition: DtElementData.h:49
bool myGrayOutHiddenItems
Definition: vrfHierarchyPageLogic.h:402
DtHierarchyListItemMap myItems
Definition: vrfHierarchyPageLogic.h:338
Contains the DtElementAttributeManager class declaration.
std::vector< OrganizedRootNode > OrganizationOrder
Definition: vrfHierarchyPageLogic.h:374
std::map< ParentNodeContext, OrganizedParentNode > OrganizedParentNodes
Definition: vrfHierarchyPageLogic.h:393
ForceRootNodes myForceRootNodes
Definition: vrfHierarchyPageLogic.h:381
Definition: vrfHierarchyPageLogic.h:383
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
QString myTextFilter
Definition: vrfHierarchyPageLogic.h:400
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_itemRemoved
Definition: vrfHierarchyPageLogic.h:182
std::unordered_map< makVrv::DtElementID, DtObjectListViewItem * > DtHierarchyListItemMap
Definition: vrfHierarchyPageLogic.h:331
DtVrfStateViewCollectionManager * myVrfStateViewCollectionManager
Definition: vrfHierarchyPageLogic.h:398
std::shared_ptr< DtVrfSelectionFilter > childFilter
Definition: vrfHierarchyPageLogic.h:389
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:55
bool myDoubleClickAttachesAndCenters
Definition: vrfHierarchyPageLogic.h:345
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
bool doubleClickAttachesAndCenters() const
Definition: vrfHierarchyPageLogic.h:127
std::unordered_map< makVrv::DtElementID, double > PendingOperationsMap
Definition: vrfHierarchyPageLogic.h:332
bool grayOutHiddenItems() const
Definition: vrfHierarchyPageLogic.h:139
bool myInitiallyExpand
Definition: vrfHierarchyPageLogic.h:344