[API CHANGE] drop ShapeContextHandler service and interface
There is zero chance an extension is using this, because it is so intimately tired together with the oox and writerfilter interactions. I'm removing this so I can expose the ShapeContextHandler and then override it's implementation in a more fashion without jumping through UNO hoops. Change-Id: I79ef30247f4642303dfdb92bbf8f6e6226234829 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117996 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
parent
0aa7ee7827
commit
6701329f5b
13 changed files with 54 additions and 202 deletions
|
@ -16,18 +16,19 @@
|
|||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
#ifndef INCLUDED_OOX_SOURCE_SHAPE_SHAPECONTEXTHANDLER_HXX
|
||||
#define INCLUDED_OOX_SOURCE_SHAPE_SHAPECONTEXTHANDLER_HXX
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||
#include <cppuhelper/implbase.hxx>
|
||||
#include <com/sun/star/xml/sax/XFastShapeContextHandler.hpp>
|
||||
#include <oox/drawingml/graphicshapecontext.hxx>
|
||||
#include <oox/core/fragmenthandler2.hxx>
|
||||
#include <oox/core/xmlfilterbase.hxx>
|
||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||
#include <com/sun/star/lang/XServiceInfo.hpp>
|
||||
#include <com/sun/star/document/XDocumentProperties.hpp>
|
||||
#include <com/sun/star/graphic/XGraphicMapper.hpp>
|
||||
#include <com/sun/star/drawing/XDrawPage.hpp>
|
||||
#include <com/sun/star/frame/XModel.hpp>
|
||||
|
||||
namespace oox::shape {
|
||||
|
||||
|
@ -45,9 +46,8 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
class ShapeContextHandler:
|
||||
public ::cppu::WeakImplHelper< css::xml::sax::XFastShapeContextHandler,
|
||||
css::lang::XServiceInfo >
|
||||
class OOX_DLLPUBLIC ShapeContextHandler:
|
||||
public ::cppu::WeakImplHelper< css::xml::sax::XFastContextHandler >
|
||||
{
|
||||
public:
|
||||
explicit ShapeContextHandler
|
||||
|
@ -55,15 +55,6 @@ public:
|
|||
|
||||
virtual ~ShapeContextHandler() override;
|
||||
|
||||
// css::lang::XServiceInfo:
|
||||
virtual OUString SAL_CALL getImplementationName() override;
|
||||
|
||||
virtual sal_Bool SAL_CALL supportsService
|
||||
(const OUString & ServiceName) override;
|
||||
|
||||
virtual css::uno::Sequence< OUString > SAL_CALL
|
||||
getSupportedServiceNames() override;
|
||||
|
||||
// css::xml::sax::XFastContextHandler:
|
||||
virtual void SAL_CALL startFastElement
|
||||
(::sal_Int32 Element,
|
||||
|
@ -93,35 +84,29 @@ public:
|
|||
|
||||
virtual void SAL_CALL characters(const OUString & aChars) override;
|
||||
|
||||
// css::xml::sax::XFastShapeContextHandler:
|
||||
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getShape() override;
|
||||
css::uno::Reference< css::drawing::XShape > getShape();
|
||||
|
||||
virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL getDrawPage() override;
|
||||
css::uno::Reference< css::drawing::XDrawPage > getDrawPage();
|
||||
void setDrawPage(const css::uno::Reference< css::drawing::XDrawPage > & the_value);
|
||||
|
||||
virtual void SAL_CALL setDrawPage
|
||||
(const css::uno::Reference< css::drawing::XDrawPage > & the_value) override;
|
||||
css::uno::Reference< css::frame::XModel > getModel();
|
||||
void setModel(const css::uno::Reference< css::frame::XModel > & the_value);
|
||||
|
||||
virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel() override;
|
||||
OUString getRelationFragmentPath();
|
||||
void setRelationFragmentPath(const OUString & the_value);
|
||||
|
||||
virtual void SAL_CALL setModel
|
||||
(const css::uno::Reference< css::frame::XModel > & the_value) override;
|
||||
sal_Int32 getStartToken();
|
||||
void setStartToken( sal_Int32 _starttoken );
|
||||
|
||||
virtual OUString SAL_CALL getRelationFragmentPath() override;
|
||||
virtual void SAL_CALL setRelationFragmentPath
|
||||
(const OUString & the_value) override;
|
||||
css::awt::Point getPosition();
|
||||
void setPosition(const css::awt::Point& rPosition);
|
||||
|
||||
virtual ::sal_Int32 SAL_CALL getStartToken() override;
|
||||
virtual void SAL_CALL setStartToken( ::sal_Int32 _starttoken ) override;
|
||||
void setDocumentProperties(const css::uno::Reference<css::document::XDocumentProperties>& xDocProps);
|
||||
css::uno::Reference<css::document::XDocumentProperties> getDocumentProperties();
|
||||
css::uno::Sequence<css::beans::PropertyValue> getMediaDescriptor();
|
||||
void setMediaDescriptor(const css::uno::Sequence<css::beans::PropertyValue>& rMediaDescriptor);
|
||||
|
||||
virtual css::awt::Point SAL_CALL getPosition() override;
|
||||
virtual void SAL_CALL setPosition(const css::awt::Point& rPosition) override;
|
||||
|
||||
virtual void SAL_CALL setDocumentProperties(const css::uno::Reference<css::document::XDocumentProperties>& xDocProps) override;
|
||||
virtual css::uno::Reference<css::document::XDocumentProperties> SAL_CALL getDocumentProperties() override;
|
||||
virtual css::uno::Sequence<css::beans::PropertyValue> SAL_CALL getMediaDescriptor() override;
|
||||
virtual void SAL_CALL setMediaDescriptor(const css::uno::Sequence<css::beans::PropertyValue>& rMediaDescriptor) override;
|
||||
|
||||
void SAL_CALL setGraphicMapper(css::uno::Reference<css::graphic::XGraphicMapper> const & rGraphicMapper) override;
|
||||
void setGraphicMapper(css::uno::Reference<css::graphic::XGraphicMapper> const & rGraphicMapper);
|
||||
|
||||
private:
|
||||
ShapeContextHandler(ShapeContextHandler const &) = delete;
|
||||
|
@ -163,6 +148,4 @@ private:
|
|||
|
||||
}
|
||||
|
||||
#endif // INCLUDED_OOX_SOURCE_SHAPE_SHAPECONTEXTHANDLER_HXX
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@ -476,7 +476,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/xml/dom,\
|
|||
))
|
||||
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/xml/sax,\
|
||||
FastParser \
|
||||
FastShapeContextHandler \
|
||||
FastTokenHandler \
|
||||
Parser \
|
||||
Writer \
|
||||
|
@ -4373,7 +4372,6 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/xml/sax,\
|
|||
XFastDocumentHandler \
|
||||
XFastParser \
|
||||
XFastSAXSerializable \
|
||||
XFastShapeContextHandler \
|
||||
XFastTokenHandler \
|
||||
XLocator \
|
||||
XParser \
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* This file incorporates work covered by the following license notice:
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed
|
||||
* with this work for additional information regarding copyright
|
||||
* ownership. The ASF licenses this file to you under the Apache
|
||||
* License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
#ifndef __com_sun_star_xml_sax_FastShapeContextHandler_idl__
|
||||
#define __com_sun_star_xml_sax_FastShapeContextHandler_idl__
|
||||
|
||||
#include <com/sun/star/xml/sax/XFastShapeContextHandler.idl>
|
||||
|
||||
|
||||
module com { module sun { module star { module xml { module sax {
|
||||
|
||||
service FastShapeContextHandler : XFastShapeContextHandler;
|
||||
|
||||
}; }; }; }; };
|
||||
|
||||
#endif
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@ -1,62 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* This file incorporates work covered by the following license notice:
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed
|
||||
* with this work for additional information regarding copyright
|
||||
* ownership. The ASF licenses this file to you under the Apache
|
||||
* License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
#ifndef __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
|
||||
#define __com_sun_star_xml_sax_XFastShapeContextHandler_idl__
|
||||
|
||||
#include <com/sun/star/xml/sax/XFastContextHandler.idl>
|
||||
#include <com/sun/star/drawing/XShape.idl>
|
||||
#include <com/sun/star/drawing/XDrawPage.idl>
|
||||
#include <com/sun/star/frame/XModel.idl>
|
||||
#include <com/sun/star/io/XInputStream.idl>
|
||||
#include <com/sun/star/document/XDocumentProperties.idl>
|
||||
#include <com/sun/star/graphic/XGraphicMapper.idl>
|
||||
|
||||
module com { module sun { module star { module xml { module sax {
|
||||
|
||||
|
||||
/** receives notification of sax document events from a
|
||||
XFastParser.
|
||||
|
||||
@see XFastDocumentHandler
|
||||
*/
|
||||
interface XFastShapeContextHandler: com::sun::star::xml::sax::XFastContextHandler
|
||||
{
|
||||
[attribute, readonly] com::sun::star::drawing::XShape Shape;
|
||||
[attribute] com::sun::star::drawing::XDrawPage DrawPage;
|
||||
[attribute] com::sun::star::frame::XModel Model;
|
||||
[attribute] string RelationFragmentPath;
|
||||
[attribute] long StartToken;
|
||||
[attribute] com::sun::star::awt::Point Position;
|
||||
[attribute] com::sun::star::document::XDocumentProperties DocumentProperties;
|
||||
[attribute] sequence< com::sun::star::beans::PropertyValue > MediaDescriptor;
|
||||
|
||||
/** Graphic mapper to map a key/id string to a XGraphic. This is needed to
|
||||
remember for XGraphics for a path in the document storage
|
||||
|
||||
@since LibreOffice 7.1
|
||||
*/
|
||||
void setGraphicMapper([in] com::sun::star::graphic::XGraphicMapper xGraphicMapper);
|
||||
};
|
||||
|
||||
|
||||
}; }; }; }; };
|
||||
|
||||
#endif
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@ -21,7 +21,7 @@
|
|||
#include <com/sun/star/xml/dom/XDocument.hpp>
|
||||
#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
|
||||
|
||||
#include "ShapeContextHandler.hxx"
|
||||
#include <oox/shape/ShapeContextHandler.hxx>
|
||||
#include "ShapeDrawingFragmentHandler.hxx"
|
||||
#include "LockedCanvasContext.hxx"
|
||||
#include "WpsContext.hxx"
|
||||
|
@ -389,8 +389,7 @@ void SAL_CALL ShapeContextHandler::characters(const OUString & aChars)
|
|||
xContextHandler->characters(aChars);
|
||||
}
|
||||
|
||||
// css::xml::sax::XFastShapeContextHandler:
|
||||
uno::Reference< drawing::XShape > SAL_CALL
|
||||
uno::Reference< drawing::XShape >
|
||||
ShapeContextHandler::getShape()
|
||||
{
|
||||
uno::Reference< drawing::XShape > xResult;
|
||||
|
@ -520,28 +519,24 @@ ShapeContextHandler::getShape()
|
|||
return xResult;
|
||||
}
|
||||
|
||||
css::uno::Reference< css::drawing::XDrawPage > SAL_CALL
|
||||
ShapeContextHandler::getDrawPage()
|
||||
css::uno::Reference< css::drawing::XDrawPage > ShapeContextHandler::getDrawPage()
|
||||
{
|
||||
return mxDrawPage;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setDrawPage
|
||||
(const css::uno::Reference< css::drawing::XDrawPage > & the_value)
|
||||
void ShapeContextHandler::setDrawPage(const css::uno::Reference< css::drawing::XDrawPage > & the_value)
|
||||
{
|
||||
mxDrawPage = the_value;
|
||||
}
|
||||
|
||||
css::uno::Reference< css::frame::XModel > SAL_CALL
|
||||
ShapeContextHandler::getModel()
|
||||
css::uno::Reference< css::frame::XModel > ShapeContextHandler::getModel()
|
||||
{
|
||||
if( !mxShapeFilterBase.is() )
|
||||
throw uno::RuntimeException();
|
||||
return mxShapeFilterBase->getModel();
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setModel
|
||||
(const css::uno::Reference< css::frame::XModel > & the_value)
|
||||
void ShapeContextHandler::setModel(const css::uno::Reference< css::frame::XModel > & the_value)
|
||||
{
|
||||
if( !mxShapeFilterBase.is() )
|
||||
throw uno::RuntimeException();
|
||||
|
@ -549,84 +544,62 @@ void SAL_CALL ShapeContextHandler::setModel
|
|||
mxShapeFilterBase->setTargetDocument(xComp);
|
||||
}
|
||||
|
||||
OUString SAL_CALL ShapeContextHandler::getRelationFragmentPath()
|
||||
OUString ShapeContextHandler::getRelationFragmentPath()
|
||||
{
|
||||
return msRelationFragmentPath;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setRelationFragmentPath(const OUString & the_value)
|
||||
void ShapeContextHandler::setRelationFragmentPath(const OUString & the_value)
|
||||
{
|
||||
msRelationFragmentPath = the_value;
|
||||
}
|
||||
|
||||
::sal_Int32 SAL_CALL ShapeContextHandler::getStartToken()
|
||||
sal_Int32 ShapeContextHandler::getStartToken()
|
||||
{
|
||||
return mnStartToken;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setStartToken( ::sal_Int32 _starttoken )
|
||||
void ShapeContextHandler::setStartToken( sal_Int32 _starttoken )
|
||||
{
|
||||
mnStartToken = _starttoken;
|
||||
}
|
||||
|
||||
awt::Point SAL_CALL ShapeContextHandler::getPosition()
|
||||
awt::Point ShapeContextHandler::getPosition()
|
||||
{
|
||||
return maPosition;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setPosition(const awt::Point& rPosition)
|
||||
void ShapeContextHandler::setPosition(const awt::Point& rPosition)
|
||||
{
|
||||
maPosition = rPosition;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setDocumentProperties(const uno::Reference<document::XDocumentProperties>& xDocProps)
|
||||
void ShapeContextHandler::setDocumentProperties(const uno::Reference<document::XDocumentProperties>& xDocProps)
|
||||
{
|
||||
mxDocumentProperties = xDocProps;
|
||||
mxShapeFilterBase->checkDocumentProperties(mxDocumentProperties);
|
||||
}
|
||||
|
||||
uno::Reference<document::XDocumentProperties> SAL_CALL ShapeContextHandler::getDocumentProperties()
|
||||
uno::Reference<document::XDocumentProperties> ShapeContextHandler::getDocumentProperties()
|
||||
{
|
||||
return mxDocumentProperties;
|
||||
}
|
||||
|
||||
uno::Sequence<beans::PropertyValue> SAL_CALL ShapeContextHandler::getMediaDescriptor()
|
||||
uno::Sequence<beans::PropertyValue> ShapeContextHandler::getMediaDescriptor()
|
||||
{
|
||||
return maMediaDescriptor;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setMediaDescriptor(const uno::Sequence<beans::PropertyValue>& rMediaDescriptor)
|
||||
void ShapeContextHandler::setMediaDescriptor(const uno::Sequence<beans::PropertyValue>& rMediaDescriptor)
|
||||
{
|
||||
maMediaDescriptor = rMediaDescriptor;
|
||||
}
|
||||
|
||||
void SAL_CALL ShapeContextHandler::setGraphicMapper(css::uno::Reference<css::graphic::XGraphicMapper> const & rxGraphicMapper)
|
||||
void ShapeContextHandler::setGraphicMapper(css::uno::Reference<css::graphic::XGraphicMapper> const & rxGraphicMapper)
|
||||
{
|
||||
mxShapeFilterBase->setGraphicMapper(rxGraphicMapper);
|
||||
}
|
||||
|
||||
OUString ShapeContextHandler::getImplementationName()
|
||||
{
|
||||
return "com.sun.star.comp.oox.ShapeContextHandler";
|
||||
}
|
||||
|
||||
uno::Sequence< OUString > ShapeContextHandler::getSupportedServiceNames()
|
||||
{
|
||||
return { "com.sun.star.xml.sax.FastShapeContextHandler" };
|
||||
}
|
||||
|
||||
sal_Bool SAL_CALL ShapeContextHandler::supportsService(const OUString & ServiceName)
|
||||
{
|
||||
return cppu::supportsService(this, ServiceName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
|
||||
com_sun_star_comp_oox_ShapeContextHandler_get_implementation(
|
||||
uno::XComponentContext* pCtx, uno::Sequence<uno::Any> const& /*rSeq*/)
|
||||
{
|
||||
return cppu::acquire(new oox::shape::ShapeContextHandler(pCtx));
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
|
|
@ -36,10 +36,6 @@
|
|||
<service name="com.sun.star.document.ImportFilter"/>
|
||||
<service name="com.sun.star.document.ExportFilter"/>
|
||||
</implementation>
|
||||
<implementation name="com.sun.star.comp.oox.ShapeContextHandler"
|
||||
constructor="com_sun_star_comp_oox_ShapeContextHandler_get_implementation">
|
||||
<service name="com.sun.star.xml.sax.FastShapeContextHandler"/>
|
||||
</implementation>
|
||||
<implementation name="com.sun.star.comp.oox.crypto.StrongEncryptionDataSpace"
|
||||
constructor="com_sun_star_comp_oox_crypto_StrongEncryptionDataSpace_get_implementation">
|
||||
<service name="com.sun.star.packages.PackageEncryption"/>
|
||||
|
|
|
@ -544,7 +544,6 @@ core_constructor_list = [
|
|||
"com_sun_star_comp_oox_FormatDetector_get_implementation",
|
||||
"com_sun_star_comp_oox_docprop_DocumentPropertiesImporter_get_implementation",
|
||||
"com_sun_star_comp_oox_ppt_PowerPointImport_get_implementation",
|
||||
"com_sun_star_comp_oox_ShapeContextHandler_get_implementation",
|
||||
"com_sun_star_comp_oox_crypto_StrongEncryptionDataSpace_get_implementation",
|
||||
]
|
||||
|
||||
|
|
|
@ -5499,6 +5499,7 @@ include/oox/ppt/slidetransitioncontext.hxx
|
|||
include/oox/ppt/soundactioncontext.hxx
|
||||
include/oox/ppt/timenode.hxx
|
||||
include/oox/ppt/timenodelistcontext.hxx
|
||||
include/oox/shape/ShapeContextHandler.hxx
|
||||
include/oox/shape/ShapeFilterBase.hxx
|
||||
include/oox/token/tokenmap.hxx
|
||||
include/oox/vml/vmldrawing.hxx
|
||||
|
@ -7323,7 +7324,6 @@ oox/source/ppt/timenodelistcontext.cxx
|
|||
oox/source/ppt/timetargetelementcontext.cxx
|
||||
oox/source/ppt/timetargetelementcontext.hxx
|
||||
oox/source/shape/ShapeContextHandler.cxx
|
||||
oox/source/shape/ShapeContextHandler.hxx
|
||||
oox/source/shape/ShapeDrawingFragmentHandler.cxx
|
||||
oox/source/shape/ShapeDrawingFragmentHandler.hxx
|
||||
oox/source/shape/ShapeFilterBase.cxx
|
||||
|
|
|
@ -26,10 +26,10 @@
|
|||
#include <com/sun/star/task/XStatusIndicator.hpp>
|
||||
#include <com/sun/star/xml/sax/XFastParser.hpp>
|
||||
#include <com/sun/star/xml/sax/XFastTokenHandler.hpp>
|
||||
#include <com/sun/star/xml/sax/XFastShapeContextHandler.hpp>
|
||||
#include <com/sun/star/xml/dom/XDocument.hpp>
|
||||
#include <com/sun/star/frame/XModel.hpp>
|
||||
#include <com/sun/star/drawing/XDrawPage.hpp>
|
||||
#include <oox/shape/ShapeContextHandler.hxx>
|
||||
|
||||
/**
|
||||
@file OOXMLDocument.hxx
|
||||
|
@ -211,8 +211,8 @@ public:
|
|||
virtual void setXNoteId(const sal_Int32 nId) = 0;
|
||||
virtual sal_Int32 getXNoteId() const = 0;
|
||||
virtual const OUString & getTarget() const = 0;
|
||||
virtual css::uno::Reference<css::xml::sax::XFastShapeContextHandler> getShapeContext( ) = 0;
|
||||
virtual void setShapeContext( css::uno::Reference<css::xml::sax::XFastShapeContextHandler> xContext ) = 0;
|
||||
virtual rtl::Reference<oox::shape::ShapeContextHandler> getShapeContext( ) = 0;
|
||||
virtual void setShapeContext( rtl::Reference<oox::shape::ShapeContextHandler> xContext ) = 0;
|
||||
/// Push context of drawingML shapes, so nested shapes are handled separately.
|
||||
virtual void pushShapeContext() = 0;
|
||||
/// Pop context of a previously pushed drawingML shape.
|
||||
|
|
|
@ -834,23 +834,23 @@ const uno::Sequence<beans::PropertyValue>& OOXMLDocumentImpl::getMediaDescriptor
|
|||
return maMediaDescriptor;
|
||||
}
|
||||
|
||||
void OOXMLDocumentImpl::setShapeContext( uno::Reference<xml::sax::XFastShapeContextHandler> xContext )
|
||||
void OOXMLDocumentImpl::setShapeContext( rtl::Reference<oox::shape::ShapeContextHandler> xContext )
|
||||
{
|
||||
if (!maShapeContexts.empty())
|
||||
maShapeContexts.top() = xContext;
|
||||
}
|
||||
|
||||
uno::Reference<xml::sax::XFastShapeContextHandler> OOXMLDocumentImpl::getShapeContext( )
|
||||
rtl::Reference<oox::shape::ShapeContextHandler> OOXMLDocumentImpl::getShapeContext( )
|
||||
{
|
||||
if (!maShapeContexts.empty())
|
||||
return maShapeContexts.top();
|
||||
else
|
||||
return uno::Reference<xml::sax::XFastShapeContextHandler>();
|
||||
return {};
|
||||
}
|
||||
|
||||
void OOXMLDocumentImpl::pushShapeContext()
|
||||
{
|
||||
maShapeContexts.push(uno::Reference<xml::sax::XFastShapeContextHandler>());
|
||||
maShapeContexts.push({});
|
||||
}
|
||||
|
||||
void OOXMLDocumentImpl::popShapeContext()
|
||||
|
|
|
@ -43,7 +43,7 @@ class OOXMLDocumentImpl : public OOXMLDocument
|
|||
css::uno::Reference<css::xml::dom::XDocument> mxGlossaryDocDom;
|
||||
css::uno::Sequence < css::uno::Sequence< css::uno::Any > > mxGlossaryDomList;
|
||||
/// Stack of shape contexts, 1 element for VML, 1 element / nesting level for drawingML.
|
||||
std::stack< css::uno::Reference<css::xml::sax::XFastShapeContextHandler> > maShapeContexts;
|
||||
std::stack< rtl::Reference<oox::shape::ShapeContextHandler> > maShapeContexts;
|
||||
css::uno::Reference<css::xml::dom::XDocument> mxThemeDom;
|
||||
css::uno::Sequence<css::uno::Reference<css::xml::dom::XDocument> > mxCustomXmlDomList;
|
||||
css::uno::Sequence<css::uno::Reference<css::xml::dom::XDocument> > mxCustomXmlDomPropsList;
|
||||
|
@ -126,8 +126,8 @@ public:
|
|||
virtual void setXNoteId(const sal_Int32 nId) override;
|
||||
virtual sal_Int32 getXNoteId() const override;
|
||||
virtual const OUString & getTarget() const override;
|
||||
virtual css::uno::Reference<css::xml::sax::XFastShapeContextHandler> getShapeContext( ) override;
|
||||
virtual void setShapeContext( css::uno::Reference<css::xml::sax::XFastShapeContextHandler> xContext ) override;
|
||||
virtual rtl::Reference<oox::shape::ShapeContextHandler> getShapeContext( ) override;
|
||||
virtual void setShapeContext( rtl::Reference<oox::shape::ShapeContextHandler> xContext ) override;
|
||||
void pushShapeContext() override;
|
||||
void popShapeContext() override;
|
||||
virtual css::uno::Reference<css::xml::dom::XDocument> getThemeDom() override;
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||
#include <com/sun/star/text/RelOrientation.hpp>
|
||||
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
|
||||
#include <com/sun/star/xml/sax/FastShapeContextHandler.hpp>
|
||||
#include <com/sun/star/xml/sax/SAXException.hpp>
|
||||
#include <ooxml/resourceids.hxx>
|
||||
#include <oox/mathml/import.hxx>
|
||||
|
@ -1692,11 +1691,11 @@ void OOXMLFastContextHandlerShape::setToken(Token_t nToken)
|
|||
getDocument()->pushShapeContext();
|
||||
}
|
||||
|
||||
mrShapeContext.set(getDocument()->getShapeContext());
|
||||
mrShapeContext = getDocument()->getShapeContext();
|
||||
if (!mrShapeContext.is())
|
||||
{
|
||||
// Define the shape context for the whole document
|
||||
mrShapeContext = css::xml::sax::FastShapeContextHandler::create(getComponentContext());
|
||||
mrShapeContext = new oox::shape::ShapeContextHandler(getComponentContext());
|
||||
getDocument()->setShapeContext(mrShapeContext);
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <cppuhelper/implbase.hxx>
|
||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||
#include <com/sun/star/xml/sax/XFastContextHandler.hpp>
|
||||
#include <com/sun/star/xml/sax/XFastShapeContextHandler.hpp>
|
||||
#include <oox/mathml/importutils.hxx>
|
||||
#include <rtl/ref.hxx>
|
||||
#include "OOXMLParserState.hxx"
|
||||
|
@ -448,7 +447,7 @@ class OOXMLFastContextHandlerShape: public OOXMLFastContextHandlerProperties
|
|||
bool m_bShapeStarted;
|
||||
/// Is it necessary to pop the stack in the dtor?
|
||||
bool m_bShapeContextPushed;
|
||||
css::uno::Reference<css::xml::sax::XFastShapeContextHandler> mrShapeContext;
|
||||
rtl::Reference<oox::shape::ShapeContextHandler> mrShapeContext;
|
||||
|
||||
public:
|
||||
explicit OOXMLFastContextHandlerShape(OOXMLFastContextHandler * pContext);
|
||||
|
|
Loading…
Reference in a new issue