diff options
author | Henning Brinkmann <hbrinkm@openoffice.org> | 2010-08-17 17:31:32 +0200 |
---|---|---|
committer | Henning Brinkmann <hbrinkm@openoffice.org> | 2010-08-17 17:31:32 +0200 |
commit | 3fbaee30ee7832d79b02f21f6f1a14a70e735bd9 (patch) | |
tree | 378e2e22e9895ec517588d7b1c49281a4202e8d5 /writerfilter | |
parent | 4548b7649d46d5a3153963bb37c7c3842edce6ae (diff) |
writerfilter09: handle 'wrap tight' and 'wrap through' differently
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/GraphicImport.cxx | 58 | ||||
-rw-r--r-- | writerfilter/source/dmapper/GraphicImport.hxx | 2 |
2 files changed, 41 insertions, 19 deletions
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 39382a009f2b..6bbfcbd68665 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -225,6 +225,7 @@ public: sal_Int32 nWrap; bool bOpaque; bool bContour; + bool bContourOutside; WrapPolygon::Pointer_t mpWrapPolygon; bool bIgnoreWRK; @@ -288,6 +289,7 @@ public: ,nWrap(0) ,bOpaque( true ) ,bContour(false) + ,bContourOutside(true) ,bIgnoreWRK(true) ,nLeftMargin(319) ,nRightMargin(319) @@ -365,6 +367,27 @@ GraphicImport::~GraphicImport() { delete m_pImpl; } + +void GraphicImport::handleWrapTextValue(sal_uInt32 nVal) +{ + switch (nVal) + { + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_bothSides: // 90920; + m_pImpl->nWrap = text::WrapTextMode_PARALLEL; + break; + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_left: // 90921; + m_pImpl->nWrap = text::WrapTextMode_LEFT; + break; + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_right: // 90922; + m_pImpl->nWrap = text::WrapTextMode_RIGHT; + break; + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_largest: // 90923; + m_pImpl->nWrap = text::WrapTextMode_DYNAMIC; + break; + default:; + } +} + /*-- 01.11.2006 09:45:01--------------------------------------------------- -----------------------------------------------------------------------*/ @@ -1011,29 +1034,26 @@ void GraphicImport::lcl_attribute(Id nName, Value & val) } break; case NS_ooxml::LN_CT_WrapTight_wrapText: // 90934; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + m_pImpl->bContour = true; + m_pImpl->bContourOutside = true; + + handleWrapTextValue(val.getInt()); + + break; case NS_ooxml::LN_CT_WrapThrough_wrapText: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bContour = true; - //no break; + m_pImpl->bContourOutside = false; + + handleWrapTextValue(val.getInt()); + + break; case NS_ooxml::LN_CT_WrapSquare_wrapText: //90928; /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ - switch ( val.getInt() ) - { - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_bothSides: // 90920; - m_pImpl->nWrap = text::WrapTextMode_PARALLEL; - break; - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_left: // 90921; - m_pImpl->nWrap = text::WrapTextMode_LEFT; - break; - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_right: // 90922; - m_pImpl->nWrap = text::WrapTextMode_RIGHT; - break; - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_largest: // 90923; - m_pImpl->nWrap = text::WrapTextMode_DYNAMIC; - break; - default:; - } - break; + + handleWrapTextValue(val.getInt()); + break; case NS_ooxml::LN_shape: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { @@ -1625,7 +1645,7 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_SURROUND_CONTOUR ), uno::makeAny(m_pImpl->bContour)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_CONTOUR_OUTSIDE ), - uno::makeAny(true)); + uno::makeAny(m_pImpl->bContourOutside)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_LEFT_MARGIN ), uno::makeAny(m_pImpl->nLeftMargin)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_RIGHT_MARGIN ), diff --git a/writerfilter/source/dmapper/GraphicImport.hxx b/writerfilter/source/dmapper/GraphicImport.hxx index 8ca6b18d5d55..87e99ce975b6 100644 --- a/writerfilter/source/dmapper/GraphicImport.hxx +++ b/writerfilter/source/dmapper/GraphicImport.hxx @@ -122,6 +122,8 @@ public: virtual void lcl_info(const string & info); virtual void lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); virtual void lcl_endShape( ); + + void handleWrapTextValue(sal_uInt32 nVal); }; typedef boost::shared_ptr< GraphicImport > GraphicImportPtr; |