VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes
makVrf::DtVrfHierarchyPageLogic Class Referenceabstract
Inheritance diagram for makVrf::DtVrfHierarchyPageLogic:
Inheritance graph
[legend]

Classes

struct  OrganizedParentNode
 
struct  OrganizedRootNode
 

Public Types

enum  ParentNodeContext { Aerodrome = 1, UserStart = 16 }
 

Public Member Functions

 DtVrfHierarchyPageLogic (makVrv::DtDe &de, DtVrfHierarchyPage *iface)
 
virtual ~DtVrfHierarchyPageLogic ()
 
virtual void slot_itemSelectionChanged ()
 
virtual void slot_rightClickOnItem (QPoint global)
 
virtual QTreeWidgetItemitemForState (const DtObjectListViewItem::DtVrfObjectState s) const
 
virtual void expandToLevel (unsigned int i)
 
virtual void collapseToLevel (unsigned int i)
 
virtual void viewItemExpanded (QTreeWidgetItem *i)
 
virtual void viewItemCollapsed (QTreeWidgetItem *i)
 
virtual DtObjectListViewItemitemByUUID (const DtUUID &uuid) const
 
virtual bool isForceRootNode (makVrv::DtUniqueID) const
 
virtual bool isOrganizedRootNode (QTreeWidgetItem *) const
 
virtual int forceForRootNode (makVrv::DtUniqueID) const
 
virtual void deparent (const QStringList &)=0
 
virtual void reparent (const QStringList &children, makVrv::DtUniqueID parentId)=0
 
virtual bool hierarchyStateFor (makVrv::DtUniqueID, makVrv::DtElementIDHierarchyState &) const =0
 
virtual bool processHierarchyItem (makVrv::DtElementIDHierarchyNode *, bool force=false)
 
virtual void setShowObjectConsoleWarning (bool b)
 
virtual bool showObjectConsoleWarningIcon () const
 
virtual void setTextFilter (const QString &)
 
virtual void setShowCountsOnObjectList (bool)
 
virtual void setShowEchelonIdColumn (bool)
 
virtual bool showEchelonIdColumn () const
 
virtual QTreeWidgetItemrootNodeForItem (DtObjectListViewItem *) const
 
virtual QTreeWidgetItemparentNodeForItem (DtObjectListViewItem *) const
 
virtual void activate ()
 
virtual int sortColumn () const
 
virtual int initialSortColumn () const
 
virtual void setDoubleClickAttachesAndCenters (bool b)
 
bool doubleClickAttachesAndCenters () const
 
virtual void setInitiallyExpand (bool)
 
bool initiallyExpand () const
 
virtual void setGrayOutHiddenItems (bool)
 
bool grayOutHiddenItems () const
 
virtual DtObjectListViewItemaddOrganizedRootNode (const QString &name, const DtFilename &iconFile, const DtVrfSelectionFilter &filter, int index=-1, const QString &beforeItem="", bool keepUnderThisNodeIfTacticalGraphic=false)
 
virtual bool removeOrganizedRootNode (const QString &)
 
virtual void addOrganizedParentNode (ParentNodeContext, const DtVrfSelectionFilter &potentialParent, const DtVrfSelectionFilter &potentialChild)
 
virtual void removeOrganizedParentNode (ParentNodeContext)
 
virtual bool showCountsOnObjectList () const
 
virtual bool canDisplayChildCounts () const
 

Public Attributes

boost::signals2::signal< void(makVrv::DtUniqueID)> signal_itemRemoved
 

Protected Types

typedef std::unordered_map
< makVrv::DtElementID,
DtObjectListViewItem * > 
DtHierarchyListItemMap
 
typedef std::unordered_map
< makVrv::DtElementID, double
PendingOperationsMap
 
typedef std::vector
< OrganizedRootNode
OrganizationOrder
 
typedef std::map
< makVrv::DtUniqueID,
OrganizedRootNode
OrganizedRootNodes
 
typedef std::map< int,
OrganizedRootNode
ForceRootNodes
 
typedef std::map
< ParentNodeContext,
OrganizedParentNode
OrganizedParentNodes
 

Protected Slots

virtual void addToChildCount (const QModelIndex &, int, int)
 
virtual void removeFromChildCount (const QModelIndex &, int, int)
 

Protected Member Functions

virtual void enableChildCount ()
 
virtual void disableChildCount ()
 
virtual bool handleStealthObjects () const
 
virtual void slot_gumballSettingsChanged (bool b)
 
virtual void checkForInitialExpansion (DtObjectListViewItem *)
 
virtual bool passesFogOfWarFilters (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *s) const
 
virtual void scenarioClosed ()
 
virtual void moveItemToNewForceNode (makVrv::DtUniqueID, int force)
 
virtual
makVrv::DtSimEntryUpdater::UpdateRate 
currentUpdateRate (makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *sv) const
 
void clearChildrenInAdvanceOfDelete (DtObjectListViewItem *item)
 
virtual void entityStateChanged (makVrv::DtElementID, DtSharedVrfVrlApplicationSettings::EntityStates, bool)
 
virtual void slot_onTick ()
 
virtual void slot_onStateViewAdded (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *s)
 
virtual bool addNode (makVrv::DtElementIDHierarchyNode *) const
 
virtual bool isValidState (makVrv::DtUniqueID) const
 
virtual bool isValidState (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *s) const
 
virtual void filterItems ()
 
virtual void filterTDLItems ()
 
virtual void stateViewUpdated ()
 
virtual void resorted ()
 
virtual
DtVrfStateViewCollectionManager
vrfStateViewCollectionManager () const
 
virtual void hookOrganizedParentToChildren ()
 
virtual void onDataChanged (DtObjectListViewItem *item)
 
virtual void forcesChanged ()
 
virtual void unhandledStateView (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *)
 
virtual void slot_itemDoubleClicked (QTreeWidgetItem *)
 
virtual void clearExpansionStateFor (DtObjectListViewItem *)
 
virtual void removeNode (makVrv::DtElementID)
 
virtual bool positionNodeInHierarchy (makVrv::DtElementIDHierarchyNode *, bool force=false)
 
virtual void hookChildToParent (makVrv::DtElementIDHierarchyNode *, bool forceUpdate=false)
 
virtual void hookParentToChildren (makVrv::DtElementIDHierarchyNode *, bool forceUpdate=false)
 
virtual DtObjectListViewItemcreateItemFor (makVrv::DtElementIDHierarchyNode *)
 
virtual QVariant echelonId (const DtObjectListViewItem *) const
 
virtual void slot_stateViewAboutToBeRemoved (const makVrv::DtStateView< DtVrfObjectDataState > &s)
 
virtual void cleanupHierarchyItem (DtObjectListViewItem *item)
 
virtual void createdHierarchyItem (DtObjectListViewItem *item)
 
virtual void deferredItemSelectionChanged ()
 
virtual bool performOperationsImmediately () const
 
virtual void addDataFunctions (DtObjectListViewItem *item)
 
virtual void addSortingFunctions (DtObjectListViewItem *item)
 
virtual void slot_externalSelectionChanged (const makVrv::DtSelectionManager::IdSet &selected, const makVrv::DtSelectionManager::IdSet &deselected)
 
virtual void updateCollapseButtons ()
 
virtual void updateCollapseButtons (QTreeWidgetItem *)
 
virtual void createCollapseButton (unsigned int)
 
virtual void expandToLevel (unsigned int level, QTreeWidgetItem *lvi)
 
virtual void collapseToLevel (unsigned int level, QTreeWidgetItem *lvi)
 
virtual void hierarchyItemsModified (const makVrv::DtElementAttributeManager::EntryAttributesList &)=0
 
virtual short supportsAttribute () const =0
 
virtual void hierarchyItemsRemoved (const makVrv::DtElementData::UniqueIdList &)
 
virtual void setupForceRootNodes ()
 
virtual bool sortBySubordinatePosition (const DtObjectListViewItem &rhs, const DtObjectListViewItem &lhs)
 
virtual void checkPendingOperations ()
 
virtual void checkFogOfWar (DtObjectListViewItem *, int oldForce=-1, int newForce=-1)
 
virtual void onForceChanged (DtObjectListViewItem *, int oldForce=-1, int newForce=-1)
 
virtual void onDamageStateChanged (DtObjectListViewItem *, bool isDestroyed=false)
 
virtual void onActivatedStateChanged (DtObjectListViewItem *, bool isActivated=true)
 
virtual void onMarkingTextFilterChanged (DtObjectListViewItem *)
 
virtual void slot_extendedApplicationOptionsChanged ()
 
virtual void updateRootNodeVisibility (DtObjectListViewItem *)
 
virtual DtObjectListViewItemitemFor (makVrv::DtElementIDHierarchyNode *node) const
 
virtual void slot_onUpdateRateChanged (makVrv::DtUniqueID id, int rate)
 
virtual void completeRateChange (makVrv::DtUniqueID id)
 
virtual void itemPositioned (DtObjectListViewItem *)
 
virtual void checkParentVisibility (DtObjectListViewItem *)
 
virtual void restoreExpansionState (QTreeWidgetItem *, bool expanded)
 
virtual void initialize ()
 
virtual void resetVisuals ()
 
virtual void resetIconColor (DtRwColor, const std::vector< makVrv::DtUniqueID > &ids)
 
virtual void slot_uuidChanged (makVrv::DtUniqueID id, const DtUUID &oldUUID, const DtUUID &newUUID)
 
virtual void slot_objectVisibilityChanged (makVrv::DtUniqueID id, bool)
 
virtual void addToPotentialParents (DtObjectListViewItem *)
 
virtual void removeFromPotentialParents (DtObjectListViewItem *)
 
virtual DtObjectListViewItemaddForceLevelRootNode (int, const DtString &forceName, bool includeUnkownForForce=false)
 

Protected Attributes

makVrv::DtDemyDe
 
DtVrfHierarchyPagemyInterface
 
std::vector
< DtExpandCollapseButton * > 
myCollapseButtonVector
 
boost::signals2::connection myGrayIfHiddenConnection
 
DtHierarchyListItemMap myItems
 
std::set< DtObjectListViewItem * > myItemsToCheckForFurtherOrgainization
 
bool myUpdateCollapseButtons
 
bool myShowEchelonIdColumn
 
bool myFirstTick
 
bool myInitiallyExpand
 
bool myDoubleClickAttachesAndCenters
 
bool myNeedsResort
 
bool myHideForceLevelNodesWhenNoChildren
 
std::set< QTreeWidgetItem * > myRootNodesForVisibilityCheck
 
bool myUseForceRootOrganization
 
PendingOperationsMap myPendingOperations
 
makVrv::DtSignalConnectionManager myConnectionManager
 
boost::signals2::scoped_connection myDeferredSelectionSignalConnection
 
boost::signals2::scoped_connection myRightClickSignalConnection
 
bool myShowObjectConsoleWarningIcon
 
std::map< DtUUID, boolmyExpandedNodes
 
std::map< DtUUID,
DtObjectListViewItem * > 
myItemsByUUID
 
OrganizationOrder myOrganizationOrder
 
OrganizedRootNodes myOrganizedRootNodes
 
ForceRootNodes myForceRootNodes
 
OrganizedParentNodes myOrganizedParentNodes
 
std::map< makVrv::DtUniqueID,
makVrv::DtSignalConnectionManager * > 
myRateChanges
 
DtVrfStateViewCollectionManagermyVrfStateViewCollectionManager
 
QString myTextFilter
 
bool myGrayOutHiddenItems
 
int myLastForceType
 
int myDeferredSelectionCounter
 
bool myWaitForStateAddition = false
 
int myLastPendingOperationsSize = 0
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
Aerodrome 
UserStart 

Constructor & Destructor Documentation

makVrf::DtVrfHierarchyPageLogic::DtVrfHierarchyPageLogic ( makVrv::DtDe de,
DtVrfHierarchyPage iface 
)

CTOR.

virtual makVrf::DtVrfHierarchyPageLogic::~DtVrfHierarchyPageLogic ( )
virtual

Member Function Documentation

virtual void makVrf::DtVrfHierarchyPageLogic::slot_itemSelectionChanged ( )
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::slot_rightClickOnItem ( QPoint  global)
virtual
virtual QTreeWidgetItem* makVrf::DtVrfHierarchyPageLogic::itemForState ( const DtObjectListViewItem::DtVrfObjectState  s) const
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::expandToLevel ( unsigned int  i)
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::collapseToLevel ( unsigned int  i)
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::viewItemExpanded ( QTreeWidgetItem i)
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::viewItemCollapsed ( QTreeWidgetItem i)
virtual
virtual DtObjectListViewItem* makVrf::DtVrfHierarchyPageLogic::itemByUUID ( const DtUUID uuid) const
virtual
virtual bool makVrf::DtVrfHierarchyPageLogic::isForceRootNode ( makVrv::DtUniqueID  ) const
virtual
virtual bool makVrf::DtVrfHierarchyPageLogic::isOrganizedRootNode ( QTreeWidgetItem ) const
virtual
virtual int makVrf::DtVrfHierarchyPageLogic::forceForRootNode ( makVrv::DtUniqueID  ) const
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::deparent ( const QStringList &  )
pure virtual
virtual void makVrf::DtVrfHierarchyPageLogic::reparent ( const QStringList &  children,
makVrv::DtUniqueID  parentId 
)
pure virtual
virtual bool makVrf::DtVrfHierarchyPageLogic::hierarchyStateFor ( makVrv::DtUniqueID  ,
makVrv::DtElementIDHierarchyState  
) const
pure virtual
virtual bool makVrf::DtVrfHierarchyPageLogic::processHierarchyItem ( makVrv::DtElementIDHierarchyNode ,
bool  force = false 
)
virtual

Call to process this item and add to tree. Returns true if item successfully added.

virtual void makVrf::DtVrfHierarchyPageLogic::setShowObjectConsoleWarning ( bool  b)
virtual
virtual bool makVrf::DtVrfHierarchyPageLogic::showObjectConsoleWarningIcon ( ) const
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::setTextFilter ( const QString &  )
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::setShowCountsOnObjectList ( bool  )
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::setShowEchelonIdColumn ( bool  )
virtual

Whether or not to show echelon id column.

virtual bool makVrf::DtVrfHierarchyPageLogic::showEchelonIdColumn ( ) const
virtual
virtual QTreeWidgetItem* makVrf::DtVrfHierarchyPageLogic::rootNodeForItem ( DtObjectListViewItem ) const
virtual
virtual QTreeWidgetItem* makVrf::DtVrfHierarchyPageLogic::parentNodeForItem ( DtObjectListViewItem ) const
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::activate ( )
virtual

Activates the logic for when the gui is created.

Reimplemented in makVrf::DtVrfOrbatPageLogic, and makVrf::DtVrfEchelonHierarchyPageLogic.

virtual int makVrf::DtVrfHierarchyPageLogic::sortColumn ( ) const
virtual

Column used to sort by after initial sort.

virtual int makVrf::DtVrfHierarchyPageLogic::initialSortColumn ( ) const
virtual
virtual void makVrf::DtVrfHierarchyPageLogic::setDoubleClickAttachesAndCenters ( bool  b)
inlinevirtual
bool makVrf::DtVrfHierarchyPageLogic::doubleClickAttachesAndCenters ( ) const
inline
virtual void makVrf::DtVrfHierarchyPageLogic::setInitiallyExpand ( bool  )
virtual
bool makVrf::DtVrfHierarchyPageLogic::initiallyExpand ( ) const
inline
virtual void makVrf::DtVrfHierarchyPageLogic::setGrayOutHiddenItems ( bool  )
virtual
bool makVrf::DtVrfHierarchyPageLogic::grayOutHiddenItems ( ) const
inline
virtual DtObjectListViewItem* makVrf::DtVrfHierarchyPageLogic::addOrganizedRootNode ( const QString &  name,
const DtFilename &  iconFile,
const DtVrfSelectionFilter filter,
int  index = -1,
const QString &  beforeItem = "",
bool  keepUnderThisNodeIfTacticalGraphic = false 
)
virtual

This section will deal with the adding of organized nodes. There are two types of organized nodes that can be added. One by force (which is protected and only used by the class) and one which is a more general folder (which is part of the public API). Each child can only appear under one node due to the organization of the items in this folder, and, unless otherwise specified, will be organized by echelon hierarchy. The order is which to add it into the existing order. This will not maintain an order, so, the next add could adjust where this item is placed. If -1 is given the item will be placed before the first force node. Note that if a new folder is added items will not be reparented to this new folder, so, make sure to add it before any items are added to the simulation.

If beforeItem is not an empty string, visually place before the named item

virtual bool makVrf::DtVrfHierarchyPageLogic::removeOrganizedRootNode ( const QString &  )
virtual

This will remove an organized root node by the given name as it appears in the list view. All items that appear underneath that folder will be reparented.

virtual void makVrf::DtVrfHierarchyPageLogic::addOrganizedParentNode ( ParentNodeContext  ,
const DtVrfSelectionFilter potentialParent,
const DtVrfSelectionFilter potentialChild 
)
virtual

This will add (given a unique context) an organization of parent nodes that have two filters: 1) The first filter will be used to create a short list of objects that can be considered parent nodes 2) Given that short list, this filter will be applied to see if the object in question can be parented under that node.

This check will only be made for objects that would not already be organized by hierarchy. The add and remove of these contexts will not affect the existing tree structure. It will only apply to items added after these mechanisms are added or removed

virtual void makVrf::DtVrfHierarchyPageLogic::removeOrganizedParentNode ( ParentNodeContext  )
virtual

This section will deal with the adding of organized nodes. There are two types of organized nodes that can be added. One by force (which is protected and only used by the class) and one which is a more general folder (which is part of the public API). Each child can only appear under one node due to the organization of the items in this folder, and, unless otherwise specified, will be organized by echelon hierarchy. The order is which to add it into the existing order. This will not maintain an order, so, the next add could adjust where this item is placed. If -1 is given the item will be placed before the first force node. Note that if a new folder is added items will not be reparented to this new folder, so, make sure to add it before any items are added to the simulation.

If beforeItem is not an empty string, visually place before the named item

virtual bool makVrf::DtVrfHierarchyPageLogic::showCountsOnObjectList ( ) const
virtual

For display object counts there are two configurations. One is whether or not this hierarchy can show them at all. This is a performance enhancement to decide whether or not to even enable the display system. The second is, if displayed, do the counts actually want to be shown. Whether or not top level nodes show child count next to them. Default is false.

Reimplemented in makVrf::DtVrfOrganizedObjectListPageLogic.

virtual bool makVrf::DtVrfHierarchyPageLogic::canDisplayChildCounts ( ) const
virtual

Whether or not this hierarchy has the ability to display child counts at all. Default is false.

Reimplemented in makVrf::DtVrfOrganizedObjectListPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::addToChildCount ( const QModelIndex &  ,
int  ,
int   
)
protectedvirtualslot
virtual void makVrf::DtVrfHierarchyPageLogic::removeFromChildCount ( const QModelIndex &  ,
int  ,
int   
)
protectedvirtualslot
virtual void makVrf::DtVrfHierarchyPageLogic::enableChildCount ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::disableChildCount ( )
protectedvirtual
virtual bool makVrf::DtVrfHierarchyPageLogic::handleStealthObjects ( ) const
protectedvirtual

Return true to handle stealth objects. Default is false.

virtual void makVrf::DtVrfHierarchyPageLogic::slot_gumballSettingsChanged ( bool  b)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::checkForInitialExpansion ( DtObjectListViewItem )
protectedvirtual
virtual bool makVrf::DtVrfHierarchyPageLogic::passesFogOfWarFilters ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  s) const
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::scenarioClosed ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::moveItemToNewForceNode ( makVrv::DtUniqueID  ,
int  force 
)
protectedvirtual
virtual makVrv::DtSimEntryUpdater::UpdateRate makVrf::DtVrfHierarchyPageLogic::currentUpdateRate ( makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  sv) const
protectedvirtual
void makVrf::DtVrfHierarchyPageLogic::clearChildrenInAdvanceOfDelete ( DtObjectListViewItem item)
protected
virtual void makVrf::DtVrfHierarchyPageLogic::entityStateChanged ( makVrv::DtElementID  ,
DtSharedVrfVrlApplicationSettings::EntityStates  ,
bool   
)
protectedvirtual

Sent when entity state has changed, if this entity show/hide indicator if this is a message awaiting state change.

virtual void makVrf::DtVrfHierarchyPageLogic::slot_onTick ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::slot_onStateViewAdded ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  s)
protectedvirtual

Called when a state view is added. Will resolve any pending process operations that failed due to missing state views.

virtual bool makVrf::DtVrfHierarchyPageLogic::addNode ( makVrv::DtElementIDHierarchyNode ) const
protectedvirtual

Return false to not add node. Default is true.

Reimplemented in makVrf::DtVrfOrganizedObjectListPageLogic, and makVrf::DtVrfEmbarkationHierarchyPageLogic.

virtual bool makVrf::DtVrfHierarchyPageLogic::isValidState ( makVrv::DtUniqueID  ) const
protectedvirtual

Checks to make sure this is a valid item to add to the hierarchy. Currently only aggregates and entities are allowed.

Reimplemented in makVrf::DtVrfOrganizedObjectListPageLogic, makVrf::DtVrfOrbatPageLogic, and makVrf::DtVrfEchelonHierarchyPageLogic.

virtual bool makVrf::DtVrfHierarchyPageLogic::isValidState ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  s) const
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::filterItems ( )
protectedvirtual

Filters out items based on fog of war status.

Reimplemented in makVrf::DtVrfOrganizedObjectListPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::filterTDLItems ( )
protectedvirtual

Filters out only TDL items base on TDL status.

Reimplemented in makVrf::DtVrfOrganizedObjectListPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::stateViewUpdated ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::resorted ( )
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual DtVrfStateViewCollectionManager& makVrf::DtVrfHierarchyPageLogic::vrfStateViewCollectionManager ( ) const
protectedvirtual
virtual DtObjectListViewItem* makVrf::DtVrfHierarchyPageLogic::addForceLevelRootNode ( int  ,
const DtString forceName,
bool  includeUnkownForForce = false 
)
protectedvirtual

This section will deal with the adding of organized nodes. There are two types of organized nodes that can be added. One by force (which is protected and only used by the class) and one which is a more general folder (which is part of the public API). Each child can only appear under one node due to the organization of the items in this folder, and, unless otherwise specified, will be organized by echelon hierarchy. Force level root nodes have the lowest priority in the ordering of trying to find where to place an object.

virtual void makVrf::DtVrfHierarchyPageLogic::hookOrganizedParentToChildren ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::onDataChanged ( DtObjectListViewItem item)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::forcesChanged ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::unhandledStateView ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::slot_itemDoubleClicked ( QTreeWidgetItem )
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::clearExpansionStateFor ( DtObjectListViewItem )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::removeNode ( makVrv::DtElementID  )
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual bool makVrf::DtVrfHierarchyPageLogic::positionNodeInHierarchy ( makVrv::DtElementIDHierarchyNode ,
bool  force = false 
)
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::hookChildToParent ( makVrv::DtElementIDHierarchyNode ,
bool  forceUpdate = false 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::hookParentToChildren ( makVrv::DtElementIDHierarchyNode ,
bool  forceUpdate = false 
)
protectedvirtual
virtual DtObjectListViewItem* makVrf::DtVrfHierarchyPageLogic::createItemFor ( makVrv::DtElementIDHierarchyNode )
protectedvirtual
virtual QVariant makVrf::DtVrfHierarchyPageLogic::echelonId ( const DtObjectListViewItem ) const
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::slot_stateViewAboutToBeRemoved ( const makVrv::DtStateView< DtVrfObjectDataState > &  s)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::cleanupHierarchyItem ( DtObjectListViewItem item)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::createdHierarchyItem ( DtObjectListViewItem item)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::deferredItemSelectionChanged ( )
protectedvirtual

Public to allow disconnect from subclasses. Do not call directly.

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual bool makVrf::DtVrfHierarchyPageLogic::performOperationsImmediately ( ) const
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::addDataFunctions ( DtObjectListViewItem item)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::addSortingFunctions ( DtObjectListViewItem item)
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::slot_externalSelectionChanged ( const makVrv::DtSelectionManager::IdSet selected,
const makVrv::DtSelectionManager::IdSet deselected 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::updateCollapseButtons ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::updateCollapseButtons ( QTreeWidgetItem )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::createCollapseButton ( unsigned  int)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::expandToLevel ( unsigned int  level,
QTreeWidgetItem lvi 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::collapseToLevel ( unsigned int  level,
QTreeWidgetItem lvi 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::hierarchyItemsModified ( const makVrv::DtElementAttributeManager::EntryAttributesList )
protectedpure virtual

Called when the echelon hierarchy has changed, process the changes.

Implemented in makVrf::DtVrfOrbatPageLogic, makVrf::DtVrfEchelonHierarchyPageLogic, and makVrf::DtVrfEmbarkationHierarchyPageLogic.

virtual short makVrf::DtVrfHierarchyPageLogic::supportsAttribute ( ) const
protectedpure virtual
virtual void makVrf::DtVrfHierarchyPageLogic::hierarchyItemsRemoved ( const makVrv::DtElementData::UniqueIdList )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::setupForceRootNodes ( )
protectedvirtual
virtual bool makVrf::DtVrfHierarchyPageLogic::sortBySubordinatePosition ( const DtObjectListViewItem rhs,
const DtObjectListViewItem lhs 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::checkPendingOperations ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::checkFogOfWar ( DtObjectListViewItem ,
int  oldForce = -1,
int  newForce = -1 
)
protectedvirtual

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::onForceChanged ( DtObjectListViewItem ,
int  oldForce = -1,
int  newForce = -1 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::onDamageStateChanged ( DtObjectListViewItem ,
bool  isDestroyed = false 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::onActivatedStateChanged ( DtObjectListViewItem ,
bool  isActivated = true 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::onMarkingTextFilterChanged ( DtObjectListViewItem )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::slot_extendedApplicationOptionsChanged ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::updateRootNodeVisibility ( DtObjectListViewItem )
protectedvirtual
virtual DtObjectListViewItem* makVrf::DtVrfHierarchyPageLogic::itemFor ( makVrv::DtElementIDHierarchyNode node) const
protectedvirtual

In the cases where an Orbat node has been replaced by a created node, need to make sure that the created node is the one that is found as the created node (with the created unique id) replaces the orbat node.

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::slot_onUpdateRateChanged ( makVrv::DtUniqueID  id,
int  rate 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::completeRateChange ( makVrv::DtUniqueID  id)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::itemPositioned ( DtObjectListViewItem )
protectedvirtual

Called when a list item is positioned. No-op at this level.

Reimplemented in makVrf::DtVrfOrbatPageLogic.

virtual void makVrf::DtVrfHierarchyPageLogic::checkParentVisibility ( DtObjectListViewItem )
protectedvirtual

Called when a child is added or removed from a parent – check the parent visibility if it needs to change. Default is no-op. The item passed in is the parent that the child was added or removed from.

virtual void makVrf::DtVrfHierarchyPageLogic::restoreExpansionState ( QTreeWidgetItem ,
bool  expanded 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::initialize ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::resetVisuals ( )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::resetIconColor ( DtRwColor  ,
const std::vector< makVrv::DtUniqueID > &  ids 
)
protectedvirtual

Used to reset icons for items whose icon color has been changed with setIconColor()

virtual void makVrf::DtVrfHierarchyPageLogic::slot_uuidChanged ( makVrv::DtUniqueID  id,
const DtUUID oldUUID,
const DtUUID newUUID 
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::slot_objectVisibilityChanged ( makVrv::DtUniqueID  id,
bool   
)
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::addToPotentialParents ( DtObjectListViewItem )
protectedvirtual
virtual void makVrf::DtVrfHierarchyPageLogic::removeFromPotentialParents ( DtObjectListViewItem )
protectedvirtual

Member Data Documentation

boost::signals2::signal<void (makVrv::DtUniqueID)> makVrf::DtVrfHierarchyPageLogic::signal_itemRemoved
makVrv::DtDe& makVrf::DtVrfHierarchyPageLogic::myDe
protected
DtVrfHierarchyPage* makVrf::DtVrfHierarchyPageLogic::myInterface
protected
std::vector<DtExpandCollapseButton*> makVrf::DtVrfHierarchyPageLogic::myCollapseButtonVector
protected
boost::signals2::connection makVrf::DtVrfHierarchyPageLogic::myGrayIfHiddenConnection
protected
DtHierarchyListItemMap makVrf::DtVrfHierarchyPageLogic::myItems
protected
std::set<DtObjectListViewItem*> makVrf::DtVrfHierarchyPageLogic::myItemsToCheckForFurtherOrgainization
protected
bool makVrf::DtVrfHierarchyPageLogic::myUpdateCollapseButtons
protected
bool makVrf::DtVrfHierarchyPageLogic::myShowEchelonIdColumn
protected
bool makVrf::DtVrfHierarchyPageLogic::myFirstTick
protected
bool makVrf::DtVrfHierarchyPageLogic::myInitiallyExpand
protected
bool makVrf::DtVrfHierarchyPageLogic::myDoubleClickAttachesAndCenters
protected
bool makVrf::DtVrfHierarchyPageLogic::myNeedsResort
protected
bool makVrf::DtVrfHierarchyPageLogic::myHideForceLevelNodesWhenNoChildren
protected
std::set<QTreeWidgetItem*> makVrf::DtVrfHierarchyPageLogic::myRootNodesForVisibilityCheck
protected
bool makVrf::DtVrfHierarchyPageLogic::myUseForceRootOrganization
protected

Default is false. Before initialization set to true in order to use force root nodes for organization. If set to true after initialization will have no effect.

PendingOperationsMap makVrf::DtVrfHierarchyPageLogic::myPendingOperations
protected
makVrv::DtSignalConnectionManager makVrf::DtVrfHierarchyPageLogic::myConnectionManager
protected
boost::signals2::scoped_connection makVrf::DtVrfHierarchyPageLogic::myDeferredSelectionSignalConnection
protected
boost::signals2::scoped_connection makVrf::DtVrfHierarchyPageLogic::myRightClickSignalConnection
protected
bool makVrf::DtVrfHierarchyPageLogic::myShowObjectConsoleWarningIcon
protected
std::map<DtUUID, bool> makVrf::DtVrfHierarchyPageLogic::myExpandedNodes
protected
std::map<DtUUID, DtObjectListViewItem*> makVrf::DtVrfHierarchyPageLogic::myItemsByUUID
protected
OrganizationOrder makVrf::DtVrfHierarchyPageLogic::myOrganizationOrder
protected
OrganizedRootNodes makVrf::DtVrfHierarchyPageLogic::myOrganizedRootNodes
protected
ForceRootNodes makVrf::DtVrfHierarchyPageLogic::myForceRootNodes
protected
OrganizedParentNodes makVrf::DtVrfHierarchyPageLogic::myOrganizedParentNodes
protected
std::map<makVrv::DtUniqueID, makVrv::DtSignalConnectionManager*> makVrf::DtVrfHierarchyPageLogic::myRateChanges
protected
DtVrfStateViewCollectionManager* makVrf::DtVrfHierarchyPageLogic::myVrfStateViewCollectionManager
mutableprotected
QString makVrf::DtVrfHierarchyPageLogic::myTextFilter
protected
bool makVrf::DtVrfHierarchyPageLogic::myGrayOutHiddenItems
protected
int makVrf::DtVrfHierarchyPageLogic::myLastForceType
protected
int makVrf::DtVrfHierarchyPageLogic::myDeferredSelectionCounter
protected
bool makVrf::DtVrfHierarchyPageLogic::myWaitForStateAddition = false
protected
int makVrf::DtVrfHierarchyPageLogic::myLastPendingOperationsSize = 0
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)