VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtPageAssembler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/DtPagePath.h>
14 
15 namespace makVrv
16 {
17  class DtPagePath;
18  class DtDe;
19 
28  {
29 
30  public:
31 
32  friend class DtPageAssemblerCreator;
33 
35  static DtPageAssembler& instance(DtDe&);
36 
38  virtual ~DtPageAssembler();
39 
41  virtual void assemble(const DtPageConfiguration& configuration);
42 
45  virtual void assemble(const DtPagePath& pagePath,
46  const DtPageConfiguration& configuration);
47 
49  virtual void assemblePagePaths( DtPageConfiguration::PagePathList &children, const DtPageConfiguration& configuration );
50 
52  virtual void placeCollectionPages( const DtPageConfiguration& configuration );
53 
55  virtual void assembleCollection(const DtPagePath& pagePath, const DtUnicode& pageTitle,
57 
58  protected:
59 
61  typedef std::vector<DtPagePath> PagePathVector;
62 
64  typedef std::map<DtPageConfiguration::PageCollectionLocation, PagePathVector> LocationToPathsMap;
65 
66  typedef std::map<int, DtPagePath> PagePathsMap;
67 
68  DtPageAssembler(DtDe& de);
69 
71  virtual LocationToPathsMap buildLocationToPathsMap( DtPageConfiguration::PagePathList &children, const DtPageConfiguration &configuration );
72 
74  virtual void assemblePagePath(const DtPagePath& pagePath,
75  const DtPageConfiguration& configuration);
76 
78  virtual void assemblePage(const DtPagePath& pagePath);
79 
81  virtual void updatePage( const DtPagePath& pagePath, const DtPageConfiguration& configuration );
82 
84  virtual void updatePage( const DtPagePath& pagePath, const DtPageConfiguration::PageCollectionState& state);
85 
88  virtual void assembleAllPagesInLocation(const LocationToPathsMap& locMap, DtPageConfiguration::PageCollectionLocation loc,
89  const DtPageConfiguration& configuration);
90 
93  virtual void tabifyPagesInLocation(const LocationToPathsMap& locMap, DtPageConfiguration::PageCollectionLocation loc,
94  const DtPageConfiguration& configuration);
95 
96  typedef std::map<int, std::map<int, DtPagePath> > SortedTabbedPages;
97 
99  virtual SortedTabbedPages sortTabbedPagesByLocationAndTabIndex(const PagePathVector& paths, const DtPageConfiguration &configuration, DtPageConfiguration::PageCollectionLocation location );
100 
102  virtual int positionOfPage( DtPageConfiguration::PageCollectionLocation location, const DtPageConfiguration::PageCollectionGeometry& geometry ) const;
103 
105  virtual void populatePagePathsMap(const LocationToPathsMap& locMap, DtPageConfiguration::PageCollectionLocation loc,
106  const DtPageConfiguration& configuration, PagePathsMap& ppMap);
107 
109  virtual void tabify( const DtPagePath& pagePath1, const DtPagePath& pagePath2 );
110 
112  virtual void setSelectedPage(const DtPagePath& pPath);
113 
114  protected:
116  };
117 
122  {
123  public:
124 
126  static DtPageAssemblerCreator& instance(DtDe& de);
127 
129  static void registerInstance(DtDe& de, DtPageAssemblerCreator* creator);
130 
132  virtual ~DtPageAssemblerCreator();
133 
135  virtual DtPageAssembler* create(DtDe& de);
136 
137  protected:
138 
141  };
142 }
std::list< DtPagePath > PagePathList
Definition: DtPageConfiguration.h:30
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Definition: DtPageConfiguration.h:83
Contains makVrv::DtPagePath class.
PageCollectionLocation
Definition: DtPageConfiguration.h:42
Definition: DtPageConfiguration.h:56
The creator for the DtPageAssembler. Subclasses replace this class to replace the page assembler inst...
Definition: DtPageAssembler.h:121
std::map< int, DtPagePath > PagePathsMap
Definition: DtPageAssembler.h:66
Contains makVrv::DtPageConfiguration class.
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::map< DtPageConfiguration::PageCollectionLocation, PagePathVector > LocationToPathsMap
Map from page collection location to a vector of page paths at that location.
Definition: DtPageAssembler.h:64
A configuration of the pages in the gui.
Definition: DtPageConfiguration.h:25
The base assembler is a singleton which assembles the pages defined in a Page Configuration. A GUI specific subclass is written to actually create the pages in the GUI. Example: makVrv::DtQtPageAssembler.
Definition: DtPageAssembler.h:27
A page path is the location of a page based upon its parents. A page path usually only consists of a ...
Definition: DtPagePath.h:21
std::vector< DtPagePath > PagePathVector
Vector of page paths.
Definition: DtPageAssembler.h:61
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, std::map< int, DtPagePath > > SortedTabbedPages
Definition: DtPageAssembler.h:96
DtDe & myDe
Definition: DtPageAssembler.h:115

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)