![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00007 00008 #pragma once 00009 00010 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00011 #include <vrfGuiCoreQt/DtConfigurableMenu.h> 00012 #include <vrvCore/DtVrvApplication.h> 00013 #include <vrvCore/DtMenuConfiguration.h> 00014 #include <vrvCoreQt/DtQtMenuAssembler.h> 00015 00016 namespace makVrf 00017 { 00025 class DT_DLL_VRFGUICOREQT DtVrfMainMenuConfiguration : public DtSubMenuConfiguration 00026 { 00027 public: 00030 DtVrfMainMenuConfiguration(makVrv::DtDe& de); 00031 00034 virtual ~DtVrfMainMenuConfiguration(); 00035 00040 virtual void addMenuPath(const makVrv::DtMenuPath& path, int weight = -1); 00041 00045 virtual void removeMenuPath(const makVrv::DtMenuPath& path); 00046 00050 virtual void addMenuPathAfter(const makVrv::DtMenuPath& newPath, const makVrv::DtMenuPath& relativeTo); 00051 00055 virtual void addMenuPathBefore(const makVrv::DtMenuPath& newPath, const makVrv::DtMenuPath& relativeTo); 00056 00057 protected: 00058 makVrv::DtDe& myDe; 00059 makVrv::DtVrvApplication* myApp; 00060 }; 00061 00068 class DT_DLL_VRFGUICOREQT DtVrfMainMenuAssembler : public DtConfigurableMenuAssembler 00069 { 00070 public: 00073 DtVrfMainMenuAssembler(makVrv::DtDe& de); 00074 00077 virtual ~DtVrfMainMenuAssembler(); 00078 00081 virtual void registerMenu(makVrv::DtMenu* menu); 00082 00085 virtual void unregisterMenu(makVrv::DtMenu* menu, bool deleteBuilder = true); 00086 00089 virtual void registerItem(makVrv::DtMenuItem* item); 00090 00093 virtual void unregisterItem(makVrv::DtMenuItem* item, bool deleteBuilder = true); 00094 00095 protected: 00097 virtual void registerMenu(makVrv::DtMenuItem*); 00098 00100 virtual void unregisterMenu(makVrv::DtMenuItem*, bool); 00101 00102 makVrv::DtDe& myDe; 00103 }; 00104 00110 class DT_DLL_VRFGUICOREQT DtVrfMainMenu : public DtConfigurableMenu 00111 { 00112 public: 00115 virtual ~DtVrfMainMenu(); 00116 00119 static DtVrfMainMenu& instance(makVrv::DtDe& de); 00120 00123 virtual DtSubMenuConfiguration& menuConfiguration(); 00124 00129 virtual DtConfigurableMenuAssembler& menuAssembler(); 00130 00131 protected: 00134 DtVrfMainMenu(makVrv::DtDe&); 00135 00138 virtual void createMenuConfiguration(makVrv::DtDe&); 00139 00142 virtual QMenu* createMenu(makVrv::DtDe&, QWidget*); 00143 00144 makVrv::DtDe& myDe; 00145 static DtVrfMainMenu* theInstance; 00146 DtVrfMainMenuConfiguration myConfig; 00147 DtVrfMainMenuAssembler myAssembler; 00148 }; 00149 }