VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
taskMenu.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 
15 #include <vrvCoreQt/DtToolbar.h>
20 
21 class QEvent;
23 
24 namespace makVrf
25 {
27  {
28  public:
29  typedef std::set<std::string> Mappings;
30  typedef std::map<std::string, Mappings> EquivalenceMappings;
31 
34 
36  virtual ~DtTaskToolbar();
37 
39  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent);
40 
41  virtual void removeEquivalenceMappings();
42  virtual void addEquivalenceMapping(const std::string& toolbar, const std::string& equivalentTo);
43  virtual void removeEquivalenceMapping(const std::string& toolbar, const std::string& equivalentTo);
44  virtual const EquivalenceMappings& equivalenceMappings() const
45  {
46  return myEquivalenceMappings;
47  }
48 
49  protected:
51  };
52 
58  {
59  public:
61  {
62  RecreateNone = 0,
63  RecreateOnScenarioLoad = 0x00000001,
64  RecreateOnScriptedTaskChange = 0x00000002,
65  RecreateToolbars = 0x00000004,
66  UseGlobalMenuManager = 0x00000008,
67  RecreateMenuOnSelectionChange = 0x00000010,
68  };
69 
70  typedef std::map<std::string, DtScriptedTaskMetaData> ScriptedTasks;
71 
73  DtTaskMenu(makVrv::DtDe&, const std::string& menuIdName = DtTaskMenuId);
74 
76  virtual ~DtTaskMenu();
77 
79  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
80 
81  static DtTaskMenu& instance(makVrv::DtDe&);
82 
86  static DtTaskMenu* menuInstance(makVrv::DtDe&);
87 
88  virtual DtTaskMenu* newInstance();
89 
91  virtual void setEditMode(bool);
92  virtual bool editMode() const;
93 
95  virtual void setRecreateFlags(RecreateFlags);
96 
97  virtual void addScriptedTask(const DtScriptedTaskMetaData&, bool signal = true);
98 
101  bool addToolbarMenuItems = true);
102 
105  virtual void setScriptedTasks(const ScriptedTasks&, bool signal = true);
106  virtual const ScriptedTasks& scriptedTasks() const;
107 
109  virtual void setTaskMenuConfiguration(const DtSubMenuConfiguration&);
110 
112  boost::signal<void (DtSubMenuConfiguration&)> signal_preCreateConfiguration;
113 
115  boost::signal<void ()> signal_recreateMenu;
116 
118  {
119  return myMenu;
120  }
121 
122  protected:
123  virtual void menuRecreated();
124  virtual void clearScriptedTasks();
125  virtual void scriptedTaskAboutToBeRemoved(std::string id);
126  virtual void scriptedTaskAdded(std::string id);
127  virtual void receivedScriptedTasks();
128 
129  virtual void removeAllScriptedTasks(bool signal = true);
130  virtual void removeScriptedTask(const std::string& id, bool signal = true);
131 
134  virtual std::string addScriptedTaskMenuLocation(const std::string& scriptedTaskId, const std::string& potentialPath,
135  const QString& menuName, const QString& extMenuName, const QString& toolTip, DtSubMenuConfiguration& configuration,
136  DtConfigurableMenuAssembler&, bool showInMenu = true, bool addToolbarMenuItems = true);
137 
138  virtual std::string addScriptedTaskToolbarLocation(const std::string& scriptedTaskId, makVrv::DtToolbarConfiguration& configuration);
139 
140  protected:
147  };
148 
151  {
152  public:
154 
155  protected:
156  virtual QMenu* createMenu( makVrv::DtDe& de, QWidget* parent );
157  };
158 
160 
163  {
164  public:
166  DtVrfTaskMenu(const std::string& className, const QString& title, QWidget* parent, makVrv::DtDe&,
168  const DtSubMenuConfiguration& configuration = DtSubMenuConfiguration());
169 
171  virtual ~DtVrfTaskMenu();
172 
177  virtual void setupMenu(const makVrv::DtMenuConfiguration& initialCreateMenuConfiguration = makVrv::DtMenuConfiguration(),
178  const makVrv::DtToolbarConfiguration& initialCreateToolbarConfiguration = makVrv::DtToolbarConfiguration(),
179  bool useGlobalMenuManager = false, bool recreateToolbars = false);
180 
182  virtual void recreateMenu();
183 
186  virtual void setTaskMenuProxy(DtTaskMenu*);
187  virtual DtTaskMenu* taskMenuProxy();
188 
189  virtual void setEntitySet(const makVrv::DtSelectionManager::IdSet& set);
190 
191  protected:
197  };
198 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)