[ooo-build-commit] Branch 'ooo/OOO310' - xmloff/inc xmloff/source

Jan Holesovsky kendy at kemper.freedesktop.org
Thu Jun 25 17:55:01 PDT 2009


 xmloff/inc/xmloff/table/XMLTableExport.hxx |    2 +-
 xmloff/inc/xmloff/txtprmap.hxx             |    2 +-
 xmloff/source/draw/sdpropls.cxx            |   29 ++++++++++++++++++++++++++++-
 xmloff/source/draw/sdpropls.hxx            |    2 +-
 xmloff/source/draw/shapeexport.cxx         |    3 ++-
 xmloff/source/table/XMLTableExport.cxx     |    4 ++--
 xmloff/source/text/txtprmap.cxx            |    2 +-
 7 files changed, 36 insertions(+), 8 deletions(-)

New commits:
commit d1b246f90733d6cb1a9cda4310dee0e88c62ccbd
Author: Oliver Bolte <obo at openoffice.org>
Date:   Thu Jun 25 09:06:48 2009 +0000

    CWS-TOOLING: integrate CWS impress173
    2009-06-16 15:50:22 +0200 sj  r273022 : #i101545# fixed crash - bracketing of graphic links has been done twice leading to a broken graphic state stack
    2009-06-05 10:37:58 +0200 cl  r272669 : #i102298# prevent export of multiple writing-mode attributes for cell styles
    2009-06-05 10:29:42 +0200 cl  r272667 : #i98403# fixed editing of motion path

diff --git a/xmloff/inc/xmloff/table/XMLTableExport.hxx b/xmloff/inc/xmloff/table/XMLTableExport.hxx
index 9d42ffc..041c96d 100644
--- a/xmloff/inc/xmloff/table/XMLTableExport.hxx
+++ b/xmloff/inc/xmloff/table/XMLTableExport.hxx
@@ -75,7 +75,7 @@ typedef ::std::map< const ::com::sun::star::uno::Reference< com::sun::star::tabl
 class XMLOFF_DLLPUBLIC XMLTableExport : public UniRefBase
 {
 public:
-    XMLTableExport(SvXMLExport& rExp, const rtl::Reference< XMLPropertySetMapper >& xCellPropertySetMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef );
+    XMLTableExport(SvXMLExport& rExp, const rtl::Reference< SvXMLExportPropertyMapper >& xCellExportPropertySetMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef );
     virtual ~XMLTableExport();
 
     // This method collects all automatic styles for the given table
diff --git a/xmloff/inc/xmloff/txtprmap.hxx b/xmloff/inc/xmloff/txtprmap.hxx
index 3cbdeaa..c1dbb2b 100644
--- a/xmloff/inc/xmloff/txtprmap.hxx
+++ b/xmloff/inc/xmloff/txtprmap.hxx
@@ -71,7 +71,7 @@
 #define CTF_FONTFAMILY				(XML_TEXT_CTF_START + 36)
 #define CTF_FONTPITCH				(XML_TEXT_CTF_START + 37)
 #define CTF_FONTCHARSET				(XML_TEXT_CTF_START + 38)
-//	(XML_TEXT_CTF_START + 39)
+#define CTF_TEXTWRITINGMODE         (XML_TEXT_CTF_START + 39)
 #define CTF_SYNCHEIGHT_MIN			(XML_TEXT_CTF_START + 40)
 #define CTF_FRAMEHEIGHT_ABS			(XML_TEXT_CTF_START + 41)
 #define CTF_FRAMEHEIGHT_REL			(XML_TEXT_CTF_START + 42)
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
index 3453dc2..fd82bf9 100644
--- a/xmloff/source/draw/sdpropls.cxx
+++ b/xmloff/source/draw/sdpropls.cxx
@@ -268,7 +268,7 @@ const XMLPropertyMapEntry aXMLSDProperties[] =
     GMAP( "ControlDataStyle",				XML_NAMESPACE_STYLE,XML_DATA_STYLE_NAME,		XML_TYPE_STRING|MID_FLAG_NO_PROPERTY_EXPORT|MID_FLAG_SPECIAL_ITEM, CTF_SD_CONTROL_SHAPE_DATA_STYLE ),
     GMAP( "ControlTextEmphasis",			XML_NAMESPACE_STYLE,XML_TEXT_EMPHASIZE, 		XML_TYPE_CONTROL_TEXT_EMPHASIZE, 0 ),
     GMAP( "ImageScaleMode",			        XML_NAMESPACE_STYLE,XML_REPEAT,                 XML_SD_TYPE_IMAGE_SCALE_MODE|MID_FLAG_MULTI_PROPERTY, 0 ),
-    GMAP( "ControlWritingMode",             XML_NAMESPACE_STYLE,XML_WRITING_MODE, 		    XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT|MID_FLAG_MULTI_PROPERTY, 0 ),
+    GMAP( "ControlWritingMode",             XML_NAMESPACE_STYLE,XML_WRITING_MODE, 		    XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT|MID_FLAG_MULTI_PROPERTY, CTF_CONTROLWRITINGMODE ),
 
     // special entries for floating frames
     GMAP( "FrameIsAutoScroll",			XML_NAMESPACE_DRAW,	XML_FRAME_DISPLAY_SCROLLBAR,	XML_TYPE_BOOL|MID_FLAG_MULTI_PROPERTY,				CTF_FRAME_DISPLAY_SCROLLBAR ),
@@ -1230,6 +1230,10 @@ void XMLShapeExportPropertyMapper::ContextFilter(
     XMLPropertyState* pClip11State = NULL;
     XMLPropertyState* pClipState = NULL;
 
+    XMLPropertyState* pShapeWritingMode = NULL;
+    XMLPropertyState* pTextWritingMode = NULL;
+    XMLPropertyState* pControlWritingMode = NULL;
+
     // filter properties
     for( std::vector< XMLPropertyState >::iterator aIter = rProperties.begin();
          aIter != rProperties.end();
@@ -1261,14 +1265,24 @@ void XMLShapeExportPropertyMapper::ContextFilter(
                 break;
             case CTF_WRITINGMODE:
                 {
+                    pShapeWritingMode = property;				
                     text::WritingMode eWritingMode;
                     if( property->maValue >>= eWritingMode )
                     {
                         if( text::WritingMode_LR_TB == eWritingMode )
+                        {
                             property->mnIndex = -1;
+                            pShapeWritingMode = 0;
+                        }
                     }
                 }
                 break;
+            case CTF_CONTROLWRITINGMODE:
+                pControlWritingMode = property;
+                break;
+            case CTF_TEXTWRITINGMODE:
+                pTextWritingMode = property;
+                break;
             case CTF_REPEAT_OFFSET_X:
                 pRepeatOffsetX = property;
                 break;
@@ -1353,6 +1367,19 @@ void XMLShapeExportPropertyMapper::ContextFilter(
         }
     }
 
+    // check for duplicate writing mode
+    if( pShapeWritingMode && (pTextWritingMode || pControlWritingMode) )
+    {
+        if( pTextWritingMode )
+            pTextWritingMode->mnIndex = -1;
+        if( pControlWritingMode )
+            pControlWritingMode->mnIndex = -1;                       
+    }
+    else if( pTextWritingMode && pControlWritingMode )
+    {
+        pControlWritingMode->mnIndex = -1;
+    }
+
     // do not export visual area for internal ole objects
     if( pOLEIsInternal )
     {
diff --git a/xmloff/source/draw/sdpropls.hxx b/xmloff/source/draw/sdpropls.hxx
index 9664f4b..569340c 100644
--- a/xmloff/source/draw/sdpropls.hxx
+++ b/xmloff/source/draw/sdpropls.hxx
@@ -142,7 +142,7 @@ extern const XMLPropertyMapEntry aXMLSDPresPageProps_onlyHeadersFooter[];
 //////////////////////////////////////////////////////////////////////////////
 
 #define CTF_NUMBERINGRULES			1000
-//#define CTF_NUMBERINGRULES_NAME		1001
+#define CTF_CONTROLWRITINGMODE      1001
 #define CTF_WRITINGMODE				1002
 #define CTF_REPEAT_OFFSET_X			1003
 #define CTF_REPEAT_OFFSET_Y			1004
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index 2c0a307..b39d29e 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -1213,7 +1213,8 @@ const rtl::Reference< XMLTableExport >& XMLShapeExport::GetShapeTableExport()
     if( !mxShapeTableExport.is() )
     {
         rtl::Reference< XMLPropertyHandlerFactory > xFactory( new XMLSdPropHdlFactory( mrExport.GetModel(), mrExport ) );
-        rtl::Reference< XMLPropertySetMapper > xPropertySetMapper( new XMLShapePropertySetMapper( xFactory.get() ) );
+        UniReference < XMLPropertySetMapper > xMapper( new XMLShapePropertySetMapper( xFactory.get() ) );
+        rtl::Reference< SvXMLExportPropertyMapper > xPropertySetMapper( new XMLShapeExportPropertyMapper( xMapper, (XMLTextListAutoStylePool*)&mrExport.GetTextParagraphExport()->GetListAutoStylePool(), mrExport ) );
         mxShapeTableExport = new XMLTableExport( mrExport, xPropertySetMapper, xFactory );
     }
 
diff --git a/xmloff/source/table/XMLTableExport.cxx b/xmloff/source/table/XMLTableExport.cxx
index e7d0915..7c8d3c5 100644
--- a/xmloff/source/table/XMLTableExport.cxx
+++ b/xmloff/source/table/XMLTableExport.cxx
@@ -150,7 +150,7 @@ sal_Int32 StringStatisticHelper::getModeString( OUString& rStyleName )
 // class XMLTableExport
 // --------------------------------------------------------------------
 
-XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< XMLPropertySetMapper >& xCellPropertySetMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef )
+XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< SvXMLExportPropertyMapper  >& xExportPropertyMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef )
 : mrExport( rExp )
 , mbExportTables( false )
 {
@@ -174,7 +174,7 @@ XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< XMLPrope
         (void)e;
     }
 
-    mxCellExportPropertySetMapper = new SvXMLExportPropertyMapper( xCellPropertySetMapper.get() );
+    mxCellExportPropertySetMapper = xExportPropertyMapper;
     mxCellExportPropertySetMapper->ChainExportMapper(XMLTextParagraphExport::CreateParaExtPropMapper(rExp));
 
     mxRowExportPropertySetMapper = new SvXMLExportPropertyMapper( new XMLPropertySetMapper( getRowPropertiesMap(), xFactoryRef.get() ) );
diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx
index 1a7b363..e68469f 100644
--- a/xmloff/source/text/txtprmap.cxx
+++ b/xmloff/source/text/txtprmap.cxx
@@ -372,7 +372,7 @@ XMLPropertyMapEntry aXMLParaPropMap[] =
     // RES_PARATR_SNAPTOGRID
     MP_E( "SnapToGrid", STYLE, SNAP_TO_LAYOUT_GRID, XML_TYPE_BOOL, 0 ),
 
-    MP_ED( "WritingMode",      STYLE, WRITING_MODE,       XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ),
+    MP_ED( "WritingMode",      STYLE, WRITING_MODE,       XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, CTF_TEXTWRITINGMODE ),
 
     MP_E( "ParaIsConnectBorder", STYLE, JOIN_BORDER,  XML_TYPE_BOOL, 0 ),
 


More information about the ooo-build-commit mailing list