summaryrefslogtreecommitdiff
path: root/sw/source/filter/xml/xmlexpit.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/filter/xml/xmlexpit.cxx')
-rw-r--r--sw/source/filter/xml/xmlexpit.cxx706
1 files changed, 703 insertions, 3 deletions
diff --git a/sw/source/filter/xml/xmlexpit.cxx b/sw/source/filter/xml/xmlexpit.cxx
index 77460ba87c31..c28cd6787e9b 100644
--- a/sw/source/filter/xml/xmlexpit.cxx
+++ b/sw/source/filter/xml/xmlexpit.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xmlexpit.cxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: mib $ $Date: 2001-07-04 14:14:26 $
+ * last change: $Author: dvo $ $Date: 2001-07-09 20:10:42 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -104,6 +104,73 @@
#include <svtools/svstdarr.hxx>
#endif
+
+
+#ifndef _HINTIDS_HXX
+#include "hintids.hxx"
+#endif
+
+#ifndef SW_UNOMID_HXX
+#include "unomid.h"
+#endif
+
+#ifndef _SVX_UNOMID_HXX
+#include <svx/unomid.hxx>
+#endif
+
+#ifndef _SVX_LRSPITEM_HXX
+#include <svx/lrspitem.hxx>
+#endif
+
+#ifndef _SVX_ULSPITEM_HXX
+#include <svx/ulspitem.hxx>
+#endif
+
+#ifndef _SVX_SHADITEM_HXX
+#include <svx/shaditem.hxx>
+#endif
+
+#ifndef _SVX_BOXITEM_HXX
+#include <svx/boxitem.hxx>
+#endif
+
+#ifndef _SVX_BRKITEM_HXX
+#include <svx/brkitem.hxx>
+#endif
+
+#ifndef _SVX_KEEPITEM_HXX
+#include <svx/keepitem.hxx>
+#endif
+
+#ifndef _SVX_BRSHITEM_HXX
+#include <svx/brshitem.hxx>
+#endif
+
+#ifndef _FMTPDSC_HXX
+#include "fmtpdsc.hxx"
+#endif
+
+#ifndef _FMTORNT_HXX
+#include "fmtornt.hxx"
+#endif
+
+#ifndef _FMTFSIZE_HXX
+#include "fmtfsize.hxx"
+#endif
+
+#ifndef _FMTLSPLT_HXX
+#include "fmtlsplt.hxx"
+#endif
+
+#ifndef _XMLOFF_XMLTOKEN_HXX
+#include <xmloff/xmltoken.hxx>
+#endif
+
+#ifndef _SW_XMLITHLP_HXX
+#include "xmlithlp.hxx"
+#endif
+
+
using namespace ::rtl;
using namespace ::com::sun::star;
using namespace ::xmloff::token;
@@ -225,7 +292,7 @@ void SvXMLExportItemMapper::exportXML( SvXMLAttributeList& rAttrList,
else if( 0 == (rEntry.nMemberId & MID_FLAG_ELEMENT_ITEM_EXPORT) )
{
OUString aValue;
- if( rItem.exportXML( aValue, rEntry.nMemberId & MID_FLAG_MASK,
+ if( QueryXMLValue(rItem, aValue, rEntry.nMemberId & MID_FLAG_MASK,
rUnitConverter ) )
{
OUString sName(
@@ -419,3 +486,636 @@ void SvXMLExportItemMapper::handleElementItem(
DBG_ERROR( "element item not handled in xml export" );
}
+
+sal_Bool SvXMLExportItemMapper::QueryXMLValue(
+ const SfxPoolItem& rItem,
+ OUString& rValue,
+ sal_uInt16 nMemberId,
+ const SvXMLUnitConverter& rUnitConverter )
+{
+ sal_Bool bOk = sal_False;
+ OUStringBuffer aOut;
+
+ switch ( rItem.Which() )
+ {
+
+ case ITEMID_LRSPACE:
+ {
+ const SvxLRSpaceItem* pLRSpace = PTR_CAST(SvxLRSpaceItem, &rItem);
+ DBG_ASSERT( pLRSpace != NULL, "Wrong Which-ID!" );
+
+ sal_Bool bOk = sal_True;
+ switch( nMemberId )
+ {
+ case MID_L_MARGIN:
+ if(pLRSpace->GetPropLeft() != 100)
+ rUnitConverter.convertPercent( aOut, pLRSpace->GetPropLeft() );
+ else
+ rUnitConverter.convertMeasure( aOut, pLRSpace->GetTxtLeft() );
+ break;
+
+ case MID_R_MARGIN:
+ if(pLRSpace->GetPropRight() != 100)
+ rUnitConverter.convertPercent( aOut, pLRSpace->GetPropRight() );
+ else
+ rUnitConverter.convertMeasure( aOut, pLRSpace->GetRight() );
+ break;
+
+ case MID_FIRST_AUTO:
+ if( pLRSpace->IsAutoFirst() )
+ rUnitConverter.convertBool( aOut, pLRSpace->IsAutoFirst() );
+ else
+ bOk = sal_False;
+ break;
+
+ case MID_FIRST_LINE_INDENT:
+ if( !pLRSpace->IsAutoFirst() )
+ {
+ if(pLRSpace->GetPropTxtFirstLineOfst() != 100)
+ rUnitConverter.convertPercent(
+ aOut, pLRSpace->GetPropTxtFirstLineOfst() );
+ else
+ rUnitConverter.convertMeasure( aOut, pLRSpace->GetTxtFirstLineOfst() );
+ }
+ else
+ bOk = sal_False;
+ break;
+
+ default:
+ DBG_ERROR( "unknown member id!");
+ bOk = sal_False;
+ break;
+ }
+ }
+ break;
+
+ case ITEMID_ULSPACE:
+ {
+ const SvxULSpaceItem* pULSpace = PTR_CAST(SvxULSpaceItem, &rItem);
+ DBG_ASSERT( pULSpace != NULL, "Wrong Which-ID!" );
+
+ switch( nMemberId )
+ {
+ case MID_UP_MARGIN:
+ if( pULSpace->GetPropUpper() != 100 )
+ rUnitConverter.convertPercent( aOut, pULSpace->GetPropUpper() );
+ else
+ rUnitConverter.convertMeasure( aOut, pULSpace->GetUpper() );
+ break;
+
+ case MID_LO_MARGIN:
+ if( pULSpace->GetPropLower() != 100 )
+ rUnitConverter.convertPercent( aOut, pULSpace->GetPropLower() );
+ else
+ rUnitConverter.convertMeasure( aOut, pULSpace->GetLower() );
+ break;
+
+ default:
+ DBG_ERROR("unknown MemberId");
+ };
+
+ bOk = sal_True;
+ }
+ break;
+
+ case ITEMID_SHADOW:
+ {
+ const SvxShadowItem* pShadow = PTR_CAST(SvxShadowItem, &rItem);
+ DBG_ASSERT( pShadow != NULL, "Wrong Which-ID" );
+
+ sal_Int32 nX = 1, nY = 1;
+ switch( pShadow->GetLocation() )
+ {
+ case SVX_SHADOW_TOPLEFT:
+ nX = -1;
+ nY = -1;
+ break;
+ case SVX_SHADOW_TOPRIGHT:
+ nY = -1;
+ break;
+ case SVX_SHADOW_BOTTOMLEFT:
+ nX = -1;
+ break;
+ case SVX_SHADOW_BOTTOMRIGHT:
+ break;
+ case SVX_SHADOW_NONE:
+ default:
+ rValue = GetXMLToken(XML_NONE);
+ return sal_True;
+ }
+
+ nX *= pShadow->GetWidth();
+ nY *= pShadow->GetWidth();
+
+ rUnitConverter.convertColor( aOut, pShadow->GetColor() );
+ aOut.append( sal_Unicode(' ') );
+ rUnitConverter.convertMeasure( aOut, nX );
+ aOut.append( sal_Unicode(' ') );
+ rUnitConverter.convertMeasure( aOut, nY );
+
+ bOk = sal_True;
+ }
+ break;
+
+ case ITEMID_BOX:
+ {
+ SvxBoxItem* pBox = PTR_CAST(SvxBoxItem, &rItem);
+ DBG_ASSERT( pBox != NULL, "Wrong WHich-ID" );
+
+ /**
+ xml -> MemberId
+
+ border-padding ALL_BORDER_PADDING
+ border-padding-before LEFT_BORDER_PADDING
+ border-padding-after RIGHT_BORDER_PADDING
+ border-padding-start TOP_BORDER_PADDING
+ border-padding-end BOTTOM_BORDER_PADDING
+
+ border ALL_BORDER
+ border-before LEFT_BORDER
+ border-after RIGHT_BORDER
+ border-start TOP_BORDER
+ border-end BOTTOM_BORDER
+
+ border-line-width ALL_BORDER_LINE_WIDTH
+ border-line-width-before LEFT_BORDER_LINE_WIDTH
+ border-line-width-after RIGHT_BORDER_LINE_WIDTH
+ border-line-width-start TOP_BORDER_LINE_WIDTH
+ border-line-width-end BOTTOM_BORDER_LINE_WIDTH
+ */
+
+ const SvxBorderLine* pLeft = pBox->GetLeft();
+ const SvxBorderLine* pRight = pBox->GetRight();
+ const SvxBorderLine* pTop = pBox->GetTop();
+ const SvxBorderLine* pBottom = pBox->GetBottom();
+ sal_uInt16 nTopDist = pBox->GetDistance( BOX_LINE_TOP );
+ sal_uInt16 nBottomDist = pBox->GetDistance( BOX_LINE_BOTTOM );
+ sal_uInt16 nLeftDist = pBox->GetDistance( BOX_LINE_LEFT );
+ sal_uInt16 nRightDist = pBox->GetDistance( BOX_LINE_RIGHT );
+
+
+ // check if we need to export it
+ switch( nMemberId )
+ {
+ case ALL_BORDER_PADDING:
+ case LEFT_BORDER_PADDING:
+ case RIGHT_BORDER_PADDING:
+ case TOP_BORDER_PADDING:
+ case BOTTOM_BORDER_PADDING:
+ {
+ sal_Bool bEqual = nLeftDist == nRightDist &&
+ nLeftDist == nTopDist &&
+ nLeftDist == nBottomDist;
+ // don't export individual paddings if all paddings are equal and
+ // don't export all padding if some paddings are not equal
+ if( (bEqual && ALL_BORDER_PADDING != nMemberId) ||
+ (!bEqual && ALL_BORDER_PADDING == nMemberId) )
+ return sal_False;
+ }
+ break;
+ case ALL_BORDER:
+ case LEFT_BORDER:
+ case RIGHT_BORDER:
+ case TOP_BORDER:
+ case BOTTOM_BORDER:
+ {
+ sal_Bool bEqual = ( NULL == pTop && NULL == pBottom &&
+ NULL == pLeft && NULL == pRight ) ||
+ ( pTop && pBottom && pLeft && pRight &&
+ *pTop == *pBottom && *pTop == *pLeft &&
+ *pTop == *pRight );
+
+ // don't export individual borders if all are the same and
+ // don't export all borders if some are not equal
+ if( (bEqual && ALL_BORDER != nMemberId) ||
+ (!bEqual && ALL_BORDER == nMemberId) )
+ return sal_False;
+ }
+ break;
+ case ALL_BORDER_LINE_WIDTH:
+ case LEFT_BORDER_LINE_WIDTH:
+ case RIGHT_BORDER_LINE_WIDTH:
+ case TOP_BORDER_LINE_WIDTH:
+ case BOTTOM_BORDER_LINE_WIDTH:
+ {
+ // if no line is set, there is nothing to export
+ if( !pTop && !pBottom && !pLeft && !pRight )
+ return sal_False;
+
+ sal_Bool bEqual = NULL != pTop &&
+ NULL != pBottom &&
+ NULL != pLeft &&
+ NULL != pRight;
+
+ if( bEqual )
+ {
+ const sal_uInt16 nDistance = pTop->GetDistance();
+ const sal_uInt16 nInWidth = pTop->GetInWidth();
+ const sal_uInt16 nOutWidth = pTop->GetOutWidth();
+
+ bEqual = nDistance == pLeft->GetDistance() &&
+ nInWidth == pLeft->GetInWidth() &&
+ nOutWidth == pLeft->GetOutWidth() &&
+ nDistance == pRight->GetDistance() &&
+ nInWidth == pRight->GetInWidth() &&
+ nOutWidth == pRight->GetOutWidth() &&
+ nDistance == pBottom->GetDistance() &&
+ nInWidth == pBottom->GetInWidth() &&
+ nOutWidth == pBottom->GetOutWidth();
+ }
+
+ switch( nMemberId )
+ {
+ case ALL_BORDER_LINE_WIDTH:
+ if( !bEqual || pTop->GetDistance() == 0 )
+ return sal_False;
+ break;
+ case LEFT_BORDER_LINE_WIDTH:
+ if( bEqual || NULL == pLeft ||
+ 0 == pLeft->GetDistance() )
+ return sal_False;
+ break;
+ case RIGHT_BORDER_LINE_WIDTH:
+ if( bEqual || NULL == pRight ||
+ 0 == pRight->GetDistance() )
+ return sal_False;
+ break;
+ case TOP_BORDER_LINE_WIDTH:
+ if( bEqual || NULL == pTop ||
+ 0 == pTop->GetDistance() )
+ return sal_False;
+ break;
+ case BOTTOM_BORDER_LINE_WIDTH:
+ if( bEqual || NULL == pBottom ||
+ 0 == pBottom->GetDistance() )
+ return sal_False;
+ break;
+ }
+ }
+ break;
+ }
+
+ // now export it export
+ switch( nMemberId )
+ {
+ // padding
+ case ALL_BORDER_PADDING:
+ case LEFT_BORDER_PADDING:
+ rUnitConverter.convertMeasure( aOut, nLeftDist );
+ break;
+ case RIGHT_BORDER_PADDING:
+ rUnitConverter.convertMeasure( aOut, nRightDist );
+ break;
+ case TOP_BORDER_PADDING:
+ rUnitConverter.convertMeasure( aOut, nTopDist );
+ break;
+ case BOTTOM_BORDER_PADDING:
+ rUnitConverter.convertMeasure( aOut, nBottomDist );
+ break;
+
+ // border
+ case ALL_BORDER:
+ case LEFT_BORDER:
+ case RIGHT_BORDER:
+ case TOP_BORDER:
+ case BOTTOM_BORDER:
+ {
+ const SvxBorderLine* pLine;
+ switch( nMemberId )
+ {
+ case ALL_BORDER:
+ case LEFT_BORDER:
+ pLine = pLeft;
+ break;
+ case RIGHT_BORDER:
+ pLine = pRight;
+ break;
+ case TOP_BORDER:
+ pLine = pTop;
+ break;
+ case BOTTOM_BORDER:
+ pLine = pBottom;
+ break;
+ default:
+ pLine = NULL;
+ break;
+ }
+
+ if( NULL != pLine )
+ {
+ sal_Int32 nWidth = pLine->GetOutWidth();
+ const sal_uInt16 nDistance = pLine->GetDistance();
+ if( 0 != nDistance )
+ {
+ nWidth += nDistance;
+ nWidth += pLine->GetInWidth();
+ }
+
+ enum XMLTokenEnum eStyle =
+ (0 == nDistance) ? XML_SOLID : XML_DOUBLE;
+
+ rUnitConverter.convertMeasure( aOut, nWidth );
+ aOut.append( sal_Unicode( ' ' ) );
+ aOut.append( GetXMLToken( eStyle ) );
+ aOut.append( sal_Unicode( ' ' ) );
+ rUnitConverter.convertColor( aOut, pLine->GetColor() );
+
+ }
+ else
+ {
+ aOut.append( GetXMLToken(XML_NONE) );
+ }
+ }
+ break;
+
+ // width
+ case ALL_BORDER_LINE_WIDTH:
+ case LEFT_BORDER_LINE_WIDTH:
+ case RIGHT_BORDER_LINE_WIDTH:
+ case TOP_BORDER_LINE_WIDTH:
+ case BOTTOM_BORDER_LINE_WIDTH:
+ const SvxBorderLine* pLine;
+ switch( nMemberId )
+ {
+ case ALL_BORDER_LINE_WIDTH:
+ case LEFT_BORDER_LINE_WIDTH:
+ pLine = pLeft;
+ break;
+ case RIGHT_BORDER_LINE_WIDTH:
+ pLine = pRight;
+ break;
+ case TOP_BORDER_LINE_WIDTH:
+ pLine = pTop;
+ break;
+ case BOTTOM_BORDER_LINE_WIDTH:
+ pLine = pBottom;
+ break;
+ default:
+ return sal_False;
+ }
+ rUnitConverter.convertMeasure( aOut, pLine->GetInWidth() );
+ aOut.append( sal_Unicode( ' ' ) );
+ rUnitConverter.convertMeasure( aOut, pLine->GetDistance() );
+ aOut.append( sal_Unicode( ' ' ) );
+ rUnitConverter.convertMeasure( aOut, pLine->GetOutWidth() );
+ break;
+ }
+
+ bOk = sal_True;
+ }
+ break;
+
+ case ITEMID_FMTBREAK:
+ {
+ const SvxFmtBreakItem* pFmtBreak = PTR_CAST(SvxFmtBreakItem, &rItem);
+ DBG_ASSERT( pFmtBreak != NULL, "Wrong Which-ID" );
+
+ sal_uInt16 eEnum = 0;
+
+ switch( nMemberId )
+ {
+ case MID_BREAK_BEFORE:
+ switch( pFmtBreak->GetValue() )
+ {
+ case SVX_BREAK_COLUMN_BEFORE:
+ eEnum = 1;
+ break;
+ case SVX_BREAK_PAGE_BEFORE:
+ eEnum = 2;
+ break;
+ case SVX_BREAK_NONE:
+ eEnum = 0;
+ break;
+ default:
+ return sal_False;
+ }
+ break;
+ case MID_BREAK_AFTER:
+ switch( pFmtBreak->GetValue() )
+ {
+ case SVX_BREAK_COLUMN_AFTER:
+ eEnum = 1;
+ break;
+ case SVX_BREAK_PAGE_AFTER:
+ eEnum = 2;
+ break;
+ case SVX_BREAK_NONE:
+ eEnum = 0;
+ break;
+ default:
+ return sal_False;
+ }
+ break;
+ }
+
+ bOk = rUnitConverter.convertEnum( aOut, eEnum, psXML_BreakType );
+ }
+ break;
+
+ case ITEMID_FMTKEEP:
+ {
+ SvxFmtKeepItem* pFmtKeep = PTR_CAST(SvxFmtKeepItem, &rItem);
+ DBG_ASSERT( pFmtKeep != NULL, "Wrong Which-ID" );
+
+ rUnitConverter.convertBool( aOut, pFmtKeep->GetValue() );
+ bOk = sal_True;
+ }
+ break;
+
+ case ITEMID_BRUSH:
+ {
+ SvxBrushItem* pBrush = PTR_CAST(SvxBrushItem, &rItem);
+ DBG_ASSERT( pBrush != NULL, "Wrong Which-ID" );
+
+ // note: the graphic is only exported if nMemberId equals
+ // MID_GRAPHIC..
+ // If not, only the color or transparency is exported
+
+ switch( nMemberId )
+ {
+ case MID_BACK_COLOR:
+ if ( pBrush->GetColor().GetTransparency() )
+ aOut.append( GetXMLToken(XML_TRANSPARENT) );
+ else
+ rUnitConverter.convertColor( aOut, pBrush->GetColor());
+ bOk = sal_True;
+ break;
+
+ case MID_GRAPHIC_LINK:
+ if( pBrush->GetGraphicPos() != GPOS_NONE )
+ {
+ uno::Any aAny;
+ pBrush->QueryValue( aAny, MID_GRAPHIC_URL );
+ OUString sTmp;
+ aAny >>= sTmp;
+ aOut.append( sTmp );
+ bOk = sal_True;
+ }
+ break;
+
+ case MID_GRAPHIC_POSITION:
+ switch( pBrush->GetGraphicPos() )
+ {
+ case GPOS_LT:
+ case GPOS_MT:
+ case GPOS_RT:
+ aOut.append( GetXMLToken(XML_TOP) );
+ bOk = sal_True;
+ break;
+ case GPOS_LM:
+ case GPOS_MM:
+ case GPOS_RM:
+ aOut.append( GetXMLToken(XML_CENTER) );
+ bOk = sal_True;
+ break;
+ case GPOS_LB:
+ case GPOS_MB:
+ case GPOS_RB:
+ aOut.append( GetXMLToken(XML_BOTTOM) );
+ bOk = sal_True;
+ break;
+ }
+
+ if( bOk )
+ {
+ aOut.append( sal_Unicode( ' ' ) );
+
+ switch( pBrush->GetGraphicPos() )
+ {
+ case GPOS_LT:
+ case GPOS_LB:
+ case GPOS_LM:
+ aOut.append( GetXMLToken(XML_LEFT) );
+ break;
+ case GPOS_MT:
+ case GPOS_MM:
+ case GPOS_MB:
+ aOut.append( GetXMLToken(XML_CENTER) );
+ break;
+ case GPOS_RM:
+ case GPOS_RT:
+ case GPOS_RB:
+ aOut.append( GetXMLToken(XML_RIGHT) );
+ break;
+ }
+ }
+ break;
+
+ case MID_GRAPHIC_REPEAT:
+ {
+ SvxGraphicPosition eGraphicPos = pBrush->GetGraphicPos();
+ if( GPOS_AREA == eGraphicPos )
+ {
+ aOut.append( GetXMLToken(XML_BACKGROUND_STRETCH) );
+ bOk = sal_True;
+ }
+ else if( GPOS_NONE != eGraphicPos && GPOS_TILED != eGraphicPos )
+ {
+ aOut.append( GetXMLToken(XML_BACKGROUND_NO_REPEAT) );
+ bOk = sal_True;
+ }
+ }
+ break;
+
+ case MID_GRAPHIC_FILTER:
+ if( pBrush->GetGraphicPos() != GPOS_NONE &&
+ pBrush->GetGraphicFilter() )
+ {
+ aOut.append( pBrush->GetGraphicFilter()->GetBuffer() );
+ bOk = sal_True;
+ }
+ break;
+ }
+ }
+ break;
+
+ case RES_PAGEDESC:
+ {
+ const SwFmtPageDesc* pPageDesc = PTR_CAST(SwFmtPageDesc, &rItem);
+ DBG_ASSERT( pPageDesc != NULL, "Wrong Which-ID" );
+
+ if( MID_PAGEDESC_PAGENUMOFFSET==nMemberId )
+ {
+
+ rUnitConverter.convertNumber(
+ aOut, (sal_Int32)pPageDesc->GetNumOffset() );
+ bOk = sal_True;
+ }
+ }
+ break;
+
+ case RES_LAYOUT_SPLIT:
+ {
+ const SwFmtLayoutSplit* pLayoutSplit = PTR_CAST(SwFmtLayoutSplit, &rItem);
+ DBG_ASSERT( pLayoutSplit != NULL, "Wrong Which-ID" );
+
+ rUnitConverter.convertBool( aOut, pLayoutSplit->GetValue() );
+ bOk = sal_True;
+ }
+ break;
+
+ case RES_HORI_ORIENT:
+ {
+ SwFmtHoriOrient* pHoriOrient = PTR_CAST(SwFmtHoriOrient, &rItem);
+ DBG_ASSERT( pHoriOrient != NULL, "Wrong Which-ID" );
+
+ rUnitConverter.convertEnum( aOut, pHoriOrient->GetHoriOrient(),
+ aXMLTableAlignMap );
+ bOk = sal_True;
+ }
+ break;
+
+ case RES_VERT_ORIENT:
+ {
+ SwFmtVertOrient* pVertOrient = PTR_CAST(SwFmtVertOrient, &rItem);
+ DBG_ASSERT( pVertOrient != NULL, "Wrong Which-ID" );
+
+ rUnitConverter.convertEnum( aOut, pVertOrient->GetVertOrient(),
+ aXMLTableVAlignMap );
+ bOk = sal_True;
+ }
+ break;
+
+ case RES_FRM_SIZE:
+ {
+ SwFmtFrmSize* pFrmSize = PTR_CAST(SwFmtFrmSize, &rItem);
+ DBG_ASSERT( pFrmSize != NULL, "Wrong Which-ID" );
+
+ sal_Bool bOutHeight = sal_False;
+ switch( nMemberId )
+ {
+ case MID_FRMSIZE_REL_WIDTH:
+ if( pFrmSize->GetWidthPercent() )
+ {
+ rUnitConverter.convertPercent( aOut, pFrmSize->GetWidthPercent() );
+ bOk = sal_True;
+ }
+ break;
+ case MID_FRMSIZE_MIN_HEIGHT:
+ if( ATT_MIN_SIZE == pFrmSize->GetSizeType() )
+ bOutHeight = sal_True;
+ break;
+ case MID_FRMSIZE_FIX_HEIGHT:
+ if( ATT_FIX_SIZE == pFrmSize->GetSizeType() )
+ bOutHeight = sal_True;
+ break;
+ }
+
+ if( bOutHeight )
+ {
+ rUnitConverter.convertMeasure( aOut, pFrmSize->GetHeight() );
+ bOk = sal_True;
+ }
+ }
+ break;
+
+ default:
+ DBG_ERROR("GetXMLValue not implemented for this item.");
+ break;
+ }
+
+ if ( bOk )
+ rValue = aOut.makeStringAndClear();
+
+ return bOk;
+}