VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptedTaskConfigurableMenu.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
19 #include <vrvCoreQt/DtToolbar.h>
20 #include <vrvUtil/DtUnicode.h>
21 #include <boost/signals2.hpp>
22 
23 class QEvent;
25 
26 namespace makVrv
27 {
28  class DtUnicode;
29 }
30 
31 namespace makVrf
32 {
33  class DtVrfTaskSetMenu;
34 
39  {
40  public:
42  {
43  RecreateNone = 0,
44  RecreateOnScenarioLoad = 0x00000001,
45  RecreateOnScriptedTaskChange = 0x00000002,
46  RecreateToolbars = 0x00000004,
47  UseGlobalMenuManager = 0x00000008,
48  RecreateMenuOnSelectionChange = 0x00000010,
49  SkipInitialMenuSetup = 0x00000020
50  };
51 
53  {
54  ScriptedTaskData() : availableSystemScript(false) {};
55  ScriptedTaskData(const ScriptedTaskData& orig) : metaData(orig.metaData), availableSystemScript(orig.availableSystemScript) {};
56 
57  ScriptedTaskData& operator=(const ScriptedTaskData& orig) { metaData = orig.metaData; availableSystemScript = orig.availableSystemScript; return *this; };
58 
59  DtScriptedTaskMetaData metaData;
61  };
62 
63  typedef std::map<std::string, ScriptedTaskData> ScriptedTasks;
64 
66  DtScriptedTaskConfigurableMenu(makVrv::DtDe&, const std::string& menuIdName);
67 
70 
72  virtual void setEditMode(bool);
73  virtual bool editMode() const;
74 
76  virtual void setRecreateFlags(RecreateFlags);
77 
78  virtual void addScriptedTask(const DtScriptedTaskMetaData&, bool signal = true);
79 
82  bool addToolbarMenuItems = true, bool useGlobalMenuManager = false);
83 
86  virtual void setScriptedTasks(const ScriptedTasks&, bool signal = true);
87  virtual const ScriptedTasks& scriptedTasks() const;
88 
90  virtual void setMenuConfiguration(const DtSubMenuConfiguration&);
91 
92  virtual int supportedScriptType(int type) const = 0;
93  virtual const char* supportsToolbarType() const = 0;
94 
96  boost::signals2::signal<void (DtSubMenuConfiguration&)> signal_preCreateConfiguration;
97 
99  boost::signals2::signal<void ()> signal_recreateMenu;
100 
102  {
103  return myMenu;
104  }
105 
106  protected:
107  virtual void scriptIdChanged(const std::string& oldId, const std::string& newId, int action);
108  virtual bool eventFilter(QObject* o, QEvent * e);
109  virtual void slot_sendTaskRequest(std::vector<DtUUID> names, const DtSimTask& s);
110  virtual void slot_sendSetRequest(std::vector<DtUUID> names, const DtSetDataRequest& s);
111 
112  virtual void menuRecreated();
113  virtual void clearScriptedTasks();
114  virtual void scriptedTaskAboutToBeRemoved(std::string id);
115  virtual void scriptedTaskAdded(std::string id);
116  virtual void receivedScriptedTasks();
117 
118  virtual void clearRegisteredMenuAssemblers();
119  virtual void clearRegisteredMenuAssembler(const std::string&);
120 
121  virtual void removeAllScriptedTasks(bool signal = true);
122  virtual void removeScriptedTask(const std::string& id, bool signal = true);
123 
126  virtual std::string addScriptedTaskMenuLocation(const std::string& scriptedTaskId, const std::string& potentialPath,
127  const QString& menuName, const QString& extMenuName, const QString& toolTip, DtSubMenuConfiguration& configuration,
128  DtConfigurableMenuAssembler&, bool showInMenu = true, bool addToolbarMenuItems = true, bool useGlobalMenuManager = false);
129 
130  virtual std::string addScriptedTaskToolbarLocation(const std::string& scriptedTaskId, makVrv::DtToolbarConfiguration& configuration);
131 
132  protected:
139  std::set<std::string> myScriptedTasksAddedToMenuAssember;
140  };
142 
144  {
145  public:
146  DtScriptedTaskMenuItem(makVrv::DtDe& de, const std::string& scriptedTaskId, const std::string& menuId,
147  const makVrv::DtUnicode& menuName, const makVrv::DtUnicode& extMenuName, const makVrv::DtUnicode& toolTip,
148  bool showInMenu, bool addToolbarItem = true);
149 
150  virtual ~DtScriptedTaskMenuItem();
151 
153  virtual QAction* createAction(makVrv::DtDe&, QWidget* parent);
154 
155  virtual void setMenuName(const makVrv::DtUnicode&);
156 
157  void setUseSharedAction(bool);
158 
159  protected:
160  virtual void on_aboutToShow();
161 
162  protected:
163  std::string myScriptedTaskId;
170  };
171 }
Definition: vrfTaskSetMenu.h:49
A unicode string.
Definition: DtUnicode.h:33
ScriptedTasks myScriptedTasks
Definition: scriptedTaskConfigurableMenu.h:134
ScriptedTaskData(const ScriptedTaskData &orig)
Definition: scriptedTaskConfigurableMenu.h:55
bool availableSystemScript
Definition: scriptedTaskConfigurableMenu.h:60
DtSubMenuConfiguration myConfiguration
Definition: scriptedTaskConfigurableMenu.h:137
RecreateFlags myRecreateFlags
Definition: scriptedTaskConfigurableMenu.h:133
makVrv::DtUnicode myToolTip
Definition: scriptedTaskConfigurableMenu.h:166
DtVrfTaskSetMenu * myMenu
Definition: scriptedTaskConfigurableMenu.h:138
RecreateFlags
Definition: scriptedTaskConfigurableMenu.h:41
boost::signals2::signal< void()> signal_recreateMenu
Sent when the task menus need to be recreated because menu configuration has changed.
Definition: scriptedTaskConfigurableMenu.h:99
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
bool myEditMode
Definition: scriptedTaskConfigurableMenu.h:135
QAction * mySharedAction
Definition: scriptedTaskConfigurableMenu.h:169
makVrv::DtUnicode myMenuName
Definition: scriptedTaskConfigurableMenu.h:164
boost::signals2::signal< void(DtSubMenuConfiguration &)> signal_preCreateConfiguration
Signal sent right before menu is configured.
Definition: scriptedTaskConfigurableMenu.h:96
bool myShowInMenu
Definition: scriptedTaskConfigurableMenu.h:167
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
bool myUseSharedAction
Definition: scriptedTaskConfigurableMenu.h:168
Container class that will create instances of scripted task configurable menu.
Definition: scriptedTaskConfigurableMenu.h:38
ScriptedTaskData & operator=(const ScriptedTaskData &orig)
Definition: scriptedTaskConfigurableMenu.h:57
DtVrfTaskSetMenu * menu()
Definition: scriptedTaskConfigurableMenu.h:101
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Definition: scriptedTaskConfigurableMenu.h:52
ScriptedTaskData()
Definition: scriptedTaskConfigurableMenu.h:54
makVrv::DtSignalConnectionManager myConnectionManager
Definition: scriptedTaskConfigurableMenu.h:136
DtScriptedTaskMetaData metaData
Definition: scriptedTaskConfigurableMenu.h:57
Contains makVrv::DtToolbarConfiguration class.
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
A configuration of the toolbar layout.
Definition: DtToolbarConfiguration.h:28
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::map< std::string, ScriptedTaskData > ScriptedTasks
Definition: scriptedTaskConfigurableMenu.h:63
Definition: configurableMenu.h:273
std::set< std::string > myScriptedTasksAddedToMenuAssember
Definition: scriptedTaskConfigurableMenu.h:139
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
Definition: scriptedTaskMetaData.h:48
makVrv::DtUnicode myExtendedMenuName
Definition: scriptedTaskConfigurableMenu.h:165
std::string myScriptedTaskId
Definition: scriptedTaskConfigurableMenu.h:163
Used by menu classes to modify menu registrations in a menu.
Definition: configurableMenu.h:120
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:35
Item for a scripted task. Will be the general holding place for all scripted tasks.
Definition: scriptedTaskConfigurableMenu.h:143

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)