summaryrefslogtreecommitdiff
path: root/writerfilter/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-01-22 21:44:45 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-01-22 21:49:52 +0100
commitdd34ecba1048549d122a759cd5c7f743f5899d73 (patch)
treebe11d027e7feb64851300f9487fc416f02d41a52 /writerfilter/source
parent2fd95e9b011d41831480e2ffd44de2bac519a48d (diff)
writerfilter: refactor to avoid redundant FSPA class in doctok
Change-Id: Ic546c62ec24ef3c6b9189ba8378686a6f94714dc
Diffstat (limited to 'writerfilter/source')
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx24
-rw-r--r--writerfilter/source/doctok/resources.xmi77
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx11
-rw-r--r--writerfilter/source/rtftok/rtfvalue.cxx13
-rw-r--r--writerfilter/source/rtftok/rtfvalue.hxx1
5 files changed, 21 insertions, 105 deletions
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 420504d276ef..6df518d2b5aa 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -489,30 +489,6 @@ void GraphicImport::lcl_attribute(Id nName, Value & val)
break;
case NS_ooxml::LN_CT_Border_frame: // ignored
break;
-
- case NS_rtf::LN_WR: //wrapping
- switch( nIntValue )
- {
- case 0: //0 like 2, but doesn't require absolute object
- m_pImpl->bIgnoreWRK = false;
- case 2: //2 wrap around absolute object
- m_pImpl->nWrap = text::WrapTextMode_PARALLEL;
- break;
- case 1: //1 no text next to shape
- m_pImpl->nWrap = text::WrapTextMode_NONE;
- break;
- case 3: //3 wrap as if no object present
- m_pImpl->nWrap = text::WrapTextMode_THROUGHT;
- break;
- case 4: //4 wrap tightly around object
- m_pImpl->bIgnoreWRK = false;
- case 5: //5 wrap tightly, but allow holes
- m_pImpl->nWrap = text::WrapTextMode_PARALLEL;
- m_pImpl->bContour = true;
- break;
- default:;
- }
- break;
case NS_ooxml::LN_CT_PositiveSize2D_cx:// 90407;
case NS_ooxml::LN_CT_PositiveSize2D_cy:// 90408;
{
diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi
index 90fc42bd82af..3ed1167e91c7 100644
--- a/writerfilter/source/doctok/resources.xmi
+++ b/writerfilter/source/doctok/resources.xmi
@@ -333,83 +333,6 @@
</UML:Classifier.feature>
</UML:Class>
<!--Class Style-->
- <!--Class FSPA-->
- <UML:Class xmi.id="FSPA" name="FSPA">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>26</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="size"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:Classifier.feature>
- <UML:Attribute name="wr">
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>text wrapping mode
- 0 like 2, but doesn't require absolute object
- 1 no text next to shape
- 2 wrap around absolute object
- 3 wrap as if no object present
- 4 wrap tightly around object
- 5 wrap tightly, but allow holes
- 6-15 reserved for future use</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="comment"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="offset"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="shift"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>01E0</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="mask"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>:4</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="bits"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:ModelElement.taggedValue>
- <UML:TaggedValue>
- <UML:TaggedValue.dataValue>rtf:WR</UML:TaggedValue.dataValue>
- <UML:TaggedValue.type>
- <UML:TagDefinition xmi.idref="attrid"/>
- </UML:TaggedValue.type>
- </UML:TaggedValue>
- </UML:ModelElement.taggedValue>
- <UML:StructuralFeature.type>
- <UML:DataType xmi.idref="U16"/>
- </UML:StructuralFeature.type>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref="attribute"/>
- </UML:ModelElement.stereotype>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <!--Class FSPA-->
<!--WW8 resources-->
<!--SPRMS-->
<!--SPRM sprmPContextualSpacing-->
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 642155b5addc..6705664794fa 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -833,15 +833,18 @@ int RTFDocumentImpl::resolvePict(bool bInline)
// wrap sprm
RTFSprms aAnchorWrapAttributes;
RTFSprms aAnchorAttributes;
+ RTFSprms aAnchorSprms;
for (RTFSprms::Iterator_t i = m_aStates.top().aCharacterAttributes.begin(); i != m_aStates.top().aCharacterAttributes.end(); ++i)
{
if (i->first == NS_ooxml::LN_CT_WrapSquare_wrapText)
aAnchorWrapAttributes.set(i->first, i->second);
- else if (i->first == NS_rtf::LN_WR)
- aAnchorAttributes.set(i->first, i->second);
+ }
+ for (RTFSprms::Iterator_t i = m_aStates.top().aCharacterSprms.begin(); i != m_aStates.top().aCharacterSprms.end(); ++i)
+ {
+ if (i->first == NS_ooxml::LN_EG_WrapType_wrapNone)
+ aAnchorSprms.set(i->first, i->second);
}
RTFValue::Pointer_t pAnchorWrapValue(new RTFValue(aAnchorWrapAttributes));
- RTFSprms aAnchorSprms;
aAnchorSprms.set(NS_ooxml::LN_CT_Anchor_extent, pExtentValue);
if (aAnchorWrapAttributes.size())
aAnchorSprms.set(NS_ooxml::LN_EG_WrapType_wrapSquare, pAnchorWrapValue);
@@ -3711,7 +3714,7 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
{
// Shape is below text -> send it to the background.
m_aStates.top().aCharacterAttributes.erase(NS_ooxml::LN_CT_WrapSquare_wrapText);
- m_aStates.top().aCharacterAttributes.set(NS_rtf::LN_WR, RTFValue::Pointer_t(new RTFValue(3)));
+ m_aStates.top().aCharacterSprms.set(NS_ooxml::LN_EG_WrapType_wrapNone, RTFValue::Pointer_t(new RTFValue()));
}
break;
case RTF_TS:
diff --git a/writerfilter/source/rtftok/rtfvalue.cxx b/writerfilter/source/rtftok/rtfvalue.cxx
index 7af638ff8219..21213583bf3f 100644
--- a/writerfilter/source/rtftok/rtfvalue.cxx
+++ b/writerfilter/source/rtftok/rtfvalue.cxx
@@ -30,6 +30,19 @@ RTFValue::RTFValue(int nValue, OUString sValue, RTFSprms rAttributes,
m_pShape.reset(new RTFShape(aShape));
}
+RTFValue::RTFValue()
+ : m_nValue(0),
+ m_sValue(),
+ m_xShape(),
+ m_xStream(),
+ m_xObject(),
+ m_bForceString(false)
+{
+ m_pAttributes.reset(new RTFSprms());
+ m_pSprms.reset(new RTFSprms());
+ m_pShape.reset(new RTFShape());
+}
+
RTFValue::RTFValue(int nValue)
: m_nValue(nValue),
m_sValue(),
diff --git a/writerfilter/source/rtftok/rtfvalue.hxx b/writerfilter/source/rtftok/rtfvalue.hxx
index d42be11e73c3..91bb6b86cc1b 100644
--- a/writerfilter/source/rtftok/rtfvalue.hxx
+++ b/writerfilter/source/rtftok/rtfvalue.hxx
@@ -27,6 +27,7 @@ namespace writerfilter {
RTFValue(int nValue, OUString sValue, RTFSprms rAttributes, RTFSprms rSprms, uno::Reference<drawing::XShape> rShape,
uno::Reference<io::XInputStream> rStream, uno::Reference<embed::XEmbeddedObject> rObject, bool bForceString,
RTFShape aShape);
+ RTFValue();
RTFValue(int nValue);
RTFValue(OUString sValue, bool bForce = false);
RTFValue(RTFSprms rAttributes);