VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtVrfTaskSetMenu.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrfTaskSetMenu.h,v $ $Revision: 1.2 $ $State: Exp $
00007 ******************************************************************************/
00008 
00009 #pragma once
00010 
00011 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00012 #include <vrfGuiCoreQt/DtSelectionEnabledMenu.h>
00013 
00014 #include <vrvCoreQt/DtMenuItem.h>
00015 #include <vrvCore/DtSelectionManager.h>
00016 
00017 #include <QtGui/QAction>
00018 
00019 class QEvent;
00020 class DtSetDataRequest;
00021 class DtSimTask;
00022 
00023 namespace makVrv
00024 {
00025    class DtSimEntry;
00026 }
00027 
00028 namespace makVrf
00029 {
00030    class DtVrfBackendState;
00031    class DtVrfTaskSetMenu;
00032 
00039    class DT_DLL_VRFGUICOREQT DtVrfTaskSetMenuItem : public makVrv::DtMenuItem
00040    {
00041       Q_OBJECT
00042 
00043    public:
00047       DtVrfTaskSetMenuItem(const std::string&, makVrv::DtDe&);
00048 
00050       virtual ~DtVrfTaskSetMenuItem();
00051 
00052    protected:
00063       virtual QAction* registerMenuItem(const QString& title, QWidget* parent, int iAction, const QString& iconBaseName);
00064       
00066       virtual void on_triggered();
00067 
00068    protected:
00069       makVrv::DtDe&  myDe;
00070    };
00071 
00076    class DT_DLL_VRFGUICOREQT DtVrfTaskSetAction  : public QAction
00077    {
00078       Q_OBJECT
00079 
00080    public:
00083       DtVrfTaskSetAction(QWidget* parent, makVrv::DtDe&);
00084       
00086       virtual ~DtVrfTaskSetAction();
00087 
00090       void setParentMenu(DtVrfTaskSetMenu* p)
00091       {
00092          myParentMenu = p;
00093       }
00094 
00097       DtVrfTaskSetMenu* parentMenu()
00098       {
00099          return myParentMenu;
00100       }
00101 
00102    public:
00106       virtual void slot_onSendSetRequest(std::vector<std::string> names, const DtSetDataRequest&);
00107 
00112       boost::signal<void (std::vector<std::string> names, const DtSetDataRequest&)> signal_sendSetRequest;
00113 
00117       virtual void slot_onSendTaskRequest(std::vector<std::string> names, const DtSimTask&);
00118 
00123       boost::signal<void (std::vector<std::string> names, const DtSimTask&)> signal_sendTaskRequest;
00124 
00132       boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
00133          const std::vector<makVrv::DtSimEntry*>&, bool)> signal_createTaskSetDialog;
00134 
00135    public:
00138       virtual void on_triggered();
00139 
00140    protected:
00141       makVrv::DtDe&  myDe;
00142       DtVrfTaskSetMenu* myParentMenu;
00143    };
00144 
00151    class DT_DLL_VRFGUICOREQT DtVrfTaskSetMenu : public DtSelectionEnabledMenu
00152    {
00153       Q_OBJECT
00154 
00155    public:
00156 
00158       DtVrfTaskSetMenu(const std::string& className, const QString& title, QWidget* parent, makVrv::DtDe&);
00159 
00161       virtual ~DtVrfTaskSetMenu();
00162 
00163       virtual void setValidate(bool b);
00164       virtual void setPartOfPlanDialog(bool b);
00165       virtual void setEntitySet(const makVrv::DtSelectionManager::IdSet& set);
00166       virtual void setMenuItemValidation(bool b);
00167 
00170       virtual void setHideDisabledItem(bool yesNo);
00171 
00173       virtual void setSignalDialogCreation(bool b);
00174 
00175       bool signalDialogCreation() const
00176       {
00177          return mySignalDialogCreation;
00178       }
00179 
00182       virtual void setSignalTaskSetRequests(bool b);
00183 
00184       bool signalTaskSetRequests() const
00185       {
00186          return mySignalTaskSetRequests;
00187       }
00188 
00189       bool partOfPlanDialog() const
00190       {
00191          return myPartOfPlanDialog;
00192       }
00193 
00194       const makVrv::DtSelectionManager::IdSet& entitySet() const
00195       {
00196          return myEntitySet;
00197       }
00198 
00199       void setParentMenu(DtVrfTaskSetMenu* p)
00200       {
00201          myParentMenu = p;
00202       }
00203 
00204       DtVrfTaskSetMenu* parentMenu()
00205       {
00206          return myParentMenu;
00207       }
00208 
00209    public:
00210       boost::signal<void (std::vector<std::string> names, const DtSetDataRequest&)> signal_sendSetRequest;
00211       boost::signal<void (std::vector<std::string> names, const DtSimTask&)> signal_sendTaskRequest;
00212       boost::signal<void (QAction*)> signal_validateMenuItem;
00213 
00214       virtual void slot_sendSetRequest(std::vector<std::string> names, const DtSetDataRequest& s);
00215       virtual void slot_sendTaskRequest(std::vector<std::string> names, const DtSimTask& s);
00216 
00218       virtual void slot_createTaskSetDialog(int menuItemType, QWidget*, DtVrfTaskSetAction*,
00219          const std::vector<makVrv::DtSimEntry*>&, bool);
00220       boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
00221          const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu*)> signal_createTaskSetDialog;
00222 
00223 
00225       virtual void signalCommandDialogCreation(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
00226          const std::vector<makVrv::DtSimEntry*>& data, bool partOfPlan);
00227       boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
00228          const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu*)> signal_createCommandDialog;
00229 
00230    public slots:
00231       virtual void validate();
00232 
00233    protected:
00234       virtual bool eventFilter(QObject *, QEvent *);
00235       virtual void actionAdded(QEvent*);
00236 
00237       virtual void validateMenuItems(int terrainPatchOffset);
00238       virtual void slot_backendUpdated(const DtVrfBackendState&, int);
00239       virtual bool available(int menu, std::vector<int>& l) const;
00240       virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
00241 
00244       virtual std::vector<std::string> whoShouldITask(const std::vector<std::string>& name, const DtSimTask& newTask);
00245 
00246    protected:
00247       std::map<int, QAction*> myTaskSetActions;
00248       makVrv::DtSelectionManager::IdSet myEntitySet;
00249       bool           myValidate;
00250       bool           myMenuItemValidation;
00251       bool           myPartOfPlanDialog;
00252       bool           mySignalTaskSetRequests;
00253       bool           mySignalDialogCreation;
00254       std::vector<DtVrfTaskSetMenu*>   myRadioMenus;
00255       DtVrfTaskSetMenu* myParentMenu;
00256       std::string myClassName;
00257       bool myHideDisabledItems;
00258    }; 
00259 }

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)