VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtQtMenuAssembler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
13 #include <boost/unordered_map.hpp>
14 
15 class QMenuBar;
16 class QWidget;
17 
18 namespace makVrv
19 {
20  class DtMenu;
21  class DtMenuItem;
22  class DtMenuManager;
23 
27  {
28  public:
29 
30  typedef boost::unordered_map<std::string,DtMenu*> MenuBuilderMap;
31  typedef boost::unordered_map<std::string,DtMenuItem*> MenuItemBuilderMap;
32 
34 
36  virtual ~DtQtMenuAssembler();
37 
39  static DtQtMenuAssembler& instance(DtDe& de);
40 
42  void registerMenu(DtMenu*);
43 
45  DtMenu* menuBuilder(const std::string&) const;
46 
48  void unregisterMenu(DtMenu*, bool deleteBuilder = true);
49 
51  void registerMenu(DtMenuItem*);
52 
54  DtMenuItem* menuItemBuilder(const std::string&) const;
55 
57  void unregisterMenu(DtMenuItem*, bool deleteBuilder = true);
58 
60  {
61  return myMenuBuilders;
62  }
63 
65  {
66  return myMenuItemBuilders;
67  }
68 
70  {
71  return myMenuBuilders;
72  }
73 
75  {
76  return myMenuItemBuilders;
77  }
78 
81  virtual void merge(const DtQtMenuAssembler::MenuBuilderMap&);
82 
85  virtual void merge(const DtQtMenuAssembler::MenuItemBuilderMap&);
86 
87  protected:
88 
91 
93  virtual void assembleMenu(const DtMenuPath& menuPath);
94 
96  virtual void assembleMenuItem(const DtMenuPath& menuPath);
97 
98  virtual QMenuBar* menuBar();
99  virtual QWidget* menuWindow();
100  virtual DtMenuManager& menuManager();
101 
102  protected:
105  };
106 
110  {
111  public:
112 
115 
117  virtual ~DtQtMenuAssemblerCreator();
118 
120  virtual DtMenuAssembler* create(DtDe& de);
121 
122  };
123 }
Builder for menu items.
Definition: DtMenuItem.h:23
boost::unordered_map< std::string, DtMenuItem * > MenuItemBuilderMap
Definition: DtQtMenuAssembler.h:31
MenuBuilderMap myMenuBuilders
Definition: DtQtMenuAssembler.h:103
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains makVrv::DtMenuAssembler class.
A Qt implementation of a DtMenuAssembler.
Definition: DtQtMenuAssembler.h:26
Contains DLL export macros.
const MenuBuilderMap & menuBuilderMap() const
Definition: DtQtMenuAssembler.h:59
MenuBuilderMap & menuBuilderMap()
Definition: DtQtMenuAssembler.h:69
boost::unordered_map< std::string, DtMenu * > MenuBuilderMap
Definition: DtQtMenuAssembler.h:30
MenuItemBuilderMap myMenuItemBuilders
Definition: DtQtMenuAssembler.h:104
A Menu manager which is how to lookup and find menu/menu items using menu paths.
Definition: DtMenuManager.h:31
Override the DtMenuAssemblerCreator with a DtQtMenuAssemblerCreator.
Definition: DtQtMenuAssembler.h:109
a Class which represents a menu path.
Definition: DtMenuPath.h:27
The abstract base menu class.
Definition: DtMenu.h:23
const MenuItemBuilderMap & menuItemBuilderMap() const
Definition: DtQtMenuAssembler.h:64
MenuItemBuilderMap & menuItemBuilderMap()
Definition: DtQtMenuAssembler.h:74
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The base class implementation of a Menu Assembler.
Definition: DtMenuAssembler.h:27
The Menu assembler creator class allows the menu assembler to be replaced by a subclass via a plugin...
Definition: DtMenuAssembler.h:68

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)