VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtPageAssembler.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile:  $ $Revision:  $ $State:  $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvCore/DtPagePath.h>
00015 #include <vrvUtil/DtVirtualBaseClass.h>
00016 #include <vrvCore/DtPageConfiguration.h>
00017 
00018 namespace makVrv
00019 {
00020    class DtPagePath;
00021    class DtDe;
00022 
00030    class DT_DLL_VRVCORE DtPageAssembler : public DtVirtualBaseClass
00031    {
00032 
00033    public:
00034 
00035       friend class DtPageAssemblerCreator;
00036 
00038       static DtPageAssembler& instance(DtDe&);
00039 
00041       virtual ~DtPageAssembler();
00042 
00044       virtual void assemble(const DtPageConfiguration& configuration);
00045 
00048       virtual void assemble(const DtPagePath& pagePath, 
00049          const DtPageConfiguration& configuration);
00050 
00052       virtual void placeCollectionPages( const DtPageConfiguration& configuration );
00053 
00055       virtual void assembleCollection(const DtPagePath& pagePath, const DtUnicode& pageTitle,
00056          const DtPageConfiguration::PageCollectionState& pageState);
00057 
00058    protected:
00059 
00060       typedef std::multimap<DtPageConfiguration::PageCollectionLocation, DtPagePath> LocationPathMap;
00061       typedef std::map<int, DtPagePath> PagePathsMap;
00062 
00063       DtPageAssembler(DtDe& de);
00064 
00066       virtual void assemblePagePath(const DtPagePath& pagePath, 
00067          const DtPageConfiguration& configuration);
00068 
00070       virtual void assemblePage(const DtPagePath& pagePath);
00071 
00073       virtual void updatePage( const DtPagePath& pagePath, const DtPageConfiguration& configuration );
00074 
00076       virtual void updatePage( const DtPagePath& pagePath, const DtPageConfiguration::PageCollectionState& state);      
00077 
00080       virtual void assembleAllPagesInLocation(const LocationPathMap& locMap, DtPageConfiguration::PageCollectionLocation loc, 
00081          const DtPageConfiguration& configuration);
00082 
00085       virtual void tabifyPagesInLocation(const LocationPathMap& locMap, DtPageConfiguration::PageCollectionLocation loc, 
00086          const DtPageConfiguration& configuration);
00087 
00089       virtual void populatePagePathsMap(const LocationPathMap& locMap, DtPageConfiguration::PageCollectionLocation loc, 
00090          const DtPageConfiguration& configuration, PagePathsMap& ppMap);
00091 
00093       virtual void tabify( const DtPagePath& pagePath1, const DtPagePath& pagePath2 );
00094 
00096       virtual void setSelectedPage(const DtPagePath& pPath);
00097 
00098    protected:
00099       DtDe& myDe;
00100    };
00101 
00105    class DT_DLL_VRVCORE DtPageAssemblerCreator : public DtVirtualBaseClass
00106    {
00107    public:      
00108 
00110       static DtPageAssemblerCreator& instance(DtDe& de);
00111 
00113       static void registerInstance(DtDe& de, DtPageAssemblerCreator* creator);
00114 
00116       virtual ~DtPageAssemblerCreator();
00117 
00119       virtual DtPageAssembler* create(DtDe& de);
00120 
00121    protected:
00122 
00124       DtPageAssemblerCreator();
00125    };
00126 }
00127 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)