VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtQtPageAssembler.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 <vrvCoreQt/vrvCoreQt.h>
00015 #include <vrvCore/DtPageAssembler.h>
00016 #include <boost/unordered_map.hpp>
00017 
00018 class QWidget;
00019 
00020 namespace makVrv
00021 {
00022    class DtPageCreator;
00023 
00029    class DT_DLL_VRVCOREQT DtQtPageAssembler : public DtPageAssembler
00030    {
00031    public:
00032       friend class DtQtPageAssemblerCreator;
00033 
00035       static DtQtPageAssembler& instance(DtDe& de);
00036 
00038       virtual ~DtQtPageAssembler();
00039 
00042       void registerPageCreator(DtPageCreator* creator);
00043 
00045       void unregisterPageCreator(DtPageCreator* creator, bool deleteCreator = true);
00046 
00048       DtPageCreator* findPageCreator(const std::string& pageClassName) const;
00049 
00050    protected:
00051 
00053       DtQtPageAssembler(DtDe& de);
00054 
00056       virtual void assembleCollection(const DtPagePath& pagePath, const DtUnicode& pageTitle,
00057          const DtPageConfiguration::PageCollectionState& pageState);
00058 
00060       virtual void assemblePage(const DtPagePath& pagePath);
00061 
00063       virtual void updatePage( const DtPagePath& pagePath, const DtPageConfiguration::PageCollectionState& state);
00064 
00066       virtual void tabify( const DtPagePath& pagePath1, const DtPagePath& pagePath2 );
00067 
00069       virtual void setSelectedPage(const DtPagePath& pPath);
00070 
00071       QWidget* mainWindow();
00072 
00073    protected:
00074 
00075       typedef boost::unordered_map<std::string,DtPageCreator*> PageCreatorMap;
00076       PageCreatorMap myPageCreatorMap;
00077       QWidget* myMainWindowCache;
00078    };
00079 
00083    class DT_DLL_VRVCOREQT DtQtPageAssemblerCreator : public DtPageAssemblerCreator
00084    {
00085    public:
00086 
00089       DtQtPageAssemblerCreator();
00090 
00092       virtual ~DtQtPageAssemblerCreator();
00093 
00095       virtual DtPageAssembler* create(DtDe& de);
00096 
00097    };
00098 }

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)