summaryrefslogtreecommitdiff
path: root/include/oox
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-03-10 14:19:26 +0100
committerTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-03-10 17:12:26 +0100
commit1959431528686bd1b73b73c2664c8c161c2194f5 (patch)
tree473d2d2ffd434041245b15e4776d212250fafafb /include/oox
parentd665e63be3e4dfad44b178ee90ad83f9408fd43c (diff)
oox: handle all w14 text effects at groupshape import
When dealing with groupshapes, the responsibility to process the w14 text effects elements is in oox. This commit adds the code to handle all elements and its children elements and attributes and puts the values into a CharInteropGrabBag. Change-Id: Iafb8759bd60e0ee831296dc2d9159f4311ad5403
Diffstat (limited to 'include/oox')
-rw-r--r--include/oox/drawingml/textcharacterproperties.hxx2
-rw-r--r--include/oox/drawingml/texteffectscontext.hxx50
2 files changed, 52 insertions, 0 deletions
diff --git a/include/oox/drawingml/textcharacterproperties.hxx b/include/oox/drawingml/textcharacterproperties.hxx
index cdcdd268acfc..e51937ffbe80 100644
--- a/include/oox/drawingml/textcharacterproperties.hxx
+++ b/include/oox/drawingml/textcharacterproperties.hxx
@@ -57,6 +57,8 @@ struct TextCharacterProperties
OptValue< bool > moUnderlineLineFollowText;
OptValue< bool > moUnderlineFillFollowText;
+ std::vector<css::beans::PropertyValue> maTextEffectsProperties;
+
/** Overwrites all members that are explicitly set in rSourceProps. */
void assignUsed( const TextCharacterProperties& rSourceProps );
diff --git a/include/oox/drawingml/texteffectscontext.hxx b/include/oox/drawingml/texteffectscontext.hxx
new file mode 100644
index 000000000000..b8e3aeb4a4a0
--- /dev/null
+++ b/include/oox/drawingml/texteffectscontext.hxx
@@ -0,0 +1,50 @@
+/* -*- 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/.
+ *
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTEFFECTSCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTEFFECTSCONTEXT_HXX
+
+#include <com/sun/star/beans/PropertyValue.hpp>
+
+#include <oox/helper/grabbagstack.hxx>
+#include <oox/core/contexthandler2.hxx>
+#include <boost/scoped_ptr.hpp>
+#include <vector>
+
+namespace oox { namespace drawingml {
+
+class TextEffectsContext : public oox::core::ContextHandler2
+{
+public:
+ TextEffectsContext(oox::core::ContextHandler2Helper& rParent,
+ sal_Int32 aElementToken,
+ std::vector<css::beans::PropertyValue>& rTextEffectsProperties);
+ virtual ~TextEffectsContext();
+
+ virtual void onStartElement(const oox::AttributeList& rAttribs) SAL_OVERRIDE;
+ virtual void onEndElement() SAL_OVERRIDE;
+
+ virtual oox::core::ContextHandlerRef onCreateContext(sal_Int32 Element, const oox::AttributeList& rAttribs) SAL_OVERRIDE;
+
+protected:
+ std::vector<css::beans::PropertyValue>& mrTextEffectsProperties;
+ boost::scoped_ptr<oox::GrabBagStack> mpGrabBagStack;
+ sal_Int32 mnCurrentElement;
+
+private:
+ void processAttributes(const AttributeList& rAttribs);
+ void pushAttributeToGrabBag (const sal_Int32& aAttributeId, const OUString& rElementName, const AttributeList& rAttribs);
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTEFFECTSCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */