VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtUserInterfaceAssembler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtUserInterfaceAssembler.h,v $ $Revision: 1.20 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtUserInterfaceAssembler_H_
14 #define DtUserInterfaceAssembler_H_
15 
16 #include <vrvCore/vrvCore.h>
18 #include <vrvCore/DtDe.h>
20 #include <boost/unordered_map.hpp>
21 #include <list>
22 #include <string>
23 
24 namespace makVrv
25 {
26  class DtDeMainWindow;
27 
32  {
33  public:
34 
35  typedef std::pair<std::string, bool> WidgetCreationOrder;
36  typedef boost::unordered_map<std::string, WidgetCreationOrder> WidgetCreationOrderMap;
37  typedef std::list<std::string> BuilderList;
38 
39  public:
40 
43  static DtUserInterfaceAssembler& instance(DtDe& de);
44 
46  virtual ~DtUserInterfaceAssembler();
47 
52  virtual bool destroyBuilder(const std::string& builderName, DtUserInterfaceBuilder* builder);
53 
56  virtual DtUserInterfaceBuilder* findMenuBuilder(const std::string& builderName) const;
57 
60  virtual void registerMenuBuilder(const std::string& builderName, DtUserInterfaceBuilder* builder,
61  int modeFlags);
62 
65  virtual DtUserInterfaceBuilder* findMenuItemBuilder(const std::string& builderName) const;
66 
69  virtual void registerMenuItemBuilder(const std::string& builderName, DtUserInterfaceBuilder* builder,
70  int modeFlags);
71 
74  virtual DtUserInterfaceBuilder* findWidgetBuilder(const std::string& builderName) const;
75 
78  virtual void registerWidgetBuilder(const std::string& builderName, DtUserInterfaceBuilder* builder,
79  int modeFlags);
80 
83  virtual void assemble(DtDe& de, DtDeMainWindow& mainWindow);
84 
87  virtual void createControlBefore(const std::string& control, const std::string& before);
88 
91  virtual void createControlAfter(const std::string& control, const std::string& after);
92 
94  virtual void removeControlCreationOrder(const std::string& control);
95 
97  virtual void setMasterModeAssembleList(const BuilderList& builderList);
98 
100  virtual const BuilderList& masterModeAssembleList() const;
101 
103  virtual void setSlaveModeAssembleList(const BuilderList& builderList);
104 
106  virtual const BuilderList& slaveModeAssembleList() const;
107 
108  protected:
109 
110  typedef boost::unordered_map<std::string, DtUserInterfaceBuilder*> BuilderMap;
111 
112 
115 
118  static DtUserInterfaceAssembler* create();
119 
121  virtual void buildMenus(DtDe& de, DtDeMainWindow& mainWindow, BuilderList& builderList);
122 
124  virtual void buildMenuItems(DtDe& de, DtDeMainWindow& mainWindow, BuilderList& builderList);
125 
127  virtual void buildWidgets(DtDe& de, DtDeMainWindow& mainWindow, BuilderList& builderList);
128 
130  virtual void build(DtDe& de, DtDeMainWindow& mainWindow, DtUserInterfaceBuilder* builder);
131 
134  virtual void mapNameToMode(const std::string& name, int modeFlags);
135 
137  virtual BuilderList widgetBuildOrder(const BuilderList&) const;
138 
139  protected:
140 
144 
147 
149  };
150 
151 
152 
153 
154 }
155 
156 #endif
157 
Virtual base class.
Definition: DtVirtualBaseClass.h:22
std::pair< std::string, bool > WidgetCreationOrder
Definition: DtUserInterfaceAssembler.h:35
BuilderMap myWidgetBuilderMap
Definition: DtUserInterfaceAssembler.h:143
boost::unordered_map< std::string, WidgetCreationOrder > WidgetCreationOrderMap
Definition: DtUserInterfaceAssembler.h:36
std::list< std::string > BuilderList
Definition: DtUserInterfaceAssembler.h:37
BuilderList myMasterModeList
Definition: DtUserInterfaceAssembler.h:145
Contains makVrv::DtDe class.
BuilderMap myMenuBuilderMap
Definition: DtUserInterfaceAssembler.h:141
DEPRECATED A builder knows how to build one specific part and add it to a DtDeMainWindow.
Definition: DtUserInterfaceBuilder.h:27
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtUserInterfaceBuilder class.
The abstract main window class.
Definition: DtDeMainWindow.h:23
WidgetCreationOrderMap myCreationOrder
Definition: DtUserInterfaceAssembler.h:148
BuilderList mySlaveModeList
Definition: DtUserInterfaceAssembler.h:146
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DEPRECATED The DtUserInterfaceAssembler builds parts of a window from it&#39;s list of builders...
Definition: DtUserInterfaceAssembler.h:31
BuilderMap myMenuItemBuilderMap
Definition: DtUserInterfaceAssembler.h:142
boost::unordered_map< std::string, DtUserInterfaceBuilder * > BuilderMap
Definition: DtUserInterfaceAssembler.h:110
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)