![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVrfEntityPlanManager.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 #include <vrvCore/DtSelectionManager.h> 00019 00020 #include <boost/signal.hpp> 00021 00022 #include <QtCore/QString> 00023 #include <QtCore/QHash> 00024 #include <QtCore/QObject> 00025 #include <QtGui/QWidget> 00026 00027 namespace makVrv 00028 { 00029 class DtDe; 00030 } 00031 00032 namespace makVrf 00033 { 00034 class DtEditEntityPlanWidget; 00035 00036 class DT_DLL_VRFGUICOREQT DtVrfEntityPlanManagerMessager : public QObject 00037 { 00038 Q_OBJECT 00039 00040 public: 00041 DtVrfEntityPlanManagerMessager(makVrv::DtDe&); 00042 00043 virtual ~DtVrfEntityPlanManagerMessager(); 00044 00045 public: 00046 virtual void connectSignals(DtEditEntityPlanWidget*); 00047 boost::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetDestroyed; 00048 00049 protected slots: 00050 virtual void onEditPlanWidgetDestroyed(); 00051 00052 protected: 00053 makVrv::DtDe& myDe; 00054 }; 00055 00057 class DT_DLL_VRFGUICOREQT DtVrfEntityPlanManager : public makVrv::DtVirtualBaseClass 00058 { 00059 public: 00060 DtVrfEntityPlanManager(makVrv::DtDe&); 00061 virtual ~DtVrfEntityPlanManager(); 00062 00064 static DtVrfEntityPlanManager& instance(makVrv::DtDe& de); 00065 00066 public: 00068 virtual void editPlansFor(const makVrv::DtSelectionManager::IdSet&, QWidget* parent); 00069 00071 virtual void editGlobalPlans(QWidget* parent); 00072 00073 protected: 00074 virtual DtEditEntityPlanWidget* createEditEntityPlanWidget(QWidget*, const Qt::WindowFlags& f = 0) const; 00075 00076 virtual void slot_editEntityPlanWidgetDestroyed(DtEditEntityPlanWidget*); 00077 00079 virtual void cleanup(makVrv::DtDe&); 00080 00081 public: 00082 boost::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetCreated; 00083 boost::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetDestroyed; 00084 00085 protected: 00086 makVrv::DtDe& myDe; 00087 QHash<QString, DtEditEntityPlanWidget*> myEditPlanDialogs; 00088 DtVrfEntityPlanManagerMessager myMessager; 00089 }; 00090 }