1*e3508121SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*e3508121SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*e3508121SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*e3508121SAndrew Rist * distributed with this work for additional information 6*e3508121SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*e3508121SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*e3508121SAndrew Rist * "License"); you may not use this file except in compliance 9*e3508121SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*e3508121SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*e3508121SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*e3508121SAndrew Rist * software distributed under the License is distributed on an 15*e3508121SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*e3508121SAndrew Rist * KIND, either express or implied. See the License for the 17*e3508121SAndrew Rist * specific language governing permissions and limitations 18*e3508121SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*e3508121SAndrew Rist *************************************************************/ 21*e3508121SAndrew Rist 22*e3508121SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef OOX_POWERPOINT_POWERPOINTIMPORT_HXX 25cdf0e10cSrcweir #define OOX_POWERPOINT_POWERPOINTIMPORT_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "oox/core/xmlfilterbase.hxx" 28cdf0e10cSrcweir 29cdf0e10cSrcweir #include <com/sun/star/animations/XAnimationNode.hpp> 30cdf0e10cSrcweir #include <oox/drawingml/theme.hxx> 31cdf0e10cSrcweir #include "oox/ppt/presentationfragmenthandler.hxx" 32cdf0e10cSrcweir #include "oox/ppt/slidepersist.hxx" 33cdf0e10cSrcweir #include <vector> 34cdf0e10cSrcweir #include <map> 35cdf0e10cSrcweir 36cdf0e10cSrcweir namespace oox { namespace ppt { 37cdf0e10cSrcweir 38cdf0e10cSrcweir // --------------------------------------------------------------------- 39cdf0e10cSrcweir 40cdf0e10cSrcweir class PowerPointImport : public oox::core::XmlFilterBase 41cdf0e10cSrcweir { 42cdf0e10cSrcweir public: 43cdf0e10cSrcweir 44cdf0e10cSrcweir PowerPointImport( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext ) 45cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ); 46cdf0e10cSrcweir virtual ~PowerPointImport(); 47cdf0e10cSrcweir 48cdf0e10cSrcweir // from FilterBase 49cdf0e10cSrcweir virtual bool importDocument() throw(); 50cdf0e10cSrcweir virtual bool exportDocument() throw(); 51cdf0e10cSrcweir 52cdf0e10cSrcweir virtual const ::oox::drawingml::Theme* getCurrentTheme() const; 53cdf0e10cSrcweir virtual ::oox::vml::Drawing* getVmlDrawing(); 54cdf0e10cSrcweir virtual const oox::drawingml::table::TableStyleListPtr getTableStyles(); 55cdf0e10cSrcweir virtual ::oox::drawingml::chart::ChartConverter& getChartConverter(); 56cdf0e10cSrcweir setActualSlidePersist(SlidePersistPtr pActualSlidePersist)57cdf0e10cSrcweir void setActualSlidePersist( SlidePersistPtr pActualSlidePersist ){ mpActualSlidePersist = pActualSlidePersist; }; getThemes()58cdf0e10cSrcweir std::map< rtl::OUString, oox::drawingml::ThemePtr >& getThemes(){ return maThemes; }; getDrawPages()59cdf0e10cSrcweir std::vector< SlidePersistPtr >& getDrawPages(){ return maDrawPages; }; getMasterPages()60cdf0e10cSrcweir std::vector< SlidePersistPtr >& getMasterPages(){ return maMasterPages; }; getNotesPages()61cdf0e10cSrcweir std::vector< SlidePersistPtr >& getNotesPages(){ return maNotesPages; }; 62cdf0e10cSrcweir 63cdf0e10cSrcweir sal_Int32 getSchemeColor( sal_Int32 nToken ) const; 64cdf0e10cSrcweir 65cdf0e10cSrcweir private: 66cdf0e10cSrcweir virtual GraphicHelper* implCreateGraphicHelper() const; 67cdf0e10cSrcweir virtual ::oox::ole::VbaProject* implCreateVbaProject() const; 68cdf0e10cSrcweir virtual ::rtl::OUString implGetImplementationName() const; 69cdf0e10cSrcweir 70cdf0e10cSrcweir private: 71cdf0e10cSrcweir rtl::OUString maTableStyleListPath; 72cdf0e10cSrcweir oox::drawingml::table::TableStyleListPtr mpTableStyleList; 73cdf0e10cSrcweir 74cdf0e10cSrcweir SlidePersistPtr mpActualSlidePersist; 75cdf0e10cSrcweir std::map< rtl::OUString, oox::drawingml::ThemePtr > maThemes; 76cdf0e10cSrcweir 77cdf0e10cSrcweir std::vector< SlidePersistPtr > maDrawPages; 78cdf0e10cSrcweir std::vector< SlidePersistPtr > maMasterPages; 79cdf0e10cSrcweir std::vector< SlidePersistPtr > maNotesPages; 80cdf0e10cSrcweir 81cdf0e10cSrcweir ::boost::shared_ptr< ::oox::drawingml::chart::ChartConverter > mxChartConv; 82cdf0e10cSrcweir }; 83cdf0e10cSrcweir 84cdf0e10cSrcweir } } 85cdf0e10cSrcweir 86cdf0e10cSrcweir #endif // OOX_POWERPOINT_POWERPOINTIMPORT_HXX 87