diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-22 21:44:45 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-22 21:49:52 +0100 |
commit | dd34ecba1048549d122a759cd5c7f743f5899d73 (patch) | |
tree | be11d027e7feb64851300f9487fc416f02d41a52 /writerfilter/source | |
parent | 2fd95e9b011d41831480e2ffd44de2bac519a48d (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.cxx | 24 | ||||
-rw-r--r-- | writerfilter/source/doctok/resources.xmi | 77 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 11 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfvalue.cxx | 13 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfvalue.hxx | 1 |
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); |