VR-Forces 4.1 Class Documentation
DtQtMenuAssembler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtQtMenuAssembler.h,v $ $Revision: 1.12 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCoreQt/vrvCoreQt.h>
16 #include <boost/unordered_map.hpp>
17 
18 class QMenuBar;
19 class QWidget;
20 
21 namespace makVrv
22 {
23  class DtMenu;
24  class DtMenuItem;
25  class DtMenuManager;
26 
30  {
31  public:
32 
33  typedef boost::unordered_map<std::string,DtMenu*> MenuBuilderMap;
34  typedef boost::unordered_map<std::string,DtMenuItem*> MenuItemBuilderMap;
35 
37 
39  virtual ~DtQtMenuAssembler();
40 
42  static DtQtMenuAssembler& instance(DtDe& de);
43 
45  void registerMenu(DtMenu*);
46 
48  DtMenu* menuBuilder(const std::string&) const;
49 
51  void unregisterMenu(DtMenu*, bool deleteBuilder = true);
52 
54  void registerMenu(DtMenuItem*);
55 
57  DtMenuItem* menuItemBuilder(const std::string&) const;
58 
60  void unregisterMenu(DtMenuItem*, bool deleteBuilder = true);
61 
62  const MenuBuilderMap& menuBuilderMap() const
63  {
64  return myMenuBuilders;
65  }
66 
67  const MenuItemBuilderMap& menuItemBuilderMap() const
68  {
69  return myMenuItemBuilders;
70  }
71 
72  MenuBuilderMap& menuBuilderMap()
73  {
74  return myMenuBuilders;
75  }
76 
77  MenuItemBuilderMap& menuItemBuilderMap()
78  {
79  return myMenuItemBuilders;
80  }
81 
84  virtual void merge(const DtQtMenuAssembler::MenuBuilderMap&);
85 
88  virtual void merge(const DtQtMenuAssembler::MenuItemBuilderMap&);
89 
90  protected:
91 
94 
96  virtual void assembleMenu(const DtMenuPath& menuPath);
97 
99  virtual void assembleMenuItem(const DtMenuPath& menuPath);
100 
101  virtual QMenuBar* menuBar();
102  virtual QWidget* menuWindow();
103  virtual DtMenuManager& menuManager();
104 
105  protected:
108  };
109 
113  {
114  public:
115 
118 
120  virtual ~DtQtMenuAssemblerCreator();
121 
123  virtual DtMenuAssembler* create(DtDe& de);
124 
125  };
126 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)