summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorSourav <sourav.mahajan@synerzip.com>2014-04-04 18:06:44 +0530
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-04-08 03:20:50 -0500
commit69eebf8735973a05c931182d2ebfe35ce25f4b1a (patch)
tree4cdb8edaadcc57d7c742d508c761549dda455993 /writerfilter
parentceb199692c42d86903bc4e7df11fa895c92e95c1 (diff)
fdo76591:-Textbox property (order-> send behind text) is not preserved.
Z-Index was not handledin LO for vml. I have made the changes to handle that using aGrabBag. Change-Id: I2af3b2974c8eb699bc6a7b743dc438584d6517ac Reviewed-on: https://gerrit.libreoffice.org/8833 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 2177596330ad..d6c97ed55874 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -59,6 +59,7 @@
#include <com/sun/star/text/ControlCharacter.hpp>
#include <com/sun/star/text/XTextColumns.hpp>
#include <oox/mathml/import.hxx>
+ #include <GraphicHelpers.hxx>
#ifdef DEBUG_DOMAINMAPPER
#include <resourcemodel/QNameToString.hxx>
@@ -1735,16 +1736,30 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
if (xSInfo->supportsService("com.sun.star.text.TextFrame"))
{
// Extract the special "btLr text frame" mode, requested by oox, if needed.
+ // Extract vml ZOrder from FrameInteropGrabBag
uno::Reference<beans::XPropertySet> xShapePropertySet(xShape, uno::UNO_QUERY);
uno::Sequence<beans::PropertyValue> aGrabBag;
xShapePropertySet->getPropertyValue("FrameInteropGrabBag") >>= aGrabBag;
+ bool checkBtLrStatus = false;bool checkZOredrStatus = false;
+
for (int i = 0; i < aGrabBag.getLength(); ++i)
{
if (aGrabBag[i].Name == "mso-layout-flow-alt")
{
m_bFrameBtLr = aGrabBag[i].Value.get<OUString>() == "bottom-to-top";
- break;
+ checkBtLrStatus = true;
}
+ if (aGrabBag[i].Name == "VML-Z-ORDER")
+ {
+ GraphicZOrderHelper* pZOrderHelper = m_rDMapper.graphicZOrderHelper();
+ sal_Int32 zOrder;
+ aGrabBag[i].Value >>= zOrder;
+ xShapePropertySet->setPropertyValue( "ZOrder", uno::makeAny(pZOrderHelper->findZOrder(zOrder)));
+ pZOrderHelper->addItem(xShapePropertySet, zOrder);
+ checkZOredrStatus = true;
+ }
+ if(checkBtLrStatus && checkZOredrStatus)
+ break;
}
uno::Reference<text::XTextContent> xTextContent(xShape, uno::UNO_QUERY_THROW);