VR-Forces 4.6.1 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 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)