VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtVrfHierarchyPageLogic.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrfHierarchyPageLogic.h,v $ $Revision: 1.2 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00017 #include <vrfGuiCoreQt/DtVrfObjectListViewItem.h>
00018 #include <vrvCore/DtElementIDHierarchy.h>
00019 #include <vrvCore/DtElementData.h>
00020 #include <vrvCore/DtSelectionManager.h>
00021 
00022 #include <QtCore/QPoint>
00023 
00024 #include <map>
00025 
00026 class QTreeWidgetItem;
00027 
00028 namespace makVrv
00029 {
00030    class DtDe;
00031    class DtElementIDHierarchyNode;
00032 };
00033 
00034 namespace makVrf
00035 {
00036    class DtVrfHierarchyPage;
00037    class DtVrfObjectListViewItem;
00038    class DtExpandCollapseButton;
00039 
00040    class DT_DLL_VRFGUICOREQT DtVrfHierarchyPageLogic
00041    {
00042    public:
00044       DtVrfHierarchyPageLogic( makVrv::DtDe& de, DtVrfHierarchyPage* iface );
00045       virtual ~DtVrfHierarchyPageLogic();
00046 
00047    public:
00048       virtual void slot_itemSelectionChanged();
00049       virtual void slot_rightClickOnItem(QPoint global);
00050       virtual QTreeWidgetItem* itemForState(const DtVrfObjectListViewItem::DtVrfObjectState s) const;
00051       virtual void expandToLevel(unsigned int i);
00052       virtual void collapseToLevel(unsigned int i);
00053       virtual void viewItemExpanded(QTreeWidgetItem* i);
00054       virtual void viewItemCollapsed(QTreeWidgetItem* i);
00055 
00056       virtual void deparent(const QStringList&) = 0;
00057       virtual void reparent(const QStringList& children, makVrv::DtUniqueID parentId) = 0;
00058 
00060       virtual void processHierarchyItem(makVrv::DtElementIDHierarchyNode*);
00061 
00062    protected:
00063 
00064       virtual void slot_onTick(makVrv::DtDe&);
00065 
00068       virtual void slot_onStateViewAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>& s);
00069 
00071       virtual bool addNode(makVrv::DtElementIDHierarchyNode*) const;
00072 
00073    protected:
00074       virtual void removeNode(makVrv::DtElementID);
00075       virtual void positionNodeInHierarchy(makVrv::DtElementIDHierarchyNode*);
00076       virtual void hookChildToParent(makVrv::DtElementIDHierarchyNode*);
00077       virtual void hookParentToChildren(makVrv::DtElementIDHierarchyNode*);
00078       virtual DtVrfObjectListViewItem* createItemFor(makVrv::DtElementIDHierarchyNode*);
00079       virtual QVariant echelonId(const DtVrfObjectListViewItem*) const;
00080 
00081       virtual bool sortByEchelonId(const DtVrfObjectListViewItem& rhs, const DtVrfObjectListViewItem& lhs);
00082       virtual int getDesignator(const std::string& echelon) const;
00083 
00084    protected:
00085       virtual void addDataFunctions(DtVrfObjectListViewItem* item);
00086       virtual void addSortingFunctions(DtVrfObjectListViewItem* item);
00087       virtual void slot_externalSelectionChanged(
00088          const makVrv::DtSelectionManager::IdSet& selected,
00089          const makVrv::DtSelectionManager::IdSet& deselected );
00090 
00091       virtual void updateCollapseButtons();
00092       virtual void updateCollapseButtons(QTreeWidgetItem*);
00093 
00094       virtual void createCollapseButton(unsigned int);
00095       virtual void expandToLevel(unsigned int level, QTreeWidgetItem* lvi);
00096       virtual void collapseToLevel(unsigned int level, QTreeWidgetItem* lvi);
00097 
00099       virtual void hierarchyItemsModified(const makVrv::DtElementData::EntryAttributesList&) = 0;
00100 
00101       virtual void hierarchyItemsRemoved(const makVrv::DtElementData::UniqueIdList&);
00102 
00103    protected:
00104       typedef std::map<makVrv::DtElementID, DtVrfObjectListViewItem*>  DtHierarchyListItemMap;
00105       typedef std::map<makVrv::DtUniqueID, DtVrfObjectListViewItem*>  DtHierarchyStateIDListItemMap;
00106       typedef std::map<makVrv::DtElementID, makVrv::DtElementIDHierarchyNode> PendingOperationsMap;
00107 
00108       makVrv::DtDe&           myDe;
00109       DtVrfHierarchyPage*     myInterface;
00110       std::vector<DtExpandCollapseButton*> myCollapseButtonVector;
00111 
00112       DtHierarchyListItemMap  myItems;
00113       DtHierarchyStateIDListItemMap myStateIdMap;
00114       bool                 myDirty;
00115       bool                 myUpdateCollapseButtons;
00116       bool                 myShowEchelonId;
00117       bool                 myFirstTick;
00118       PendingOperationsMap myPendingOperations;
00119    };
00120 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)