summaryrefslogtreecommitdiff
path: root/oox/source/shape
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-04-19 02:59:39 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-04-19 03:03:24 +0200
commit914b4fb5a3c159bfd7cd8be2639185144f11d7ed (patch)
tree26963139e7ad1e2b10aaf11005b8bbe093c497b1 /oox/source/shape
parent6f969d256fdbbc0b93d7baeec089afbbea94fc0e (diff)
import chart MSO 2007 streams correctly for docx files, tdf#82216
Change-Id: Icda809faf315dac5953d38781b2b401d51f7a40a
Diffstat (limited to 'oox/source/shape')
-rw-r--r--oox/source/shape/ShapeContextHandler.cxx13
-rw-r--r--oox/source/shape/ShapeContextHandler.hxx7
2 files changed, 20 insertions, 0 deletions
diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx
index e4910ad037d0..39cc970f0be1 100644
--- a/oox/source/shape/ShapeContextHandler.cxx
+++ b/oox/source/shape/ShapeContextHandler.cxx
@@ -620,6 +620,19 @@ void SAL_CALL ShapeContextHandler::setPosition(const awt::Point& rPosition) thro
maPosition = rPosition;
}
+void SAL_CALL ShapeContextHandler::setDocumentProperties(const uno::Reference<document::XDocumentProperties>& xDocProps)
+ throw (css::uno::RuntimeException, std::exception)
+{
+ mxDocumentProperties = xDocProps;
+ mxFilterBase->checkDocumentProperties(mxDocumentProperties);
+}
+
+uno::Reference<document::XDocumentProperties> SAL_CALL ShapeContextHandler::getDocumentProperties()
+ throw (css::uno::RuntimeException, std::exception)
+{
+ return mxDocumentProperties;
+}
+
OUString ShapeContextHandler::getImplementationName()
throw (css::uno::RuntimeException, std::exception)
{
diff --git a/oox/source/shape/ShapeContextHandler.hxx b/oox/source/shape/ShapeContextHandler.hxx
index 7697e2a6c4a8..ad57ad933416 100644
--- a/oox/source/shape/ShapeContextHandler.hxx
+++ b/oox/source/shape/ShapeContextHandler.hxx
@@ -30,6 +30,7 @@
#include "oox/core/xmlfilterbase.hxx"
#include "ShapeFilterBase.hxx"
#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/document/XDocumentProperties.hpp>
namespace oox { namespace shape {
@@ -138,6 +139,11 @@ public:
virtual css::awt::Point SAL_CALL getPosition() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual void SAL_CALL setPosition(const css::awt::Point& rPosition) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setDocumentProperties(const css::uno::Reference<css::document::XDocumentProperties>& xDocProps)
+ throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual css::uno::Reference<css::document::XDocumentProperties> SAL_CALL getDocumentProperties()
+ throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
private:
ShapeContextHandler(ShapeContextHandler &) SAL_DELETED_FUNCTION;
void operator =(ShapeContextHandler &) SAL_DELETED_FUNCTION;
@@ -159,6 +165,7 @@ private:
css::uno::Reference<css::drawing::XShape> mxSavedShape;
css::uno::Reference<XFastContextHandler> mxWpgContext;
css::uno::Reference<XFastContextHandler> mxChartShapeContext;
+ css::uno::Reference<css::document::XDocumentProperties> mxDocumentProperties;
core::XmlFilterRef mxFilterBase;
drawingml::ThemePtr mpThemePtr;