summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-06-15 23:12:24 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-06-16 00:37:18 +0200
commit2fc088afdf6dcb2defbd462a9e64ba7e53ba5caf (patch)
tree9e4b51887cade5e8f0c779f2630fcf50b1cbcd37 /writerfilter
parent1780b582cc880538c98796a67f64a0bdd696ea22 (diff)
Factor out RTFSdrImport::applyProperty() from RTFSdrImport::resolve()
Change-Id: Idd352e712e20e6e64c80490daf4b2a5e74d47a97
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx2
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx2
-rw-r--r--writerfilter/source/rtftok/rtfsdrimport.cxx97
-rw-r--r--writerfilter/source/rtftok/rtfsdrimport.hxx1
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;