diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-30 10:25:16 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-30 11:52:11 +0100 |
commit | 0b20f01a8817867d7657ed2ee29321de9af15843 (patch) | |
tree | 008e6ff80c8c4e9f9e10f974eefac739a6ab95a9 /xmloff/source/text | |
parent | 25d089e09d94a86c615bf641d59846a65323e495 (diff) |
swpagerelsize: implement ODF import/export
Export rel-height-rel / rel-width-rel only in case rel-height /
rel-width is non-zero, though.
Change-Id: I36120cbd8679ac4fc072d1e7cf4dfc024836b5ac
Diffstat (limited to 'xmloff/source/text')
-rw-r--r-- | xmloff/source/text/txtexppr.cxx | 18 | ||||
-rw-r--r-- | xmloff/source/text/txtprmap.cxx | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/xmloff/source/text/txtexppr.cxx b/xmloff/source/text/txtexppr.cxx index 6c560cc2ac7f..aa67367ba566 100644 --- a/xmloff/source/text/txtexppr.cxx +++ b/xmloff/source/text/txtexppr.cxx @@ -626,6 +626,8 @@ void XMLTextExportPropertySetMapper::ContextFilter( XMLPropertyState* pVertOrientRelPageState = NULL; XMLPropertyState* pVertOrientRelFrameState = NULL; XMLPropertyState* pVertOrientRelAsCharState = NULL; + XMLPropertyState* pRelWidthRel = NULL; + XMLPropertyState* pRelHeightRel = NULL; // Vertical position and relation for shapes (#i28749#) XMLPropertyState* pShapeVertOrientState = NULL; @@ -738,12 +740,14 @@ void XMLTextExportPropertySetMapper::ContextFilter( case CTF_HORIZONTALREL: pHoriOrientRelState = propertie; bNeedsAnchor = sal_True; break; case CTF_HORIZONTALREL_FRAME: pHoriOrientRelFrameState = propertie; bNeedsAnchor = sal_True; break; case CTF_HORIZONTALMIRROR: pHoriOrientMirrorState = propertie; bNeedsAnchor = sal_True; break; + case CTF_RELWIDTHREL: pRelWidthRel = propertie; break; case CTF_VERTICALPOS: pVertOrientState = propertie; bNeedsAnchor = sal_True; break; case CTF_VERTICALPOS_ATCHAR: pVertOrientAtCharState = propertie; bNeedsAnchor = sal_True; break; case CTF_VERTICALREL: pVertOrientRelState = propertie; bNeedsAnchor = sal_True; break; case CTF_VERTICALREL_PAGE: pVertOrientRelPageState = propertie; bNeedsAnchor = sal_True; break; case CTF_VERTICALREL_FRAME: pVertOrientRelFrameState = propertie; bNeedsAnchor = sal_True; break; case CTF_VERTICALREL_ASCHAR: pVertOrientRelAsCharState = propertie; bNeedsAnchor = sal_True; break; + case CTF_RELHEIGHTREL: pRelHeightRel = propertie; break; // Handle new CTFs for shape positioning properties (#i28749#) case CTF_SHAPE_HORIZONTALPOS: pShapeHoriOrientState = propertie; bNeedsAnchor = sal_True; break; @@ -975,6 +979,13 @@ void XMLTextExportPropertySetMapper::ContextFilter( pHoriOrientRelState->mnIndex = -1; if( pHoriOrientRelFrameState && TextContentAnchorType_AT_FRAME != eAnchor ) pHoriOrientRelFrameState->mnIndex = -1; + if (pRelWidthRel) + { + sal_Int16 nRelWidth = 0; + rPropSet->getPropertyValue("RelativeWidth") >>= nRelWidth; + if (!nRelWidth) + pRelWidthRel->mnIndex = -1; + } if( pVertOrientState && TextContentAnchorType_AT_CHARACTER == eAnchor ) pVertOrientState->mnIndex = -1; @@ -989,6 +1000,13 @@ void XMLTextExportPropertySetMapper::ContextFilter( pVertOrientRelFrameState->mnIndex = -1; if( pVertOrientRelAsCharState && TextContentAnchorType_AS_CHARACTER != eAnchor ) pVertOrientRelAsCharState->mnIndex = -1; + if (pRelHeightRel) + { + sal_Int16 nRelHeight = 0; + rPropSet->getPropertyValue("RelativeHeight") >>= nRelHeight; + if (!nRelHeight) + pRelHeightRel->mnIndex = -1; + } } // States for shape positioning properties (#i28749#) diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx index 2eacad24214d..a1f9898f2f91 100644 --- a/xmloff/source/text/txtprmap.cxx +++ b/xmloff/source/text/txtprmap.cxx @@ -784,6 +784,8 @@ XMLPropertyMapEntry aXMLFramePropMap[] = MG_E( "", DRAW, VISIBLE_AREA_HEIGHT, XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_OLE_VIS_AREA_HEIGHT ), MG_E( "", DRAW, DRAW_ASPECT, XML_TYPE_TEXT_DRAW_ASPECT|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_OLE_DRAW_ASPECT ), MG_E( "UserDefinedAttributes", TEXT, XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ), + MAP_EXT("RelativeWidthRelation", XML_NAMESPACE_LO_EXT, XML_REL_WIDTH_REL, XML_TYPE_TEXT_HORIZONTAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_RELWIDTHREL), + MAP_EXT("RelativeHeightRelation", XML_NAMESPACE_LO_EXT, XML_REL_HEIGHT_REL, XML_TYPE_TEXT_VERTICAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_RELHEIGHTREL), M_END() }; |