VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtRadioMenu.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)