summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorHenning Brinkmann <hbrinkm@openoffice.org>2010-08-17 17:31:32 +0200
committerHenning Brinkmann <hbrinkm@openoffice.org>2010-08-17 17:31:32 +0200
commit3fbaee30ee7832d79b02f21f6f1a14a70e735bd9 (patch)
tree378e2e22e9895ec517588d7b1c49281a4202e8d5 /writerfilter
parent4548b7649d46d5a3153963bb37c7c3842edce6ae (diff)
writerfilter09: handle 'wrap tight' and 'wrap through' differently
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx58
-rw-r--r--writerfilter/source/dmapper/GraphicImport.hxx2
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;