diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-06-15 23:12:24 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-06-16 00:37:18 +0200 |
commit | 2fc088afdf6dcb2defbd462a9e64ba7e53ba5caf (patch) | |
tree | 9e4b51887cade5e8f0c779f2630fcf50b1cbcd37 /writerfilter | |
parent | 1780b582cc880538c98796a67f64a0bdd696ea22 (diff) |
Factor out RTFSdrImport::applyProperty() from RTFSdrImport::resolve()
Change-Id: Idd352e712e20e6e64c80490daf4b2a5e74d47a97
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 2 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.hxx | 2 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfsdrimport.cxx | 97 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfsdrimport.hxx | 1 |
4 files changed, 54 insertions, 48 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 7559b72294a3..36067006e9d5 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -4750,9 +4750,7 @@ RTFShape::RTFShape() nTop(0), nRight(0), nBottom(0), - nHoriOrient(0), nHoriOrientRelation(0), - nVertOrient(0), nVertOrientRelation(0), nWrap(-1) { diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index 2ad163ea4fc9..0ba51b6bfadf 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -244,9 +244,7 @@ namespace writerfilter { sal_Int32 nRight; sal_Int32 nBottom; boost::optional<sal_Int32> oZ; ///< Z-Order of the shape. - sal_Int16 nHoriOrient; sal_Int16 nHoriOrientRelation; - sal_Int16 nVertOrient; sal_Int16 nVertOrientRelation; int nWrap; }; diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx index af00d979a0b3..9e0efd8fb244 100644 --- a/writerfilter/source/rtftok/rtfsdrimport.cxx +++ b/writerfilter/source/rtftok/rtfsdrimport.cxx @@ -115,6 +115,57 @@ void RTFSdrImport::resolveFLine(uno::Reference<beans::XPropertySet> xPropertySet xPropertySet->setPropertyValue("LineStyle", uno::makeAny(drawing::LineStyle_NONE)); } +void RTFSdrImport::applyProperty(uno::Reference<drawing::XShape> xShape, OUString aKey, OUString aValue) +{ + uno::Reference<beans::XPropertySet> xPropertySet(xShape, uno::UNO_QUERY); + sal_Int16 nHoriOrient = 0; + sal_Int16 nVertOrient = 0; + if (aKey == "posh") + { + switch (aValue.toInt32()) + { + case 1: + nHoriOrient = text::HoriOrientation::LEFT; + break; + case 2: + nHoriOrient = text::HoriOrientation::CENTER; + break; + case 3: + nHoriOrient = text::HoriOrientation::RIGHT; + break; + case 4: + nHoriOrient = text::HoriOrientation::INSIDE; + break; + case 5: + nHoriOrient = text::HoriOrientation::OUTSIDE; + break; + default: + break; + } + } + else if (aKey == "posv") + { + switch (aValue.toInt32()) + { + case 1: + nVertOrient = text::VertOrientation::TOP; + break; + case 2: + nVertOrient = text::VertOrientation::CENTER; + break; + case 3: + nVertOrient = text::VertOrientation::BOTTOM; + break; + default: + break; + } + } + if (nHoriOrient != 0) + xPropertySet->setPropertyValue("HoriOrient", uno::makeAny(nHoriOrient)); + if (nVertOrient != 0) + xPropertySet->setPropertyValue("VertOrient", uno::makeAny(nVertOrient)); +} + void RTFSdrImport::resolve(RTFShape& rShape) { int nType = -1; @@ -393,46 +444,8 @@ void RTFSdrImport::resolve(RTFShape& rShape) else if (i->first == "shadowOffsetX") // EMUs to points aShadowModel.moOffset.set(OUString::number(i->second.toDouble() / 12700) + "pt"); - else if (i->first == "posh") - { - switch(i->second.toInt32()) - { - case 1: - rShape.nHoriOrient = text::HoriOrientation::LEFT; - break; - case 2: - rShape.nHoriOrient = text::HoriOrientation::CENTER; - break; - case 3: - rShape.nHoriOrient = text::HoriOrientation::RIGHT; - break; - case 4: - rShape.nHoriOrient = text::HoriOrientation::INSIDE; - break; - case 5: - rShape.nHoriOrient = text::HoriOrientation::OUTSIDE; - break; - default: - break; - } - } - else if (i->first == "posv") - { - switch(i->second.toInt32()) - { - case 1: - rShape.nVertOrient = text::VertOrientation::TOP; - break; - case 2: - rShape.nVertOrient = text::VertOrientation::CENTER; - break; - case 3: - rShape.nVertOrient = text::VertOrientation::BOTTOM; - break; - default: - break; - } - } + else if (i->first == "posh" || i->first == "posv") + applyProperty(xShape, i->first, i->second); else if (i->first == "posrelh") { switch (i->second.toInt32()) @@ -543,12 +556,8 @@ void RTFSdrImport::resolve(RTFShape& rShape) else xShape->setPosition(awt::Point(rShape.nLeft, rShape.nTop)); xShape->setSize(awt::Size(rShape.nRight - rShape.nLeft, rShape.nBottom - rShape.nTop)); - if (rShape.nHoriOrient != 0) - xPropertySet->setPropertyValue("HoriOrient", uno::makeAny(rShape.nHoriOrient)); if (rShape.nHoriOrientRelation != 0) xPropertySet->setPropertyValue("HoriOrientRelation", uno::makeAny(rShape.nHoriOrientRelation)); - if (rShape.nVertOrient != 0) - xPropertySet->setPropertyValue("VertOrient", uno::makeAny(rShape.nVertOrient)); if (rShape.nVertOrientRelation != 0) xPropertySet->setPropertyValue("VertOrientRelation", uno::makeAny(rShape.nVertOrientRelation)); if (rShape.nWrap != -1) diff --git a/writerfilter/source/rtftok/rtfsdrimport.hxx b/writerfilter/source/rtftok/rtfsdrimport.hxx index 165c86f642b1..e9a93cb20e77 100644 --- a/writerfilter/source/rtftok/rtfsdrimport.hxx +++ b/writerfilter/source/rtftok/rtfsdrimport.hxx @@ -32,6 +32,7 @@ namespace writerfilter { std::vector<beans::PropertyValue> getTextFrameDefaults(bool bNew); private: void createShape(OUString aService, uno::Reference<drawing::XShape>& xShape, uno::Reference<beans::XPropertySet>& xPropertySet); + void applyProperty(uno::Reference<drawing::XShape> xShape, OUString aKey, OUString aValue); RTFDocumentImpl& m_rImport; uno::Reference<drawing::XDrawPage> m_xDrawPage; |