VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMenuManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtMenuManager_H_
11 #define DtMenuManager_H_
12 
13 #include <vrvCoreQt/vrvCoreQt.h>
15 #include <vrvCore/DtMenuPath.h>
16 
17 #include <QtCore/QObject>
18 
19 class QMenu;
20 class QAction;
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtMenuPath;
26 
27 
32  {
33  Q_OBJECT;
34  public:
35 
37  static DtMenuManager& instance(DtDe& de);
38 
40  virtual ~DtMenuManager();
41 
43  void registerMenu(const DtMenuPath& path, QMenu* menu);
44 
46  void registerMenuItem(const DtMenuPath& path, QAction* action);
47 
49  QMenu* findMenu(const DtMenuPath& path) const;
50 
52  QAction* findMenuItem(const DtMenuPath& path) const;
53 
56  const std::map<DtMenuPath,QMenu*>& menus() const;
57  const std::map<DtMenuPath,QAction*> menuItems() const;
58 
59  boost::signalslib::signal<void (const DtMenuPath&)> signal_menuDeleted;
60  boost::signalslib::signal<void (const DtMenuPath&)> signal_menuItemDeleted;
61 
62  protected slots:
63 
65  void onMenuDestroyed(QObject* obj);
66 
68  void onActionDestroyed(QObject* obj);
69 
70  protected:
71 
73  DtMenuManager();
74 
75  std::map<DtMenuPath,QMenu*> myMenus;
76  std::map<DtMenuPath,QAction*> myMenuItems;
77  };
78 }
79 
80 #endif
81 
Virtual base class.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
std::map< DtMenuPath, QAction * > myMenuItems
Definition: DtMenuManager.h:76
Contains makVrv::DtMenuPath class.
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(const DtMenuPath &)> signal_menuItemDeleted
Definition: DtMenuManager.h:60
A Menu manager which is how to lookup and find menu/menu items using menu paths.
Definition: DtMenuManager.h:31
a Class which represents a menu path.
Definition: DtMenuPath.h:27
std::map< DtMenuPath, QMenu * > myMenus
Definition: DtMenuManager.h:75
boost::signalslib::signal< void(const DtMenuPath &)> signal_menuDeleted
Definition: DtMenuManager.h:59
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)