/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef OOX_DRAWINGML_GRAPHICSHAPECONTEXT_HXX #define OOX_DRAWINGML_GRAPHICSHAPECONTEXT_HXX #include "oox/drawingml/shape.hxx" #include "oox/drawingml/shapecontext.hxx" #include "oox/drawingml/diagram/diagram.hxx" namespace oox { namespace vml { struct OleObjectInfo; } } namespace oox { namespace drawingml { class GraphicShapeContext : public ShapeContext { public: GraphicShapeContext( ::oox::core::ContextHandler& rParent, ShapePtr pMasterShapePtr, ShapePtr pShapePtr ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); }; // ==================================================================== class GraphicalObjectFrameContext : public ShapeContext { public: GraphicalObjectFrameContext( ::oox::core::ContextHandler& rParent, ShapePtr pMasterShapePtr, ShapePtr pShapePtr, bool bEmbedShapesInChart ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); private: bool mbEmbedShapesInChart; }; // ==================================================================== class OleObjectGraphicDataContext : public ShapeContext { public: OleObjectGraphicDataContext( ::oox::core::ContextHandler& rParent, ShapePtr pShapePtr ); ~OleObjectGraphicDataContext(); virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); private: ::boost::shared_ptr< ::oox::vml::OleObjectInfo > mxOleObjectInfo; }; // ==================================================================== class DiagramGraphicDataContext : public ShapeContext { public: DiagramGraphicDataContext( ::oox::core::ContextHandler& rParent, ShapePtr pShapePtr ); virtual ~DiagramGraphicDataContext(); virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); private: DiagramPtr loadDiagram(); ::rtl::OUString msDm; ::rtl::OUString msLo; ::rtl::OUString msQs; ::rtl::OUString msCs; }; // ==================================================================== class ChartGraphicDataContext : public ShapeContext { public: explicit ChartGraphicDataContext( ::oox::core::ContextHandler& rParent, const ShapePtr& rxShape, bool bEmbedShapes ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( sal_Int32 nElement, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& rxAttribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); private: bool mbEmbedShapes; }; // ==================================================================== } } #endif // OOX_DRAWINGML_GRAPHICSHAPECONTEXT_HXX