VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtToolbarAssembler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <vrvCore/vrvCore.h>
16 #include <vrvCore/DtToolbarPath.h>
17 
18 #include <stack>
19 
20 namespace makVrv
21 {
22  class DtToolbarConfiguration;
23  class DtToolbarPath;
24  class DtDe;
25 
29  {
30  public:
31 
33 
35  static DtToolbarAssembler& instance(DtDe&);
36 
38  virtual ~DtToolbarAssembler();
39 
41  virtual void assemble(const DtToolbarConfiguration& configuration);
42 
45  virtual void updateToolbars( const DtToolbarConfiguration& configuration );
46 
47  protected:
48 
49  // Data structures used to sort the toolbars when restoring the UI. Used std::map because
50  // ordering is important here.
51  typedef std::multimap<DtToolbarConfiguration::ToolbarLocation, DtToolbarPath> LocationPathMap;
52  typedef std::map<int, DtToolbarPath> ToolbarPathsMap;
53  typedef std::map<int, ToolbarPathsMap> ToolbarPathsMapMap;
54 
56 
58  void assembleToolbarPath(const DtToolbarPath& toolbarPath,
60 
62  virtual void assembleRow(const DtToolbarPath& toolbarPath, DtToolbarConfiguration::ToolbarLocation location);
63 
65  virtual void addToolbarBreak(DtToolbarConfiguration::ToolbarLocation loc);
66 
68  virtual void assembleToolbar(const DtToolbarPath& toolbarPath, const DtToolbarConfiguration& configuration);
69 
71  virtual void assembleToolbarItem(const DtToolbarPath& toolbarPath);
72 
74  virtual void assembleToolbarMenuItem(const DtToolbarPath& toolbarPath);
75 
77  virtual void assembleToolbarWidget(const DtToolbarPath& toolbarPath);
78 
80  virtual void assembleToolbarMenu(const DtToolbarPath& toolbarPath);
81 
83  virtual void assembleTopLeftToolbars(const LocationPathMap& locMap, DtToolbarConfiguration::ToolbarLocation loc,
84  const DtToolbarConfiguration& configuration);
85 
87  virtual void assembleBottomRightToolbars(const LocationPathMap&, DtToolbarConfiguration::ToolbarLocation,
88  const DtToolbarConfiguration& );
89 
91  virtual void populateToobarPathsMap(const LocationPathMap& locMap, DtToolbarConfiguration::ToolbarLocation loc,
92  const DtToolbarConfiguration& configuration, ToolbarPathsMapMap& tpMap);
93 
95  virtual void updateToolbarPath( const DtToolbarPath& toolbarPath, const DtToolbarConfiguration& configuration);
96 
99  virtual void updateToolbar(const DtToolbarPath& toolbarPath, const DtToolbarConfiguration& configuration);
100 
101  protected:
102 
103  std::stack<DtToolbarPath> myToolbarStack;
105  };
106 
110  {
111  public:
112 
114  static DtToolbarAssemblerCreator& instance(DtDe& de);
115 
117  virtual ~DtToolbarAssemblerCreator();
118 
120  virtual DtToolbarAssembler* create(DtDe& de);
121 
122  protected:
123 
126  };
127 }
The base class implementation of a Toolbar Assembler.
Definition: DtToolbarAssembler.h:28
std::map< int, DtToolbarPath > ToolbarPathsMap
Definition: DtToolbarAssembler.h:52
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::stack< DtToolbarPath > myToolbarStack
Definition: DtToolbarAssembler.h:103
std::multimap< DtToolbarConfiguration::ToolbarLocation, DtToolbarPath > LocationPathMap
Definition: DtToolbarAssembler.h:51
DtDe & myDe
Definition: DtToolbarAssembler.h:104
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This is a creator for makVrv::DtToolbarAssembler.
Definition: DtToolbarAssembler.h:109
Contains makVrv::DtToolbarPath class.
Contains makVrv::DtToolbarConfiguration class.
a Class which represents a toolbar path. The specific strings are not toolbar text, but the names used when registering toolbarBuilder, menuBuilder and menuItemBuilder instances.
Definition: DtToolbarPath.h:40
A configuration of the toolbar layout.
Definition: DtToolbarConfiguration.h:25
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
std::map< int, ToolbarPathsMap > ToolbarPathsMapMap
Definition: DtToolbarAssembler.h:53
ToolbarLocation
Definition: DtToolbarConfiguration.h:32
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)