![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVrfGlobalPlansManager.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <vrvUtil/signalslib.h> 00020 00021 #include <QtCore/QObject> 00022 00023 namespace makVrv 00024 { 00025 class DtDe; 00026 } 00027 00028 class QWidget; 00029 00030 namespace makVrf 00031 { 00032 class DtGlobalPlansDialogInterface; 00033 class DtGlobalPlansDialog; 00034 class DtEditGlobalPlanWidget; 00035 00036 class DT_DLL_VRFGUICOREQT DtVrfGlobalPlansManagerSignalHandler : public QObject 00037 { 00038 Q_OBJECT 00039 00040 public: 00041 DtVrfGlobalPlansManagerSignalHandler(makVrv::DtDe&); 00042 virtual ~DtVrfGlobalPlansManagerSignalHandler(); 00043 00044 virtual void connectSignals(DtGlobalPlansDialogInterface*); 00045 virtual void disconnectSignals(DtGlobalPlansDialog*); 00046 00047 virtual void connectSignals(DtEditGlobalPlanWidget*); 00048 virtual void disconnectSignals(DtEditGlobalPlanWidget*); 00049 00050 public: 00052 boost::signal<void (DtGlobalPlansDialog*)> signal_dialogDestroyed; 00053 00055 boost::signal<void (DtEditGlobalPlanWidget*)> signal_globalPlanDialogDestroyed; 00056 00057 protected slots: 00058 virtual void onDialogDestroyed(); 00059 virtual void onGlobalPlanDialogDestroyed(); 00060 00061 protected: 00062 makVrv::DtDe& myDe; 00063 }; 00064 00065 class DT_DLL_VRFGUICOREQT DtVrfGlobalPlansManager : public makVrv::DtVirtualBaseClass 00066 { 00067 public: 00069 DtVrfGlobalPlansManager(makVrv::DtDe&); 00070 00072 virtual ~DtVrfGlobalPlansManager(); 00073 00075 static DtVrfGlobalPlansManager& instance(makVrv::DtDe& de); 00076 00078 virtual void show(QWidget* parent); 00079 00080 virtual DtEditGlobalPlanWidget* editGlobalPlan(const std::string& plan, const QString& simulationAddress, QWidget* parent, 00081 bool isNewPlan = false); 00082 00083 public: 00084 00085 boost::signal<void (DtEditGlobalPlanWidget*, QString, QString)> signal_globalPlanEditorCreated; 00086 boost::signal<void (DtEditGlobalPlanWidget*, QString, QString)> signal_globalPlanEditorDeleted; 00087 00088 protected: 00089 virtual DtGlobalPlansDialogInterface* createGlobalPlansDialog(QWidget*); 00090 virtual DtEditGlobalPlanWidget* createGlobalPlanEditDialog(QWidget*, const std::string& p, const QString& a, 00091 bool isNewPlan); 00092 00093 virtual void slot_onDialogDestroyed(); 00094 virtual void slot_onGlobalPlanDialogDestroyed(DtEditGlobalPlanWidget*); 00095 00096 protected: 00097 typedef std::pair<std::string, std::string> DtGlobalPlanInformation; 00098 typedef std::map<DtEditGlobalPlanWidget*, DtGlobalPlanInformation> DtGlobalPlanInformationMap; 00099 00100 makVrv::DtDe& myDe; 00101 DtGlobalPlansDialogInterface* myGlobalPlans; 00102 DtVrfGlobalPlansManagerSignalHandler mySignalHandler; 00103 DtGlobalPlanInformationMap myEditors; 00104 }; 00105 }