VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
setMenu.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 
13 #if !defined(Q_MOC_RUN)
17 #include <vrvCoreQt/DtToolbar.h>
19 #endif
20 
21 class QMenuBar;
22 
23 namespace makVrf
24 {
25  class DtVrfTaskSetMenu;
26 
31  {
32  Q_OBJECT
33 
34  public:
35 
37  DtSetMenu(makVrv::DtDe&, const std::string& menuIdName = DtSetMenuId);
38 
40  virtual ~DtSetMenu();
41 
43  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
44 
45  static DtSetMenu& instance(makVrv::DtDe&);
46 
47 
51  static DtSetMenu* menuInstance(makVrv::DtDe&);
52 
53  virtual DtSetMenu* newInstance();
54 
59  virtual void giveBackSetMenu(DtVrfTaskSetMenu*);
60  virtual DtVrfTaskSetMenu* createSetMenu(QWidget* widgetOwner, QMenuBar* menuOwner = nullptr,
63 
64  bool hasPrecreatedMenus() const
65  {
66  return (myPrecreatedMenus.size() != 0);
67  }
68 
69  protected:
70  virtual int supportedScriptType(int d) const;
71  virtual const char* supportsToolbarType() const;
72 
73  protected slots:
74  virtual void precreatedMenuDeleted();
75 
76  protected:
77  std::vector<DtVrfTaskSetMenu*> myPrecreatedMenus;
78  };
79 
82  {
83  public:
85 
86  protected:
87  virtual QMenu* createMenu( makVrv::DtDe& de, QWidget* parent );
88  };
89 
92  {
93  public:
95  DtVrfSetMenu(const std::string& className, const QString& title, QWidget* parent, makVrv::DtDe&, int flags = 0,
97 
99  virtual ~DtVrfSetMenu();
100 
101  virtual void recreateMenu();
102 
103  virtual MenuType menuType() const
104  {
105  return SetMenu;
106  }
107 
109  static void SetOnlyCreateMenuWhenScriptedTasksLoaded(bool);
110 
111  protected:
112  virtual void postRecreateMenu();
113 
114  protected:
115  virtual const char* supportedToolbar() const;
116  virtual const char* supportedMenu() const;
117  virtual const DtSubMenuConfiguration& defaultMenuConfiguration() const;
118  virtual const makVrv::DtQtMenuAssembler::MenuBuilderMap& defaultMenuBuilderMap() const;
119  virtual const makVrv::DtQtMenuAssembler::MenuItemBuilderMap& defaultMenuItemBuilderMap() const;
120  virtual DtScriptedTaskConfigurableMenu* mainMenuInstance();
121  virtual void renameIfDuplicate(QAction* act);
122 
123  protected:
124  boost::signals2::scoped_connection myRecreateMenuConnection;
125  };
126 }
Definition: scriptedTaskConfigurableMenu.h:49
Definition: vrfTaskSetMenu.h:51
boost::unordered_map< std::string, DtMenuItem * > MenuItemBuilderMap
Definition: DtQtMenuAssembler.h:31
Class used in right click menu. Returns previously created instance of DtTaskMenu Menu...
Definition: setMenu.h:81
Definition: setMenu.h:30
const char DtSetMenuId[]
Defined for vrfGuiCoreQt/DtSetMenu.h.
Definition: vrfMenuIds.h:504
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
std::vector< DtVrfTaskSetMenu * > myPrecreatedMenus
Definition: setMenu.h:77
virtual MenuType menuType() const
Returns the type of menu it is. This is not set but returned by the subclass. See enums above...
Definition: setMenu.h:103
Instance of the set menu.
Definition: setMenu.h:91
Container class that will create instances of scripted task configurable menu.
Definition: scriptedTaskConfigurableMenu.h:38
boost::unordered_map< std::string, DtMenu * > MenuBuilderMap
Definition: DtQtMenuAssembler.h:30
Contains makVrv::DtToolbar class declaration.
bool hasPrecreatedMenus() const
Definition: setMenu.h:64
boost::signals2::scoped_connection myRecreateMenuConnection
Definition: setMenu.h:124
MenuType
Definition: vrfTaskSetMenu.h:56
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)