VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtPageCollection.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/vrvCore.h>
00015 #include <vrvCore/DtPageConfiguration.h>
00016 #include <boost/signal.hpp>
00017 #include <string>
00018 #include <vector>
00019 
00020 namespace makVrv
00021 {
00022    class DtDe;
00023 
00027    class DT_DLL_VRVCORE DtPageCollection
00028    {
00029    public:
00030       typedef std::vector<std::string> PageClassList;
00031 
00034       DtPageCollection(DtDe& de, const std::string& collectionClassName);
00035 
00038       virtual ~DtPageCollection();
00039 
00041       const std::string& collectionClassName() const;
00042 
00044       const PageClassList& pageClasses() const;
00045 
00051       void show(const std::string& page = std::string(""));
00052 
00054       void hide();
00055 
00057       bool visible() const;
00058 
00061       virtual int tabIndex() const;
00062 
00064       virtual bool isTabbed() const;
00065 
00067       DtPageConfiguration::PageCollectionLocation location() const;
00068 
00070       void setLocation(DtPageConfiguration::PageCollectionLocation location);
00071 
00073       DtPageConfiguration::PageColectionGeometry& floatingGeometry();
00074 
00076       void setFloatingGeometry( DtPageConfiguration::PageColectionGeometry geometry );
00077 
00079       void setFloatingGeometry(int px, int py, int width, int height);
00080 
00082       virtual DtPageConfiguration::PageColectionGeometry dockedGeometry();
00083 
00085       void setDockedGeometry( DtPageConfiguration::PageColectionGeometry geometry );
00086 
00088       void setDockedGeometry(int px, int py, int width, int height);
00089 
00090       boost::signal<void ()> signal_shown;
00091       boost::signal<void ()> signal_hidden;
00092       boost::signal<void (const std::string&)> signal_pageSelected;
00093 
00094    protected:
00095 
00097       virtual void changeVisibility(bool newVisibility) = 0;
00098 
00100       virtual void changeLocation(DtPageConfiguration::PageCollectionLocation) = 0;
00101 
00103       virtual void changeFloatingGeometry(int px, int py, int width, int height) = 0;
00104 
00106       virtual void changeFloatingGeometry(DtPageConfiguration::PageColectionGeometry geometry) = 0;
00107 
00109       virtual void changeDockedGeometry(int px, int py, int width, int height) = 0;
00110 
00112       virtual void changeDockedGeometry(DtPageConfiguration::PageColectionGeometry geometry) = 0;
00113 
00115       virtual void selectPage(const std::string& pageClassName) = 0;
00116 
00118       void addPageClass(const std::string& pageClassName);
00119 
00121       void removePageClass(const std::string& pageClassName);
00122 
00123    protected:
00124 
00125       DtDe& myDe;      
00126       std::string myClassName;
00127       bool myVisibility;
00128       PageClassList myPageClasses;
00129       DtPageConfiguration::PageCollectionLocation myLocation;
00130       DtPageConfiguration::PageColectionGeometry myFloatingGeometry;
00131       DtPageConfiguration::PageColectionGeometry myDockedGeometry;
00132    };
00133 }
00134 

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)