1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #ifndef _XIMPSHAPE_HXX 29*cdf0e10cSrcweir #define _XIMPSHAPE_HXX 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include <com/sun/star/io/XOutputStream.hpp> 32*cdf0e10cSrcweir #include <com/sun/star/document/XActionLockable.hpp> 33*cdf0e10cSrcweir #include <com/sun/star/container/XIdentifierContainer.hpp> 34*cdf0e10cSrcweir #include <xmloff/xmlictxt.hxx> 35*cdf0e10cSrcweir #include "sdxmlimp_impl.hxx" 36*cdf0e10cSrcweir #include <xmloff/nmspmap.hxx> 37*cdf0e10cSrcweir #include <com/sun/star/drawing/XShapes.hpp> 38*cdf0e10cSrcweir #include <com/sun/star/text/XTextCursor.hpp> 39*cdf0e10cSrcweir #include <com/sun/star/awt/Point.hpp> 40*cdf0e10cSrcweir #include <tools/rtti.hxx> 41*cdf0e10cSrcweir #include "xexptran.hxx" 42*cdf0e10cSrcweir 43*cdf0e10cSrcweir #include <vector> 44*cdf0e10cSrcweir #include <xmloff/shapeimport.hxx> 45*cdf0e10cSrcweir 46*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 47*cdf0e10cSrcweir // common shape context 48*cdf0e10cSrcweir 49*cdf0e10cSrcweir class SdXMLShapeContext : public SvXMLShapeContext 50*cdf0e10cSrcweir { 51*cdf0e10cSrcweir protected: 52*cdf0e10cSrcweir // the shape group this object should be created inside 53*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > mxShapes; 54*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::text::XTextCursor > mxCursor; 55*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::text::XTextCursor > mxOldCursor; 56*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList> mxAttrList; 57*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::container::XIdentifierContainer > mxGluePoints; 58*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::document::XActionLockable > mxLockable; 59*cdf0e10cSrcweir 60*cdf0e10cSrcweir rtl::OUString maDrawStyleName; 61*cdf0e10cSrcweir rtl::OUString maTextStyleName; 62*cdf0e10cSrcweir rtl::OUString maPresentationClass; 63*cdf0e10cSrcweir rtl::OUString maShapeName; 64*cdf0e10cSrcweir rtl::OUString maThumbnailURL; 65*cdf0e10cSrcweir 66*cdf0e10cSrcweir /// whether to restore list context (#91964#) 67*cdf0e10cSrcweir bool mbListContextPushed; 68*cdf0e10cSrcweir 69*cdf0e10cSrcweir sal_uInt16 mnStyleFamily; 70*cdf0e10cSrcweir sal_uInt16 mnClass; 71*cdf0e10cSrcweir sal_Bool mbIsPlaceholder; 72*cdf0e10cSrcweir bool mbClearDefaultAttributes; 73*cdf0e10cSrcweir sal_Bool mbIsUserTransformed; 74*cdf0e10cSrcweir sal_Int32 mnZOrder; 75*cdf0e10cSrcweir rtl::OUString maShapeId; 76*cdf0e10cSrcweir rtl::OUString maLayerName; 77*cdf0e10cSrcweir 78*cdf0e10cSrcweir // #i68101# 79*cdf0e10cSrcweir rtl::OUString maShapeTitle; 80*cdf0e10cSrcweir rtl::OUString maShapeDescription; 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir SdXMLImExTransform2D mnTransform; 83*cdf0e10cSrcweir com::sun::star::awt::Size maSize; 84*cdf0e10cSrcweir com::sun::star::awt::Point maPosition; 85*cdf0e10cSrcweir 86*cdf0e10cSrcweir bool mbVisible; 87*cdf0e10cSrcweir bool mbPrintable; 88*cdf0e10cSrcweir 89*cdf0e10cSrcweir /** if bSupportsStyle is false, auto styles will be set but not a style */ 90*cdf0e10cSrcweir void SetStyle( bool bSupportsStyle = true ); 91*cdf0e10cSrcweir void SetLayer(); 92*cdf0e10cSrcweir void SetThumbnail(); 93*cdf0e10cSrcweir 94*cdf0e10cSrcweir void AddShape(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape); 95*cdf0e10cSrcweir void AddShape(const char* pServiceName ); 96*cdf0e10cSrcweir void SetTransformation(); 97*cdf0e10cSrcweir 98*cdf0e10cSrcweir SvXMLImport& GetImport() { return SvXMLImportContext::GetImport(); } 99*cdf0e10cSrcweir const SvXMLImport& GetImport() const { return SvXMLImportContext::GetImport(); } 100*cdf0e10cSrcweir 101*cdf0e10cSrcweir void addGluePoint( const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 102*cdf0e10cSrcweir 103*cdf0e10cSrcweir sal_Bool isPresentationShape() const; 104*cdf0e10cSrcweir 105*cdf0e10cSrcweir public: 106*cdf0e10cSrcweir TYPEINFO(); 107*cdf0e10cSrcweir 108*cdf0e10cSrcweir SdXMLShapeContext( SvXMLImport& rImport, 109*cdf0e10cSrcweir sal_uInt16 nPrfx, 110*cdf0e10cSrcweir const rtl::OUString& rLocalName, 111*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 112*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 113*cdf0e10cSrcweir sal_Bool bTemporaryShape); 114*cdf0e10cSrcweir virtual ~SdXMLShapeContext(); 115*cdf0e10cSrcweir 116*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 117*cdf0e10cSrcweir virtual void EndElement(); 118*cdf0e10cSrcweir 119*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 120*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 121*cdf0e10cSrcweir 122*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 123*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 124*cdf0e10cSrcweir }; 125*cdf0e10cSrcweir 126*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 127*cdf0e10cSrcweir // draw:rect context 128*cdf0e10cSrcweir 129*cdf0e10cSrcweir class SdXMLRectShapeContext : public SdXMLShapeContext 130*cdf0e10cSrcweir { 131*cdf0e10cSrcweir sal_Int32 mnRadius; 132*cdf0e10cSrcweir 133*cdf0e10cSrcweir public: 134*cdf0e10cSrcweir TYPEINFO(); 135*cdf0e10cSrcweir 136*cdf0e10cSrcweir SdXMLRectShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 137*cdf0e10cSrcweir const rtl::OUString& rLocalName, 138*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 139*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 140*cdf0e10cSrcweir sal_Bool bTemporaryShape); 141*cdf0e10cSrcweir virtual ~SdXMLRectShapeContext(); 142*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 143*cdf0e10cSrcweir 144*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 145*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 146*cdf0e10cSrcweir }; 147*cdf0e10cSrcweir 148*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 149*cdf0e10cSrcweir // draw:line context 150*cdf0e10cSrcweir 151*cdf0e10cSrcweir class SdXMLLineShapeContext : public SdXMLShapeContext 152*cdf0e10cSrcweir { 153*cdf0e10cSrcweir sal_Int32 mnX1; 154*cdf0e10cSrcweir sal_Int32 mnY1; 155*cdf0e10cSrcweir sal_Int32 mnX2; 156*cdf0e10cSrcweir sal_Int32 mnY2; 157*cdf0e10cSrcweir 158*cdf0e10cSrcweir public: 159*cdf0e10cSrcweir TYPEINFO(); 160*cdf0e10cSrcweir 161*cdf0e10cSrcweir SdXMLLineShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 162*cdf0e10cSrcweir const rtl::OUString& rLocalName, 163*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 164*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 165*cdf0e10cSrcweir sal_Bool bTemporaryShape); 166*cdf0e10cSrcweir virtual ~SdXMLLineShapeContext(); 167*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 168*cdf0e10cSrcweir 169*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 170*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 171*cdf0e10cSrcweir }; 172*cdf0e10cSrcweir 173*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 174*cdf0e10cSrcweir // draw:ellipse and draw:circle context 175*cdf0e10cSrcweir 176*cdf0e10cSrcweir class SdXMLEllipseShapeContext : public SdXMLShapeContext 177*cdf0e10cSrcweir { 178*cdf0e10cSrcweir sal_Int32 mnCX; 179*cdf0e10cSrcweir sal_Int32 mnCY; 180*cdf0e10cSrcweir sal_Int32 mnRX; 181*cdf0e10cSrcweir sal_Int32 mnRY; 182*cdf0e10cSrcweir 183*cdf0e10cSrcweir sal_uInt16 meKind; 184*cdf0e10cSrcweir sal_Int32 mnStartAngle; 185*cdf0e10cSrcweir sal_Int32 mnEndAngle; 186*cdf0e10cSrcweir public: 187*cdf0e10cSrcweir TYPEINFO(); 188*cdf0e10cSrcweir 189*cdf0e10cSrcweir SdXMLEllipseShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 190*cdf0e10cSrcweir const rtl::OUString& rLocalName, 191*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 192*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 193*cdf0e10cSrcweir sal_Bool bTemporaryShape); 194*cdf0e10cSrcweir virtual ~SdXMLEllipseShapeContext(); 195*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 196*cdf0e10cSrcweir 197*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 198*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 199*cdf0e10cSrcweir }; 200*cdf0e10cSrcweir 201*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 202*cdf0e10cSrcweir // draw:polyline and draw:polygon context 203*cdf0e10cSrcweir 204*cdf0e10cSrcweir class SdXMLPolygonShapeContext : public SdXMLShapeContext 205*cdf0e10cSrcweir { 206*cdf0e10cSrcweir rtl::OUString maPoints; 207*cdf0e10cSrcweir rtl::OUString maViewBox; 208*cdf0e10cSrcweir sal_Bool mbClosed; 209*cdf0e10cSrcweir 210*cdf0e10cSrcweir public: 211*cdf0e10cSrcweir TYPEINFO(); 212*cdf0e10cSrcweir 213*cdf0e10cSrcweir SdXMLPolygonShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 214*cdf0e10cSrcweir const rtl::OUString& rLocalName, 215*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 216*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, sal_Bool bClosed, sal_Bool bTemporaryShape); 217*cdf0e10cSrcweir virtual ~SdXMLPolygonShapeContext(); 218*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 219*cdf0e10cSrcweir 220*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 221*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 222*cdf0e10cSrcweir }; 223*cdf0e10cSrcweir 224*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 225*cdf0e10cSrcweir // draw:path context 226*cdf0e10cSrcweir 227*cdf0e10cSrcweir class SdXMLPathShapeContext : public SdXMLShapeContext 228*cdf0e10cSrcweir { 229*cdf0e10cSrcweir rtl::OUString maD; 230*cdf0e10cSrcweir rtl::OUString maViewBox; 231*cdf0e10cSrcweir sal_Bool mbClosed; 232*cdf0e10cSrcweir 233*cdf0e10cSrcweir public: 234*cdf0e10cSrcweir TYPEINFO(); 235*cdf0e10cSrcweir 236*cdf0e10cSrcweir SdXMLPathShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 237*cdf0e10cSrcweir const rtl::OUString& rLocalName, 238*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 239*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 240*cdf0e10cSrcweir sal_Bool bTemporaryShape); 241*cdf0e10cSrcweir virtual ~SdXMLPathShapeContext(); 242*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 243*cdf0e10cSrcweir 244*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 245*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 246*cdf0e10cSrcweir }; 247*cdf0e10cSrcweir 248*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 249*cdf0e10cSrcweir // draw:text-box context 250*cdf0e10cSrcweir 251*cdf0e10cSrcweir class SdXMLTextBoxShapeContext : public SdXMLShapeContext 252*cdf0e10cSrcweir { 253*cdf0e10cSrcweir sal_Int32 mnRadius; 254*cdf0e10cSrcweir 255*cdf0e10cSrcweir public: 256*cdf0e10cSrcweir TYPEINFO(); 257*cdf0e10cSrcweir 258*cdf0e10cSrcweir SdXMLTextBoxShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 259*cdf0e10cSrcweir const rtl::OUString& rLocalName, 260*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 261*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 262*cdf0e10cSrcweir sal_Bool bTemporaryShape); 263*cdf0e10cSrcweir virtual ~SdXMLTextBoxShapeContext(); 264*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 265*cdf0e10cSrcweir 266*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 267*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 268*cdf0e10cSrcweir }; 269*cdf0e10cSrcweir 270*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 271*cdf0e10cSrcweir // draw:control context 272*cdf0e10cSrcweir 273*cdf0e10cSrcweir class SdXMLControlShapeContext : public SdXMLShapeContext 274*cdf0e10cSrcweir { 275*cdf0e10cSrcweir private: 276*cdf0e10cSrcweir rtl::OUString maFormId; 277*cdf0e10cSrcweir 278*cdf0e10cSrcweir public: 279*cdf0e10cSrcweir TYPEINFO(); 280*cdf0e10cSrcweir 281*cdf0e10cSrcweir SdXMLControlShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 282*cdf0e10cSrcweir const rtl::OUString& rLocalName, 283*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 284*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 285*cdf0e10cSrcweir sal_Bool bTemporaryShape); 286*cdf0e10cSrcweir virtual ~SdXMLControlShapeContext(); 287*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 288*cdf0e10cSrcweir 289*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 290*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 291*cdf0e10cSrcweir }; 292*cdf0e10cSrcweir 293*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 294*cdf0e10cSrcweir // draw:connector context 295*cdf0e10cSrcweir 296*cdf0e10cSrcweir class SdXMLConnectorShapeContext : public SdXMLShapeContext 297*cdf0e10cSrcweir { 298*cdf0e10cSrcweir private: 299*cdf0e10cSrcweir ::com::sun::star::awt::Point maStart; 300*cdf0e10cSrcweir ::com::sun::star::awt::Point maEnd; 301*cdf0e10cSrcweir 302*cdf0e10cSrcweir sal_uInt16 mnType; 303*cdf0e10cSrcweir 304*cdf0e10cSrcweir rtl::OUString maStartShapeId; 305*cdf0e10cSrcweir sal_Int32 mnStartGlueId; 306*cdf0e10cSrcweir rtl::OUString maEndShapeId; 307*cdf0e10cSrcweir sal_Int32 mnEndGlueId; 308*cdf0e10cSrcweir 309*cdf0e10cSrcweir sal_Int32 mnDelta1; 310*cdf0e10cSrcweir sal_Int32 mnDelta2; 311*cdf0e10cSrcweir sal_Int32 mnDelta3; 312*cdf0e10cSrcweir 313*cdf0e10cSrcweir com::sun::star::uno::Any maPath; 314*cdf0e10cSrcweir 315*cdf0e10cSrcweir public: 316*cdf0e10cSrcweir TYPEINFO(); 317*cdf0e10cSrcweir 318*cdf0e10cSrcweir SdXMLConnectorShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 319*cdf0e10cSrcweir const rtl::OUString& rLocalName, 320*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 321*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 322*cdf0e10cSrcweir sal_Bool bTemporaryShape); 323*cdf0e10cSrcweir virtual ~SdXMLConnectorShapeContext(); 324*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 325*cdf0e10cSrcweir 326*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 327*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 328*cdf0e10cSrcweir }; 329*cdf0e10cSrcweir 330*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 331*cdf0e10cSrcweir // draw:measure context 332*cdf0e10cSrcweir 333*cdf0e10cSrcweir class SdXMLMeasureShapeContext : public SdXMLShapeContext 334*cdf0e10cSrcweir { 335*cdf0e10cSrcweir private: 336*cdf0e10cSrcweir ::com::sun::star::awt::Point maStart; 337*cdf0e10cSrcweir ::com::sun::star::awt::Point maEnd; 338*cdf0e10cSrcweir 339*cdf0e10cSrcweir public: 340*cdf0e10cSrcweir TYPEINFO(); 341*cdf0e10cSrcweir 342*cdf0e10cSrcweir SdXMLMeasureShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 343*cdf0e10cSrcweir const rtl::OUString& rLocalName, 344*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 345*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 346*cdf0e10cSrcweir sal_Bool bTemporaryShape); 347*cdf0e10cSrcweir virtual ~SdXMLMeasureShapeContext(); 348*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 349*cdf0e10cSrcweir virtual void EndElement(); 350*cdf0e10cSrcweir 351*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 352*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 353*cdf0e10cSrcweir }; 354*cdf0e10cSrcweir 355*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 356*cdf0e10cSrcweir // draw:page context 357*cdf0e10cSrcweir 358*cdf0e10cSrcweir class SdXMLPageShapeContext : public SdXMLShapeContext 359*cdf0e10cSrcweir { 360*cdf0e10cSrcweir private: 361*cdf0e10cSrcweir sal_Int32 mnPageNumber; 362*cdf0e10cSrcweir public: 363*cdf0e10cSrcweir TYPEINFO(); 364*cdf0e10cSrcweir 365*cdf0e10cSrcweir SdXMLPageShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 366*cdf0e10cSrcweir const rtl::OUString& rLocalName, 367*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 368*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 369*cdf0e10cSrcweir sal_Bool bTemporaryShape); 370*cdf0e10cSrcweir virtual ~SdXMLPageShapeContext(); 371*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 372*cdf0e10cSrcweir 373*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 374*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 375*cdf0e10cSrcweir }; 376*cdf0e10cSrcweir 377*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 378*cdf0e10cSrcweir // draw:caption context 379*cdf0e10cSrcweir 380*cdf0e10cSrcweir class SdXMLCaptionShapeContext : public SdXMLShapeContext 381*cdf0e10cSrcweir { 382*cdf0e10cSrcweir private: 383*cdf0e10cSrcweir com::sun::star::awt::Point maCaptionPoint; 384*cdf0e10cSrcweir sal_Int32 mnRadius; 385*cdf0e10cSrcweir 386*cdf0e10cSrcweir public: 387*cdf0e10cSrcweir TYPEINFO(); 388*cdf0e10cSrcweir 389*cdf0e10cSrcweir SdXMLCaptionShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 390*cdf0e10cSrcweir const rtl::OUString& rLocalName, 391*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 392*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 393*cdf0e10cSrcweir sal_Bool bTemporaryShape); 394*cdf0e10cSrcweir virtual ~SdXMLCaptionShapeContext(); 395*cdf0e10cSrcweir virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); 396*cdf0e10cSrcweir 397*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 398*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 399*cdf0e10cSrcweir }; 400*cdf0e10cSrcweir 401*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 402*cdf0e10cSrcweir // office:image context 403*cdf0e10cSrcweir 404*cdf0e10cSrcweir class SdXMLGraphicObjectShapeContext : public SdXMLShapeContext 405*cdf0e10cSrcweir { 406*cdf0e10cSrcweir private: 407*cdf0e10cSrcweir ::rtl::OUString maURL; 408*cdf0e10cSrcweir ::com::sun::star::uno::Reference < ::com::sun::star::io::XOutputStream > mxBase64Stream; 409*cdf0e10cSrcweir 410*cdf0e10cSrcweir public: 411*cdf0e10cSrcweir TYPEINFO(); 412*cdf0e10cSrcweir 413*cdf0e10cSrcweir SdXMLGraphicObjectShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 414*cdf0e10cSrcweir const rtl::OUString& rLocalName, 415*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 416*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 417*cdf0e10cSrcweir sal_Bool bTemporaryShape); 418*cdf0e10cSrcweir virtual ~SdXMLGraphicObjectShapeContext(); 419*cdf0e10cSrcweir 420*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 421*cdf0e10cSrcweir virtual void EndElement(); 422*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 423*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 424*cdf0e10cSrcweir 425*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 426*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 427*cdf0e10cSrcweir }; 428*cdf0e10cSrcweir 429*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 430*cdf0e10cSrcweir // chart:chart context 431*cdf0e10cSrcweir 432*cdf0e10cSrcweir class SdXMLChartShapeContext : public SdXMLShapeContext 433*cdf0e10cSrcweir { 434*cdf0e10cSrcweir SvXMLImportContext* mpChartContext; 435*cdf0e10cSrcweir 436*cdf0e10cSrcweir public: 437*cdf0e10cSrcweir TYPEINFO(); 438*cdf0e10cSrcweir 439*cdf0e10cSrcweir SdXMLChartShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 440*cdf0e10cSrcweir const rtl::OUString& rLocalName, 441*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 442*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 443*cdf0e10cSrcweir sal_Bool bTemporaryShape); 444*cdf0e10cSrcweir virtual ~SdXMLChartShapeContext(); 445*cdf0e10cSrcweir 446*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 447*cdf0e10cSrcweir virtual void EndElement(); 448*cdf0e10cSrcweir virtual void Characters( const ::rtl::OUString& rChars ); 449*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 450*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 451*cdf0e10cSrcweir }; 452*cdf0e10cSrcweir 453*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 454*cdf0e10cSrcweir // draw:object and draw:object_ole context 455*cdf0e10cSrcweir 456*cdf0e10cSrcweir class SdXMLObjectShapeContext : public SdXMLShapeContext 457*cdf0e10cSrcweir { 458*cdf0e10cSrcweir private: 459*cdf0e10cSrcweir rtl::OUString maCLSID; 460*cdf0e10cSrcweir rtl::OUString maHref; 461*cdf0e10cSrcweir 462*cdf0e10cSrcweir // #100592# 463*cdf0e10cSrcweir ::com::sun::star::uno::Reference < ::com::sun::star::io::XOutputStream > mxBase64Stream; 464*cdf0e10cSrcweir 465*cdf0e10cSrcweir public: 466*cdf0e10cSrcweir TYPEINFO(); 467*cdf0e10cSrcweir 468*cdf0e10cSrcweir SdXMLObjectShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 469*cdf0e10cSrcweir const rtl::OUString& rLocalName, 470*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 471*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 472*cdf0e10cSrcweir sal_Bool bTemporaryShape); 473*cdf0e10cSrcweir virtual ~SdXMLObjectShapeContext(); 474*cdf0e10cSrcweir 475*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 476*cdf0e10cSrcweir virtual void EndElement(); 477*cdf0e10cSrcweir 478*cdf0e10cSrcweir // #100592# 479*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 480*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 481*cdf0e10cSrcweir 482*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 483*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 484*cdf0e10cSrcweir }; 485*cdf0e10cSrcweir 486*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 487*cdf0e10cSrcweir // draw:applet 488*cdf0e10cSrcweir 489*cdf0e10cSrcweir class SdXMLAppletShapeContext : public SdXMLShapeContext 490*cdf0e10cSrcweir { 491*cdf0e10cSrcweir private: 492*cdf0e10cSrcweir rtl::OUString maAppletName; 493*cdf0e10cSrcweir rtl::OUString maAppletCode; 494*cdf0e10cSrcweir rtl::OUString maHref; 495*cdf0e10cSrcweir sal_Bool mbIsScript; 496*cdf0e10cSrcweir 497*cdf0e10cSrcweir com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > maParams; 498*cdf0e10cSrcweir 499*cdf0e10cSrcweir public: 500*cdf0e10cSrcweir TYPEINFO(); 501*cdf0e10cSrcweir 502*cdf0e10cSrcweir SdXMLAppletShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 503*cdf0e10cSrcweir const rtl::OUString& rLocalName, 504*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 505*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 506*cdf0e10cSrcweir sal_Bool bTemporaryShape); 507*cdf0e10cSrcweir virtual ~SdXMLAppletShapeContext(); 508*cdf0e10cSrcweir 509*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 510*cdf0e10cSrcweir virtual void EndElement(); 511*cdf0e10cSrcweir 512*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 513*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 514*cdf0e10cSrcweir 515*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 516*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 517*cdf0e10cSrcweir }; 518*cdf0e10cSrcweir 519*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 520*cdf0e10cSrcweir // draw:plugin 521*cdf0e10cSrcweir 522*cdf0e10cSrcweir class SdXMLPluginShapeContext : public SdXMLShapeContext 523*cdf0e10cSrcweir { 524*cdf0e10cSrcweir private: 525*cdf0e10cSrcweir rtl::OUString maMimeType; 526*cdf0e10cSrcweir rtl::OUString maHref; 527*cdf0e10cSrcweir bool mbMedia; 528*cdf0e10cSrcweir 529*cdf0e10cSrcweir com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > maParams; 530*cdf0e10cSrcweir 531*cdf0e10cSrcweir public: 532*cdf0e10cSrcweir TYPEINFO(); 533*cdf0e10cSrcweir 534*cdf0e10cSrcweir SdXMLPluginShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 535*cdf0e10cSrcweir const rtl::OUString& rLocalName, 536*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 537*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 538*cdf0e10cSrcweir sal_Bool bTemporaryShape); 539*cdf0e10cSrcweir virtual ~SdXMLPluginShapeContext(); 540*cdf0e10cSrcweir 541*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 542*cdf0e10cSrcweir virtual void EndElement(); 543*cdf0e10cSrcweir 544*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 545*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 546*cdf0e10cSrcweir 547*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 548*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 549*cdf0e10cSrcweir }; 550*cdf0e10cSrcweir 551*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 552*cdf0e10cSrcweir // draw:floating-frame 553*cdf0e10cSrcweir 554*cdf0e10cSrcweir class SdXMLFloatingFrameShapeContext : public SdXMLShapeContext 555*cdf0e10cSrcweir { 556*cdf0e10cSrcweir private: 557*cdf0e10cSrcweir rtl::OUString maFrameName; 558*cdf0e10cSrcweir rtl::OUString maHref; 559*cdf0e10cSrcweir 560*cdf0e10cSrcweir public: 561*cdf0e10cSrcweir TYPEINFO(); 562*cdf0e10cSrcweir 563*cdf0e10cSrcweir SdXMLFloatingFrameShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 564*cdf0e10cSrcweir const rtl::OUString& rLocalName, 565*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 566*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 567*cdf0e10cSrcweir sal_Bool bTemporaryShape); 568*cdf0e10cSrcweir virtual ~SdXMLFloatingFrameShapeContext(); 569*cdf0e10cSrcweir 570*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 571*cdf0e10cSrcweir virtual void EndElement(); 572*cdf0e10cSrcweir 573*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 574*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 575*cdf0e10cSrcweir }; 576*cdf0e10cSrcweir 577*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 578*cdf0e10cSrcweir // draw:-frame 579*cdf0e10cSrcweir 580*cdf0e10cSrcweir class SdXMLFrameShapeContext : public SdXMLShapeContext 581*cdf0e10cSrcweir { 582*cdf0e10cSrcweir private: 583*cdf0e10cSrcweir sal_Bool mbSupportsReplacement; 584*cdf0e10cSrcweir SvXMLImportContextRef mxImplContext; 585*cdf0e10cSrcweir SvXMLImportContextRef mxReplImplContext; 586*cdf0e10cSrcweir 587*cdf0e10cSrcweir public: 588*cdf0e10cSrcweir TYPEINFO(); 589*cdf0e10cSrcweir 590*cdf0e10cSrcweir SdXMLFrameShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 591*cdf0e10cSrcweir const rtl::OUString& rLocalName, 592*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 593*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 594*cdf0e10cSrcweir sal_Bool bTemporaryShape); 595*cdf0e10cSrcweir virtual ~SdXMLFrameShapeContext(); 596*cdf0e10cSrcweir 597*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 598*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 599*cdf0e10cSrcweir 600*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 601*cdf0e10cSrcweir virtual void EndElement(); 602*cdf0e10cSrcweir 603*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 604*cdf0e10cSrcweir }; 605*cdf0e10cSrcweir 606*cdf0e10cSrcweir class SdXMLCustomShapeContext : public SdXMLShapeContext 607*cdf0e10cSrcweir { 608*cdf0e10cSrcweir 609*cdf0e10cSrcweir protected : 610*cdf0e10cSrcweir 611*cdf0e10cSrcweir rtl::OUString maCustomShapeEngine; 612*cdf0e10cSrcweir rtl::OUString maCustomShapeData; 613*cdf0e10cSrcweir 614*cdf0e10cSrcweir std::vector< com::sun::star::beans::PropertyValue > maCustomShapeGeometry; 615*cdf0e10cSrcweir 616*cdf0e10cSrcweir public: 617*cdf0e10cSrcweir 618*cdf0e10cSrcweir TYPEINFO(); 619*cdf0e10cSrcweir 620*cdf0e10cSrcweir SdXMLCustomShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, const rtl::OUString& rLocalName, 621*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 622*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes, 623*cdf0e10cSrcweir sal_Bool bTemporaryShape); 624*cdf0e10cSrcweir virtual ~SdXMLCustomShapeContext(); 625*cdf0e10cSrcweir 626*cdf0e10cSrcweir virtual void StartElement( const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 627*cdf0e10cSrcweir virtual void EndElement(); 628*cdf0e10cSrcweir 629*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, 630*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 631*cdf0e10cSrcweir 632*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 633*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 634*cdf0e10cSrcweir }; 635*cdf0e10cSrcweir 636*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 637*cdf0e10cSrcweir // draw:table 638*cdf0e10cSrcweir 639*cdf0e10cSrcweir class SdXMLTableShapeContext : public SdXMLShapeContext 640*cdf0e10cSrcweir { 641*cdf0e10cSrcweir public: 642*cdf0e10cSrcweir TYPEINFO(); 643*cdf0e10cSrcweir 644*cdf0e10cSrcweir SdXMLTableShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx, 645*cdf0e10cSrcweir const rtl::OUString& rLocalName, 646*cdf0e10cSrcweir const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList, 647*cdf0e10cSrcweir com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes ); 648*cdf0e10cSrcweir virtual ~SdXMLTableShapeContext(); 649*cdf0e10cSrcweir 650*cdf0e10cSrcweir virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 651*cdf0e10cSrcweir virtual void EndElement(); 652*cdf0e10cSrcweir 653*cdf0e10cSrcweir virtual SvXMLImportContext * CreateChildContext( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ); 654*cdf0e10cSrcweir 655*cdf0e10cSrcweir // this is called from the parent group for each unparsed attribute in the attribute list 656*cdf0e10cSrcweir virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); 657*cdf0e10cSrcweir 658*cdf0e10cSrcweir private: 659*cdf0e10cSrcweir SvXMLImportContextRef mxTableImportContext; 660*cdf0e10cSrcweir rtl::OUString msTemplateStyleName; 661*cdf0e10cSrcweir sal_Bool maTemplateStylesUsed[6]; 662*cdf0e10cSrcweir }; 663*cdf0e10cSrcweir 664*cdf0e10cSrcweir #endif // _XIMPSHAPE_HXX 665