![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtRadioMenu.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/signalslib.h> 00017 00018 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00019 #include <vrvCoreQt/DtMenu.h> 00020 #include <vrvCore/DtMenuConfiguration.h> 00021 #include <vrvCore/DtSelectionManager.h> 00022 #include <vrvCoreQt/DtMenuManager.h> 00023 #include <vrvCoreQt/DtQtMenuAssembler.h> 00024 00025 namespace makVrv 00026 { 00027 class DtDe; 00028 class DtSimEntry; 00029 }; 00030 00031 class QEvent; 00032 class DtSimTask; 00033 00034 namespace makVrf 00035 { 00036 class DtVrfTaskSetMenu; 00037 class DtVrfTaskSetAction; 00038 00039 class DT_DLL_VRFGUICOREQT DtRadioMenuManager : public makVrv::DtMenuManager 00040 { 00041 public: 00042 DtRadioMenuManager() : makVrv::DtMenuManager() 00043 { 00044 } 00045 }; 00046 00047 class DT_DLL_VRFGUICOREQT DtRadioMenuAssembler : public makVrv::DtQtMenuAssembler 00048 { 00049 public: 00050 DtRadioMenuAssembler(makVrv::DtDe& de) 00051 : makVrv::DtQtMenuAssembler(de) 00052 { 00053 } 00054 00055 virtual ~DtRadioMenuAssembler() 00056 { 00057 myMenuItemBuilders.clear(); 00058 } 00059 00061 virtual QMenuBar* menuBar() 00062 { 00063 return 0; 00064 } 00065 00067 virtual makVrv::DtMenuManager& menuManager() 00068 { 00069 return myMenuManager; 00070 } 00071 00073 QMenu* findMenu(const makVrv::DtMenuPath& path) 00074 { 00075 return myMenuManager.findMenu(path); 00076 } 00077 00078 makVrv::DtDe& de() 00079 { 00080 return myDe; 00081 } 00082 00083 protected: 00084 DtRadioMenuManager myMenuManager; 00085 }; 00086 00087 class DT_DLL_VRFGUICOREQT DtRadioMenu : public makVrv::DtMenu 00088 { 00089 public: 00090 00092 DtRadioMenu(makVrv::DtDe& de, const std::string& menuIdName); 00093 00095 virtual ~DtRadioMenu(); 00096 00098 virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent); 00099 00101 boost::signal<void (const std::vector<std::string>&, const DtSimTask&)> signal_commandActivated; 00102 00103 protected: 00104 virtual void slot_createTaskSetDialog(int menuItemType, QWidget*, DtVrfTaskSetAction*, 00105 const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu* menu); 00106 00107 virtual void slot_commandActivated(const std::vector<std::string>&, const DtSimTask&, DtVrfTaskSetMenu* menu); 00108 00109 protected: 00110 virtual QString title() const = 0; 00111 virtual DtVrfTaskSetMenu* assembleMenu(makVrv::DtDe& de) = 0; 00112 }; 00113 }