diff options
Diffstat (limited to 'oox/source/ppt/timetargetelementcontext.cxx')
-rw-r--r-- | oox/source/ppt/timetargetelementcontext.cxx | 60 |
1 files changed, 22 insertions, 38 deletions
diff --git a/oox/source/ppt/timetargetelementcontext.cxx b/oox/source/ppt/timetargetelementcontext.cxx index 2a0f61c0c4a3..93cbcf701625 100644 --- a/oox/source/ppt/timetargetelementcontext.cxx +++ b/oox/source/ppt/timetargetelementcontext.cxx @@ -49,55 +49,49 @@ namespace oox { namespace ppt { // CT_TLShapeTargetElement class ShapeTargetElementContext - : public ContextHandler + : public FragmentHandler2 { public: - ShapeTargetElementContext( ContextHandler& rParent, ShapeTargetElement & aValue ) - : ContextHandler( rParent ) + ShapeTargetElementContext( FragmentHandler2& rParent, ShapeTargetElement & aValue ) + : FragmentHandler2( rParent ) , bTargetSet(false) , maShapeTarget(aValue) { } - virtual Reference< XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 aElementToken, - const Reference< XFastAttributeList >& xAttribs ) - throw ( SAXException, RuntimeException ) + virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 aElementToken, const AttributeList& rAttribs ) { - Reference< XFastContextHandler > xRet; - switch( aElementToken ) { case PPT_TOKEN( bg ): bTargetSet = true; maShapeTarget.mnType = XML_bg; - break; + return this; case PPT_TOKEN( txEl ): bTargetSet = true; maShapeTarget.mnType = XML_txEl; - break; + return this; case PPT_TOKEN( subSp ): bTargetSet = true; maShapeTarget.mnType = XML_subSp; - maShapeTarget.msSubShapeId = xAttribs->getOptionalValue( XML_spid ); - break; + maShapeTarget.msSubShapeId = rAttribs.getString( XML_spid, OUString() ); + return this; case PPT_TOKEN( graphicEl ): case PPT_TOKEN( oleChartEl ): bTargetSet = true; // TODO - break; + return this; case PPT_TOKEN( charRg ): case PPT_TOKEN( pRg ): if( bTargetSet && maShapeTarget.mnType == XML_txEl ) { maShapeTarget.mnRangeType = getBaseToken( aElementToken ); - maShapeTarget.maRange = drawingml::GetIndexRange( xAttribs ); + maShapeTarget.maRange = drawingml::GetIndexRange( rAttribs.getFastAttributeList() ); } - break; + return this; default: break; } - if( !xRet.is() ) - xRet.set( this ); - return xRet; + return this; } private: @@ -107,8 +101,8 @@ namespace oox { namespace ppt { - TimeTargetElementContext::TimeTargetElementContext( ContextHandler& rParent, const AnimTargetElementPtr & pValue ) - : ContextHandler( rParent ), + TimeTargetElementContext::TimeTargetElementContext( FragmentHandler2& rParent, const AnimTargetElementPtr & pValue ) + : FragmentHandler2( rParent ), mpTarget( pValue ) { OSL_ENSURE( mpTarget, "no valid target passed" ); @@ -119,34 +113,28 @@ namespace oox { namespace ppt { { } - void SAL_CALL TimeTargetElementContext::endFastElement( sal_Int32 /*aElement*/ ) throw ( SAXException, RuntimeException) - { - } - - Reference< XFastContextHandler > SAL_CALL TimeTargetElementContext::createFastChildContext( ::sal_Int32 aElementToken, const Reference< XFastAttributeList >& xAttribs ) throw ( SAXException, RuntimeException ) + ::oox::core::ContextHandlerRef TimeTargetElementContext::onCreateContext( sal_Int32 aElementToken, const AttributeList& rAttribs ) { - Reference< XFastContextHandler > xRet; - switch( aElementToken ) { case PPT_TOKEN( inkTgt ): { mpTarget->mnType = XML_inkTgt; - OUString aId = xAttribs->getOptionalValue( XML_spid ); + OUString aId = rAttribs.getString( XML_spid, OUString() ); if( aId.getLength() ) { mpTarget->msValue = aId; } - break; + return this; } case PPT_TOKEN( sldTgt ): mpTarget->mnType = XML_sldTgt; - break; + return this; case PPT_TOKEN( sndTgt ): { mpTarget->mnType = XML_sndTgt; drawingml::EmbeddedWAVAudioFile aAudio; - drawingml::getEmbeddedWAVAudioFile( getRelations(), xAttribs, aAudio); + drawingml::getEmbeddedWAVAudioFile( getRelations(), rAttribs.getFastAttributeList(), aAudio); OUString sSndName = ( aAudio.mbBuiltIn ? aAudio.msName : aAudio.msEmbed ); mpTarget->msValue = sSndName; @@ -155,20 +143,16 @@ namespace oox { namespace ppt { case PPT_TOKEN( spTgt ): { mpTarget->mnType = XML_spTgt; - OUString aId = xAttribs->getOptionalValue( XML_spid ); + OUString aId = rAttribs.getString( XML_spid, OUString() ); mpTarget->msValue = aId; - xRet.set( new ShapeTargetElementContext( *this, mpTarget->maShapeTarget ) ); - break; + return new ShapeTargetElementContext( *this, mpTarget->maShapeTarget ); } default: OSL_TRACE( "OOX: unhandled tag %ld in TL_TimeTargetElement.", getBaseToken( aElementToken ) ); break; } - if( !xRet.is() ) - xRet.set( this ); - - return xRet; + return this; } |