![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvUtil/DtSignalConnectionManager.h> 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <vrvCore/DtSelectionManager.h> 00018 #include <vrvCore/DtUniqueID.h> 00019 #include <QtCore/QHash> 00020 #include <boost/unordered_map.hpp> 00021 00022 namespace makVrv 00023 { 00024 class DtTacticalGraphicOverlayTreeInterface; 00025 class DtTacticalGraphicOverlayManager; 00026 class DtFeatureLayer; 00027 00030 class DT_DLL_VRVCOREQT DtTacticalGraphicOverlayTreeLogic : public DtVirtualBaseClass 00031 { 00032 00033 public: 00034 00036 DtTacticalGraphicOverlayTreeLogic(DtDe& de, DtTacticalGraphicOverlayTreeInterface* iface); 00037 00039 ~DtTacticalGraphicOverlayTreeLogic(); 00040 00041 protected: 00042 00045 virtual void slot_tacticalGraphicAdded(const DtUniqueID& id, const std::string& name); 00046 00050 virtual void slot_tacticalGraphicRenamed(const DtUniqueID& id, const std::string& newName); 00051 00055 virtual void slot_tacticalGraphicOverlayRenamed(const DtUniqueID& id, const std::string& overlayName); 00056 00060 virtual void slot_tacticalGraphicRemoved(const DtUniqueID& id); 00061 00064 virtual void slot_overlayDeleted(const std::string& name); 00065 00068 virtual void slot_tacticalGraphicSelected(const DtUniqueID& id); 00069 00071 virtual void slot_tacticalGraphicVisibilityChanged(const DtUniqueID& id, bool flag); 00072 00074 virtual void slot_overlaySelected(const std::string& name); 00075 00077 virtual void slot_filterStatusChanged(const std::string& name, bool flag); 00078 00080 virtual void slot_overlayVisibilityChanged(const std::string& name, bool flag); 00081 00083 virtual void slot_overlayVisibilityChangedFromManager(const std::string& layer, bool b); 00084 00086 virtual void slot_showEmptyOverlays(bool flag); 00087 00088 00090 virtual void slot_overlayAdded(const std::string& name); 00091 00094 virtual void refreshOverlays(); 00095 00097 virtual void slot_selMgrCurrentSelectionChanged( 00098 const DtSelectionManager::IdSet& selected, 00099 const DtSelectionManager::IdSet& deselected); 00100 00102 virtual void fillGui(); 00103 00104 protected: 00105 00106 typedef boost::unordered_map<DtUniqueID, std::string> KeyToNameMap; 00107 00108 DtDe& myDe; 00109 DtTacticalGraphicOverlayTreeInterface* myWidget; 00110 DtSignalConnectionManager myManager; 00111 KeyToNameMap myKeyToName; 00112 bool myHideEmptyOverlays; 00113 }; 00114 00115 // Creator class for DtTacticalGraphicOverlayTreeLogic 00117 class DT_DLL_VRVCOREQT DtTacticalGraphicOverlayTreeLogicCreator : public DtVirtualBaseClass 00118 { 00119 00120 public: 00121 00122 // Get the creator instance for this DE object. 00123 // DtCorruptedState if no instance is found. 00124 static DtTacticalGraphicOverlayTreeLogicCreator& instance(DtDe& de); 00125 00126 // Register the creator instance with an DE. 00127 static void registerInstance(DtDe& de, DtTacticalGraphicOverlayTreeLogicCreator* instance); 00128 00129 //Create the widget's logic. 00130 static DtVirtualBaseClass* create(DtDe& de, DtTacticalGraphicOverlayTreeInterface* pIf); 00131 00132 }; 00133 } 00134