EPlotSection.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2006 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00008 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00009 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00010 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00011 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 //
00013 //  Use, duplication, or disclosure by the U.S. Government is subject to
00014 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00015 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00016 //  Data and Computer Software), as applicable.
00017 //
00018 
00019 
00020 #ifndef _DWFTK_EPLOT_SECTION_H
00021 #define _DWFTK_EPLOT_SECTION_H
00022 
00027 
00028 
00029 #include "dwfcore/STL.h"
00030 #include "dwfcore/SkipList.h"
00031 using namespace DWFCore;
00032 
00033 #include "dwf/Toolkit.h"
00034 #include "dwf/package/Section.h"
00035 #include "dwf/package/reader/EPlotSectionDescriptorReader.h"
00036 #include "dwf/package/writer/PackageWriter.h"
00037 
00038 
00039 namespace DWFToolkit
00040 {
00041 
00052 class DWFEPlotSection : public DWFSection
00053                       , public DWFEPlotSectionDescriptorReader
00054                       _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00055 {
00056 
00057 public:
00058 
00062     typedef _DWFTK_STD_VECTOR(DWFEPlotSection*)                                 tList;
00066     typedef DWFWCharKeySkipList<DWFEPlotSection*>                               tMap;
00070     typedef std::multimap<const wchar_t*, DWFEPlotSection*, tDWFWCharCompareLess>    tMultiMap;
00071 
00072 public:
00073 
00079     class Factory : public DWFSection::Factory
00080                     _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00081     {
00082 
00083     public:
00084 
00090         _DWFTK_API
00091         Factory()
00092             throw();
00093 
00099         _DWFTK_API
00100         virtual ~Factory()
00101             throw();
00102 
00117        _DWFTK_API
00118         virtual DWFSection* build( const DWFString&     zName,
00119                                    const DWFString&     zTitle,
00120                                    DWFPackageReader*    pPackageReader )
00121             throw( DWFException );
00122     };
00123 
00124 public:
00125 
00140     _DWFTK_API
00141     DWFEPlotSection( const DWFString&  zName,
00142                      const DWFString&  zTitle,
00143                      DWFPackageReader* pPackageReader )
00144         throw();
00145 
00162     _DWFTK_API
00163     DWFEPlotSection( const DWFString& zTitle,
00164                      const DWFString& zObjectID,
00165                      double           nPlotOrder,
00166                      const DWFSource& rSource,
00167                      unsigned int     nColorARGB,
00168                      const DWFPaper*  pPaper )
00169         throw();
00170 
00176     _DWFTK_API
00177     virtual ~DWFEPlotSection()
00178         throw();
00179 
00183     _DWFTK_API
00184     unsigned int color() const
00185         throw()
00186     {
00187         return _nColorARGB;
00188     }
00189 
00196     _DWFTK_API
00197     DWFPaper* paper() const
00198         throw()
00199     {
00200         return _pPaper;
00201     }
00202 
00212     _DWFTK_API
00213     virtual void setPaper( const DWFPaper* pPaper )
00214         throw(DWFException);
00215 
00216 
00231     _DWFTK_API
00232     DWFInterface* buildInterface()
00233         throw( DWFException );
00234 
00260     _DWFTK_API
00261     const DWFResource& readDescriptor( DWFSectionDescriptorReader* pSectionDescriptorReader = NULL ) const
00262         throw( DWFException );
00263 
00264 #ifndef DWFTK_READ_ONLY
00265 
00269     _DWFTK_API
00270     void serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00271         throw( DWFException );
00272 
00273 #endif
00274 
00278     _DWFTK_API
00279     const char* provideName( const char* zName )
00280         throw();
00281 
00285     _DWFTK_API
00286     const char* provideObjectID( const char* zObjectID )
00287         throw();
00288 
00292     _DWFTK_API
00293     double provideVersion( double nVersion )
00294         throw();
00295 
00299     _DWFTK_API
00300     double providePlotOrder( double nPlotOrder )
00301         throw();
00302 
00306     _DWFTK_API
00307     unsigned int provideColor( unsigned int nColorARGB )
00308         throw();
00309 
00313     _DWFTK_API
00314     DWFPaper* providePaper( DWFPaper* pPaper )
00315         throw();
00316 
00320     _DWFTK_API
00321     DWFProperty* provideProperty( DWFProperty* pProperty )
00322         throw();
00323 
00327     _DWFTK_API
00328     DWFResource* provideResource( DWFResource* pResource )
00329         throw();
00330 
00334     _DWFTK_API
00335     DWFFontResource* provideFontResource( DWFFontResource* pResource )
00336         throw();
00337 
00341     _DWFTK_API
00342     DWFGraphicResource* provideGraphicResource( DWFGraphicResource* pResource )
00343         throw();
00344 
00348     _DWFTK_API
00349     DWFImageResource* provideImageResource( DWFImageResource* pResource )
00350         throw();
00351 
00355     _DWFTK_API
00356     DWFContentPresentationResource* provideContentPresentationResource( DWFContentPresentationResource* pResource )
00357         throw();
00358 
00359 private:
00360 
00361     DWFPaper*       _pPaper;
00362     unsigned int    _nColorARGB;
00363 
00364 private:
00365 
00366     DWFEPlotSection( const DWFEPlotSection& );
00367     DWFEPlotSection& operator=( const DWFEPlotSection& );
00368 };
00369 
00370 }
00371 
00372 #endif

Generated on Tue Jan 6 22:40:03 2009 for Autodesk DWF Toolkit by  doxygen 1.4.5