Added: openoffice/trunk/main/xmloff/inc/xmlsdtypes.hxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/inc/xmlsdtypes.hxx?rev=1599233&view=auto ============================================================================== --- openoffice/trunk/main/xmloff/inc/xmlsdtypes.hxx (added) +++ openoffice/trunk/main/xmloff/inc/xmlsdtypes.hxx Mon Jun 2 15:00:50 2014 @@ -0,0 +1,208 @@ +/************************************************************** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + *************************************************************/ + +#ifndef _XMLSDTYPES_HXX +#define _XMLSDTYPES_HXX + +//#include <xmloff/xmlnume.hxx> +//#include <xmloff/maptype.hxx> +#include <xmloff/xmltypes.hxx> +//#include <xmloff/xmlement.hxx> +//#include <xmloff/prhdlfac.hxx> +//#include <xmloff/xmlprmap.hxx> +//#include "xmloff/XMLTextListAutoStylePool.hxx" +//#include <xmloff/xmlexppr.hxx> + +////////////////////////////////////////////////////////////////////////////// +// types of own properties + +#define XML_SD_TYPE_STROKE (XML_SD_TYPES_START + 0) +#define XML_SD_TYPE_PRESPAGE_TYPE (XML_SD_TYPES_START + 1) +#define XML_SD_TYPE_PRESPAGE_STYLE (XML_SD_TYPES_START + 2) +#define XML_SD_TYPE_PRESPAGE_SPEED (XML_SD_TYPES_START + 3) +#define XML_SD_TYPE_PRESPAGE_DURATION (XML_SD_TYPES_START + 4) +#define XML_SD_TYPE_PRESPAGE_VISIBILITY (XML_SD_TYPES_START + 5) +#define XML_SD_TYPE_MARKER (XML_SD_TYPES_START + 6 ) +#define XML_SD_TYPE_OPACITY (XML_SD_TYPES_START + 7 ) +#define XML_SD_TYPE_LINEJOIN (XML_SD_TYPES_START + 8 ) +#define XML_SD_TYPE_FILLSTYLE (XML_SD_TYPES_START + 9 ) +#define XML_SD_TYPE_GRADIENT (XML_SD_TYPES_START + 10 ) +#define XML_SD_TYPE_GRADIENT_STEPCOUNT (XML_SD_TYPES_START + 11 ) +#define XML_SD_TYPE_SHADOW (XML_SD_TYPES_START + 12 ) +#define XML_SD_TYPE_TEXT_CROSSEDOUT (XML_SD_TYPES_START + 13 ) +#define XML_SD_TYPE_NUMBULLET (XML_SD_TYPES_START + 14 ) +#define XML_SD_TYPE_WRITINGMODE (XML_SD_TYPES_START + 15 ) +#define XML_SD_TYPE_BITMAP_MODE (XML_SD_TYPES_START + 16 ) +#define XML_SD_TYPE_BITMAPREPOFFSETX (XML_SD_TYPES_START + 17 ) +#define XML_SD_TYPE_BITMAPREPOFFSETY (XML_SD_TYPES_START + 18 ) +#define XML_SD_TYPE_FILLBITMAPSIZE (XML_SD_TYPES_START + 19 ) +#define XML_SD_TYPE_LOGICAL_SIZE (XML_SD_TYPES_START + 20 ) +#define XML_SD_TYPE_BITMAP_REFPOINT (XML_SD_TYPES_START + 21 ) +#define XML_SD_TYPE_PRESPAGE_BACKSIZE (XML_SD_TYPES_START + 22 ) +#define XML_TYPE_TEXT_ANIMATION_BLINKING (XML_SD_TYPES_START + 23 ) +#define XML_TYPE_TEXT_ANIMATION_STEPS (XML_SD_TYPES_START + 24 ) +#define XML_SD_TYPE_TEXT_ALIGN (XML_SD_TYPES_START + 25 ) +#define XML_SD_TYPE_VERTICAL_ALIGN (XML_SD_TYPES_START + 26 ) +#define XML_SD_TYPE_FITTOSIZE (XML_SD_TYPES_START + 27 ) +#define XML_SD_TYPE_MEASURE_HALIGN (XML_SD_TYPES_START + 28 ) +#define XML_SD_TYPE_MEASURE_VALIGN (XML_SD_TYPES_START + 29 ) +#define XML_SD_TYPE_MEASURE_UNIT (XML_SD_TYPES_START + 30 ) +#define XML_SD_TYPE_MEASURE_PLACING (XML_SD_TYPES_START + 31 ) +#define XML_SD_TYPE_CONTROL_BORDER (XML_SD_TYPES_START + 32 ) +#define XML_SD_TYPE_CONTROL_BORDER_COLOR (XML_SD_TYPES_START + 33 ) +#define XML_SD_TYPE_IMAGE_SCALE_MODE (XML_SD_TYPES_START + 34 ) +#define XML_SD_TYPE_LINECAP (XML_SD_TYPES_START + 35 ) + +////////////////////////////////////////////////////////////////////////////// +// 3D property types +#define XML_SD_TYPE_BACKFACE_CULLING (XML_SD_TYPES_START + 40 ) +#define XML_SD_TYPE_NORMALS_KIND (XML_SD_TYPES_START + 41 ) +#define XML_SD_TYPE_NORMALS_DIRECTION (XML_SD_TYPES_START + 42 ) +#define XML_SD_TYPE_TEX_GENERATION_MODE_X (XML_SD_TYPES_START + 43 ) +#define XML_SD_TYPE_TEX_GENERATION_MODE_Y (XML_SD_TYPES_START + 44 ) +#define XML_SD_TYPE_TEX_KIND (XML_SD_TYPES_START + 45 ) +#define XML_SD_TYPE_TEX_MODE (XML_SD_TYPES_START + 46 ) + +////////////////////////////////////////////////////////////////////////////// +// #FontWork# types +#define XML_SD_TYPE_FONTWORK_STYLE (XML_SD_TYPES_START + 47 ) +#define XML_SD_TYPE_FONTWORK_ADJUST (XML_SD_TYPES_START + 48 ) +#define XML_SD_TYPE_FONTWORK_SHADOW (XML_SD_TYPES_START + 49 ) +#define XML_SD_TYPE_FONTWORK_FORM (XML_SD_TYPES_START + 50 ) + +////////////////////////////////////////////////////////////////////////////// +// Caption types +#define XML_SD_TYPE_CAPTION_ANGLE_TYPE (XML_SD_TYPES_START + 60 ) +#define XML_SD_TYPE_CAPTION_IS_ESC_REL (XML_SD_TYPES_START + 61 ) +#define XML_SD_TYPE_CAPTION_ESC_REL (XML_SD_TYPES_START + 62 ) +#define XML_SD_TYPE_CAPTION_ESC_ABS (XML_SD_TYPES_START + 63 ) +#define XML_SD_TYPE_CAPTION_ESC_DIR (XML_SD_TYPES_START + 64 ) +#define XML_SD_TYPE_CAPTION_TYPE (XML_SD_TYPES_START + 65 ) + +////////////////////////////////////////////////////////////////////////////// +// header & footer types +#define XML_SD_TYPE_DATETIMEUPDATE (XML_SD_TYPES_START + 70 ) +#define XML_SD_TYPE_DATETIME_FORMAT (XML_SD_TYPES_START + 71 ) + +////////////////////////////////////////////////////////////////////////////// +// new types for merged style:protect attribute +#define XML_SD_TYPE_MOVE_PROTECT (XML_SD_TYPES_START + 72 ) +#define XML_SD_TYPE_SIZE_PROTECT (XML_SD_TYPES_START + 73 ) + +////////////////////////////////////////////////////////////////////////////// +// new type for style:mirror attribute +#define XML_TYPE_SD_MIRROR (XML_SD_TYPES_START + 74 ) + +////////////////////////////////////////////////////////////////////////////// +// new smil transition types for pages +#define XML_SD_TYPE_TRANSITION_TYPE (XML_SD_TYPES_START + 75 ) +#define XML_SD_TYPE_TRANSTIION_SUBTYPE (XML_SD_TYPES_START + 76 ) +#define XML_SD_TYPE_TRANSTIION_DIRECTION (XML_SD_TYPES_START + 77 ) +#define XML_SD_TYPE_HEADER_FOOTER_VISIBILITY_TYPE (XML_SD_TYPES_START + 78 ) + +////////////////////////////////////////////////////////////////////////////// + +#define CTF_NUMBERINGRULES 1000 +#define CTF_CONTROLWRITINGMODE 1001 +#define CTF_WRITINGMODE 1002 +#define CTF_REPEAT_OFFSET_X 1003 +#define CTF_REPEAT_OFFSET_Y 1004 +#define CTF_PAGE_SOUND_URL 1005 +#define CTF_PAGE_VISIBLE 1006 +#define CTF_PAGE_TRANS_TYPE 1007 +#define CTF_PAGE_TRANS_STYLE 1008 +#define CTF_PAGE_TRANS_SPEED 1009 +#define CTF_PAGE_TRANS_DURATION 1010 +#define CTF_PAGE_BACKSIZE 1011 +#define CTF_DASHNAME 1012 +#define CTF_LINESTARTNAME 1013 +#define CTF_LINEENDNAME 1014 +#define CTF_FILLGRADIENTNAME 1015 +#define CTF_FILLHATCHNAME 1016 +#define CTF_FILLBITMAPNAME 1017 +#define CTF_FILLTRANSNAME 1018 +#define CTF_TEXTANIMATION_BLINKING 1019 +#define CTF_TEXTANIMATION_KIND 1020 + +#define CTF_PAGE_TRANSITION_TYPE 1021 +#define CTF_PAGE_TRANSITION_SUBTYPE 1022 +#define CTF_PAGE_TRANSITION_DIRECTION 1023 +#define CTF_PAGE_TRANSITION_FADECOLOR 1024 + +////////////////////////////////////////////////////////////////////////////// +// #FontWork# +#define CTF_FONTWORK_STYLE 1021 +#define CTF_FONTWORK_ADJUST 1022 +#define CTF_FONTWORK_DISTANCE 1023 +#define CTF_FONTWORK_START 1024 +#define CTF_FONTWORK_MIRROR 1025 +#define CTF_FONTWORK_OUTLINE 1026 +#define CTF_FONTWORK_SHADOW 1027 +#define CTF_FONTWORK_SHADOWCOLOR 1028 +#define CTF_FONTWORK_SHADOWOFFSETX 1029 +#define CTF_FONTWORK_SHADOWOFFSETY 1030 +#define CTF_FONTWORK_FORM 1031 +#define CTF_FONTWORK_HIDEFORM 1032 +#define CTF_FONTWORK_SHADOWTRANSPARENCE 1033 + +////////////////////////////////////////////////////////////////////////////// +// OLE part 1 +#define CTF_SD_OLE_VIS_AREA_IMPORT_LEFT 1040 +#define CTF_SD_OLE_VIS_AREA_IMPORT_TOP 1041 +#define CTF_SD_OLE_VIS_AREA_IMPORT_WIDTH 1042 +#define CTF_SD_OLE_VIS_AREA_IMPORT_HEIGHT 1043 +#define CTF_SD_OLE_ISINTERNAL 1044 + +#define CTF_SD_MOVE_PROTECT 1045 +#define CTF_SD_SIZE_PROTECT 1046 + +////////////////////////////////////////////////////////////////////////////// +// caption +#define CTF_CAPTION_ISESCREL 1047 +#define CTF_CAPTION_ESCREL 1048 +#define CTF_CAPTION_ESCABS 1049 + +////////////////////////////////////////////////////////////////////////////// +// header&footer +#define CTF_HEADER_VISIBLE 1050 +#define CTF_FOOTER_VISIBLE 1051 +#define CTF_PAGE_NUMBER_VISIBLE 1052 +#define CTF_DATE_TIME_VISIBLE 1053 +#define CTF_HEADER_TEXT 1054 +#define CTF_FOOTER_TEXT 1055 +#define CTF_DATE_TIME_TEXT 1056 +#define CTF_DATE_TIME_FORMAT 1057 +#define CTF_DATE_TIME_UPDATE 1058 + +////////////////////////////////////////////////////////////////////////////// +// OLE part 2 +#define CTF_SD_OLE_ASPECT 1059 +#define CTF_SD_OLE_VIS_AREA_EXPORT_LEFT 1060 +#define CTF_SD_OLE_VIS_AREA_EXPORT_TOP 1061 +#define CTF_SD_OLE_VIS_AREA_EXPORT_WIDTH 1062 +#define CTF_SD_OLE_VIS_AREA_EXPORT_HEIGHT 1063 + +////////////////////////////////////////////////////////////////////////////// + +#endif // _XMLSDTYPES_HXX + +////////////////////////////////////////////////////////////////////////////// +// eof
Propchange: openoffice/trunk/main/xmloff/inc/xmlsdtypes.hxx ------------------------------------------------------------------------------ svn:executable = * Modified: openoffice/trunk/main/xmloff/source/draw/XMLShapeStyleContext.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/draw/XMLShapeStyleContext.cxx?rev=1599233&r1=1599232&r2=1599233&view=diff ============================================================================== --- openoffice/trunk/main/xmloff/source/draw/XMLShapeStyleContext.cxx (original) +++ openoffice/trunk/main/xmloff/source/draw/XMLShapeStyleContext.cxx Mon Jun 2 15:00:50 2014 @@ -66,7 +66,7 @@ XMLShapeStyleContext::XMLShapeStyleConte sal_uInt16 nFamily) : XMLPropStyleContext(rImport, nPrfx, rLName, xAttrList, rStyles, nFamily ), m_bIsNumRuleAlreadyConverted( sal_False ), - m_bIsFillStyleAlreadyConverted( sal_False ) //UUUU + m_bIsFillStyleAlreadyConverted(false) //UUUU { } @@ -198,80 +198,18 @@ void XMLShapeStyleContext::FillPropertyS } } + //UUUU need to filter out old fill definitions when the new ones are used. The new + // ones are used when a FillStyle is defined if(!m_bIsFillStyleAlreadyConverted && GetProperties().size()) { - const UniReference< XMLPropertySetMapper >&rMapper = GetStyles()->GetImportPropertyMapper(GetFamily())->getPropertySetMapper(); - ::std::vector< XMLPropertyState >& rProperties = GetProperties(); - ::std::vector< XMLPropertyState >::iterator a; - FillStyle eFS(FillStyle_NONE); static ::rtl::OUString s_FillStyle(RTL_CONSTASCII_USTRINGPARAM("FillStyle")); - // try to find a FillStyle entry and a value from it - for(a = rProperties.begin(); a != rProperties.end(); a++) + if(doNewDrawingLayerFillStyleDefinitionsExist(s_FillStyle)) { - if(a->mnIndex != -1) - { - const OUString& rPropName = rMapper->GetEntryAPIName(a->mnIndex); - - if(rPropName == s_FillStyle) - { - if(a->maValue >>= eFS) - { - // okay, type was good, eFS is set - } - else - { - // also try an int (see XFillStyleItem::PutValue) - sal_Int32 nFS = 0; - - if(a->maValue >>= nFS) - { - eFS = (FillStyle)nFS; - } - } - - // exit loop, we found out what we needed to know - break; - } - } + deactivateOldFillStyleDefinitions(getStandardSet()); } - if(FillStyle_NONE != eFS) - { - //UUUU a FillStyle was found, thus the new [XATTR_FILL_FIRST .. XATTR_FILL_LAST] - // description for the Fill definitions is used. All formally used props based - // on RES_BACKGROUND need to be deleted to get no conflicts between the two - // sets of properties; old files will keep these and adapt accordingly - static ::rtl::OUString s_BackColorRGB(RTL_CONSTASCII_USTRINGPARAM("BackColorRGB")); - static ::rtl::OUString s_BackTransparent(RTL_CONSTASCII_USTRINGPARAM("BackTransparent")); - static ::rtl::OUString s_BackColorTransparency(RTL_CONSTASCII_USTRINGPARAM("BackColorTransparency")); - static ::rtl::OUString s_BackGraphicURL(RTL_CONSTASCII_USTRINGPARAM("BackGraphicURL")); - static ::rtl::OUString s_BackGraphicFilter(RTL_CONSTASCII_USTRINGPARAM("BackGraphicFilter")); - static ::rtl::OUString s_BackGraphicLocation(RTL_CONSTASCII_USTRINGPARAM("BackGraphicLocation")); - static ::rtl::OUString s_BackGraphicTransparency(RTL_CONSTASCII_USTRINGPARAM("BackGraphicTransparency")); - - for(a = rProperties.begin(); a != rProperties.end(); a++) - { - if(a->mnIndex != -1) - { - const OUString& rPropName = rMapper->GetEntryAPIName(a->mnIndex); - - if(s_BackColorRGB == rPropName - || s_BackTransparent == rPropName - || s_BackColorTransparency == rPropName - || s_BackGraphicURL == rPropName - || s_BackGraphicFilter == rPropName - || s_BackGraphicLocation == rPropName - || s_BackGraphicTransparency== rPropName) - { - // mark entry as inactive - a->mnIndex = -1; - } - } - } - } - - m_bIsFillStyleAlreadyConverted = sal_True; + m_bIsFillStyleAlreadyConverted = true; } struct _ContextID_Index_Pair aContextIDs[] = Modified: openoffice/trunk/main/xmloff/source/draw/sdpropls.hxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/draw/sdpropls.hxx?rev=1599233&r1=1599232&r2=1599233&view=diff ============================================================================== --- openoffice/trunk/main/xmloff/source/draw/sdpropls.hxx (original) +++ openoffice/trunk/main/xmloff/source/draw/sdpropls.hxx Mon Jun 2 15:00:50 2014 @@ -19,8 +19,6 @@ * *************************************************************/ - - #ifndef _SDPROPLS_HXX #define _SDPROPLS_HXX @@ -33,6 +31,7 @@ #include <xmloff/xmlprmap.hxx> #include "xmloff/XMLTextListAutoStylePool.hxx" #include <xmloff/xmlexppr.hxx> +#include <xmlsdtypes.hxx> ////////////////////////////////////////////////////////////////////////////// // entry list for graphic properties @@ -46,176 +45,6 @@ extern const XMLPropertyMapEntry aXMLSDP extern const XMLPropertyMapEntry aXMLSDPresPageProps_onlyHeadersFooter[]; ////////////////////////////////////////////////////////////////////////////// -// types of own properties - -#define XML_SD_TYPE_STROKE (XML_SD_TYPES_START + 0) -#define XML_SD_TYPE_PRESPAGE_TYPE (XML_SD_TYPES_START + 1) -#define XML_SD_TYPE_PRESPAGE_STYLE (XML_SD_TYPES_START + 2) -#define XML_SD_TYPE_PRESPAGE_SPEED (XML_SD_TYPES_START + 3) -#define XML_SD_TYPE_PRESPAGE_DURATION (XML_SD_TYPES_START + 4) -#define XML_SD_TYPE_PRESPAGE_VISIBILITY (XML_SD_TYPES_START + 5) -#define XML_SD_TYPE_MARKER (XML_SD_TYPES_START + 6 ) -#define XML_SD_TYPE_OPACITY (XML_SD_TYPES_START + 7 ) -#define XML_SD_TYPE_LINEJOIN (XML_SD_TYPES_START + 8 ) -#define XML_SD_TYPE_FILLSTYLE (XML_SD_TYPES_START + 9 ) -#define XML_SD_TYPE_GRADIENT (XML_SD_TYPES_START + 10 ) -#define XML_SD_TYPE_GRADIENT_STEPCOUNT (XML_SD_TYPES_START + 11 ) -#define XML_SD_TYPE_SHADOW (XML_SD_TYPES_START + 12 ) -#define XML_SD_TYPE_TEXT_CROSSEDOUT (XML_SD_TYPES_START + 13 ) -#define XML_SD_TYPE_NUMBULLET (XML_SD_TYPES_START + 14 ) -#define XML_SD_TYPE_WRITINGMODE (XML_SD_TYPES_START + 15 ) -#define XML_SD_TYPE_BITMAP_MODE (XML_SD_TYPES_START + 16 ) -#define XML_SD_TYPE_BITMAPREPOFFSETX (XML_SD_TYPES_START + 17 ) -#define XML_SD_TYPE_BITMAPREPOFFSETY (XML_SD_TYPES_START + 18 ) -#define XML_SD_TYPE_FILLBITMAPSIZE (XML_SD_TYPES_START + 19 ) -#define XML_SD_TYPE_LOGICAL_SIZE (XML_SD_TYPES_START + 20 ) -#define XML_SD_TYPE_BITMAP_REFPOINT (XML_SD_TYPES_START + 21 ) -#define XML_SD_TYPE_PRESPAGE_BACKSIZE (XML_SD_TYPES_START + 22 ) -#define XML_TYPE_TEXT_ANIMATION_BLINKING (XML_SD_TYPES_START + 23 ) -#define XML_TYPE_TEXT_ANIMATION_STEPS (XML_SD_TYPES_START + 24 ) -#define XML_SD_TYPE_TEXT_ALIGN (XML_SD_TYPES_START + 25 ) -#define XML_SD_TYPE_VERTICAL_ALIGN (XML_SD_TYPES_START + 26 ) -#define XML_SD_TYPE_FITTOSIZE (XML_SD_TYPES_START + 27 ) -#define XML_SD_TYPE_MEASURE_HALIGN (XML_SD_TYPES_START + 28 ) -#define XML_SD_TYPE_MEASURE_VALIGN (XML_SD_TYPES_START + 29 ) -#define XML_SD_TYPE_MEASURE_UNIT (XML_SD_TYPES_START + 30 ) -#define XML_SD_TYPE_MEASURE_PLACING (XML_SD_TYPES_START + 31 ) -#define XML_SD_TYPE_CONTROL_BORDER (XML_SD_TYPES_START + 32 ) -#define XML_SD_TYPE_CONTROL_BORDER_COLOR (XML_SD_TYPES_START + 33 ) -#define XML_SD_TYPE_IMAGE_SCALE_MODE (XML_SD_TYPES_START + 34 ) -#define XML_SD_TYPE_LINECAP (XML_SD_TYPES_START + 35 ) - -// 3D property types -#define XML_SD_TYPE_BACKFACE_CULLING (XML_SD_TYPES_START + 40 ) -#define XML_SD_TYPE_NORMALS_KIND (XML_SD_TYPES_START + 41 ) -#define XML_SD_TYPE_NORMALS_DIRECTION (XML_SD_TYPES_START + 42 ) -#define XML_SD_TYPE_TEX_GENERATION_MODE_X (XML_SD_TYPES_START + 43 ) -#define XML_SD_TYPE_TEX_GENERATION_MODE_Y (XML_SD_TYPES_START + 44 ) -#define XML_SD_TYPE_TEX_KIND (XML_SD_TYPES_START + 45 ) -#define XML_SD_TYPE_TEX_MODE (XML_SD_TYPES_START + 46 ) - -////////////////////////////////////////////////////////////////////////////// -// #FontWork# types -#define XML_SD_TYPE_FONTWORK_STYLE (XML_SD_TYPES_START + 47 ) -#define XML_SD_TYPE_FONTWORK_ADJUST (XML_SD_TYPES_START + 48 ) -#define XML_SD_TYPE_FONTWORK_SHADOW (XML_SD_TYPES_START + 49 ) -#define XML_SD_TYPE_FONTWORK_FORM (XML_SD_TYPES_START + 50 ) - -////////////////////////////////////////////////////////////////////////////// -// Caption types -#define XML_SD_TYPE_CAPTION_ANGLE_TYPE (XML_SD_TYPES_START + 60 ) -#define XML_SD_TYPE_CAPTION_IS_ESC_REL (XML_SD_TYPES_START + 61 ) -#define XML_SD_TYPE_CAPTION_ESC_REL (XML_SD_TYPES_START + 62 ) -#define XML_SD_TYPE_CAPTION_ESC_ABS (XML_SD_TYPES_START + 63 ) -#define XML_SD_TYPE_CAPTION_ESC_DIR (XML_SD_TYPES_START + 64 ) -#define XML_SD_TYPE_CAPTION_TYPE (XML_SD_TYPES_START + 65 ) - -////////////////////////////////////////////////////////////////////////////// -// header & footer types -#define XML_SD_TYPE_DATETIMEUPDATE (XML_SD_TYPES_START + 70 ) -#define XML_SD_TYPE_DATETIME_FORMAT (XML_SD_TYPES_START + 71 ) - -////////////////////////////////////////////////////////////////////////////// - -// new types for merged style:protect attribute -#define XML_SD_TYPE_MOVE_PROTECT (XML_SD_TYPES_START + 72 ) -#define XML_SD_TYPE_SIZE_PROTECT (XML_SD_TYPES_START + 73 ) - -// new type for style:mirror attribute -#define XML_TYPE_SD_MIRROR (XML_SD_TYPES_START + 74 ) - -////////////////////////////////////////////////////////////////////////////// - -// new smil transition types for pages -#define XML_SD_TYPE_TRANSITION_TYPE (XML_SD_TYPES_START + 75 ) -#define XML_SD_TYPE_TRANSTIION_SUBTYPE (XML_SD_TYPES_START + 76 ) -#define XML_SD_TYPE_TRANSTIION_DIRECTION (XML_SD_TYPES_START + 77 ) - -#define XML_SD_TYPE_HEADER_FOOTER_VISIBILITY_TYPE (XML_SD_TYPES_START + 78 ) - -////////////////////////////////////////////////////////////////////////////// - -#define CTF_NUMBERINGRULES 1000 -#define CTF_CONTROLWRITINGMODE 1001 -#define CTF_WRITINGMODE 1002 -#define CTF_REPEAT_OFFSET_X 1003 -#define CTF_REPEAT_OFFSET_Y 1004 -#define CTF_PAGE_SOUND_URL 1005 -#define CTF_PAGE_VISIBLE 1006 -#define CTF_PAGE_TRANS_TYPE 1007 -#define CTF_PAGE_TRANS_STYLE 1008 -#define CTF_PAGE_TRANS_SPEED 1009 -#define CTF_PAGE_TRANS_DURATION 1010 -#define CTF_PAGE_BACKSIZE 1011 -#define CTF_DASHNAME 1012 -#define CTF_LINESTARTNAME 1013 -#define CTF_LINEENDNAME 1014 -#define CTF_FILLGRADIENTNAME 1015 -#define CTF_FILLHATCHNAME 1016 -#define CTF_FILLBITMAPNAME 1017 -#define CTF_FILLTRANSNAME 1018 -#define CTF_TEXTANIMATION_BLINKING 1019 -#define CTF_TEXTANIMATION_KIND 1020 - -#define CTF_PAGE_TRANSITION_TYPE 1021 -#define CTF_PAGE_TRANSITION_SUBTYPE 1022 -#define CTF_PAGE_TRANSITION_DIRECTION 1023 -#define CTF_PAGE_TRANSITION_FADECOLOR 1024 - -////////////////////////////////////////////////////////////////////////////// -// #FontWork# -#define CTF_FONTWORK_STYLE 1021 -#define CTF_FONTWORK_ADJUST 1022 -#define CTF_FONTWORK_DISTANCE 1023 -#define CTF_FONTWORK_START 1024 -#define CTF_FONTWORK_MIRROR 1025 -#define CTF_FONTWORK_OUTLINE 1026 -#define CTF_FONTWORK_SHADOW 1027 -#define CTF_FONTWORK_SHADOWCOLOR 1028 -#define CTF_FONTWORK_SHADOWOFFSETX 1029 -#define CTF_FONTWORK_SHADOWOFFSETY 1030 -#define CTF_FONTWORK_FORM 1031 -#define CTF_FONTWORK_HIDEFORM 1032 -#define CTF_FONTWORK_SHADOWTRANSPARENCE 1033 - -////////////////////////////////////////////////////////////////////////////// -// OLE part 1 -#define CTF_SD_OLE_VIS_AREA_IMPORT_LEFT 1040 -#define CTF_SD_OLE_VIS_AREA_IMPORT_TOP 1041 -#define CTF_SD_OLE_VIS_AREA_IMPORT_WIDTH 1042 -#define CTF_SD_OLE_VIS_AREA_IMPORT_HEIGHT 1043 -#define CTF_SD_OLE_ISINTERNAL 1044 - -#define CTF_SD_MOVE_PROTECT 1045 -#define CTF_SD_SIZE_PROTECT 1046 - -////////////////////////////////////////////////////////////////////////////// -// caption -#define CTF_CAPTION_ISESCREL 1047 -#define CTF_CAPTION_ESCREL 1048 -#define CTF_CAPTION_ESCABS 1049 - -////////////////////////////////////////////////////////////////////////////// -// header&footer -#define CTF_HEADER_VISIBLE 1050 -#define CTF_FOOTER_VISIBLE 1051 -#define CTF_PAGE_NUMBER_VISIBLE 1052 -#define CTF_DATE_TIME_VISIBLE 1053 -#define CTF_HEADER_TEXT 1054 -#define CTF_FOOTER_TEXT 1055 -#define CTF_DATE_TIME_TEXT 1056 -#define CTF_DATE_TIME_FORMAT 1057 -#define CTF_DATE_TIME_UPDATE 1058 - -////////////////////////////////////////////////////////////////////////////// -// OLE part 2 -#define CTF_SD_OLE_ASPECT 1059 -#define CTF_SD_OLE_VIS_AREA_EXPORT_LEFT 1060 -#define CTF_SD_OLE_VIS_AREA_EXPORT_TOP 1061 -#define CTF_SD_OLE_VIS_AREA_EXPORT_WIDTH 1062 -#define CTF_SD_OLE_VIS_AREA_EXPORT_HEIGHT 1063 - -////////////////////////////////////////////////////////////////////////////// // enum maps for attributes extern SvXMLEnumMapEntry aXML_ConnectionKind_EnumMap[]; Modified: openoffice/trunk/main/xmloff/source/style/PageMasterExportPropMapper.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/style/PageMasterExportPropMapper.cxx?rev=1599233&r1=1599232&r2=1599233&view=diff ============================================================================== --- openoffice/trunk/main/xmloff/source/style/PageMasterExportPropMapper.cxx (original) +++ openoffice/trunk/main/xmloff/source/style/PageMasterExportPropMapper.cxx Mon Jun 2 15:00:50 2014 @@ -19,10 +19,9 @@ * *************************************************************/ - - // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_xmloff.hxx" + #include "PageMasterExportPropMapper.hxx" #include <xmloff/xmltoken.hxx> #include <comphelper/types.hxx> @@ -32,13 +31,15 @@ #include <rtl/ustrbuf.hxx> #include <comphelper/extract.hxx> +//UUUU +#include <xmloff/txtprmap.hxx> + using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::beans; using namespace ::comphelper; using namespace ::xmloff::token; - //______________________________________________________________________________ inline sal_Bool lcl_HasSameLineWidth( const table::BorderLine& rLine1, const table::BorderLine& rLine2 ) @@ -339,6 +340,14 @@ void XMLPageMasterExportPropMapper::Cont XMLPropertyState* pPrint = NULL; + //UUUU + XMLPropertyState* pRepeatOffsetX = NULL; + XMLPropertyState* pRepeatOffsetY = NULL; + XMLPropertyState* pHeaderRepeatOffsetX = NULL; + XMLPropertyState* pHeaderRepeatOffsetY = NULL; + XMLPropertyState* pFooterRepeatOffsetX = NULL; + XMLPropertyState* pFooterRepeatOffsetY = NULL; + UniReference < XMLPropertySetMapper > aPropMapper(getPropertySetMapper()); for( ::std::vector< XMLPropertyState >::iterator aIter = rPropState.begin(); aIter != rPropState.end(); ++aIter ) @@ -396,13 +405,118 @@ void XMLPageMasterExportPropMapper::Cont case CTF_PM_STANDARD_MODE: pPMStandardMode = pProp; break; case CTP_PM_GRID_BASE_WIDTH: pPMGridBaseWidth = pProp; break; case CTP_PM_GRID_SNAP_TO_CHARS: pPMGridSnapToChars = pProp; break; - } + + //UUUU + case CTF_PM_REPEAT_OFFSET_X: + pRepeatOffsetX = pProp; + break; + + //UUUU + case CTF_PM_REPEAT_OFFSET_Y: + pRepeatOffsetY = pProp; + break; + + //UUUU + case CTF_PM_HEADERREPEAT_OFFSET_X: + pHeaderRepeatOffsetX = pProp; + break; + + //UUUU + case CTF_PM_HEADERREPEAT_OFFSET_Y: + pHeaderRepeatOffsetY = pProp; + break; + + //UUUU + case CTF_PM_FOOTERREPEAT_OFFSET_X: + pFooterRepeatOffsetX = pProp; + break; + + //UUUU + case CTF_PM_FOOTERREPEAT_OFFSET_Y: + pFooterRepeatOffsetY = pProp; + break; + + //UUUU Sort out empty entries + case CTF_PM_FILLGRADIENTNAME: + case CTF_PM_FILLHATCHNAME: + case CTF_PM_FILLBITMAPNAME: + case CTF_PM_FILLTRANSNAME: + + case CTF_PM_HEADERFILLGRADIENTNAME: + case CTF_PM_HEADERFILLHATCHNAME: + case CTF_PM_HEADERFILLBITMAPNAME: + case CTF_PM_HEADERFILLTRANSNAME: + + case CTF_PM_FOOTERFILLGRADIENTNAME: + case CTF_PM_FOOTERFILLHATCHNAME: + case CTF_PM_FOOTERFILLBITMAPNAME: + case CTF_PM_FOOTERFILLTRANSNAME: + { + rtl::OUString aStr; + + if( (pProp->maValue >>= aStr) && 0 == aStr.getLength() ) + { + pProp->mnIndex = -1; + } + + break; + } + } + if (nPrintId == CTF_PM_PRINTMASK) { pPrint = pProp; lcl_RemoveState(pPrint); } - } + } + + //UUUU These entries need to be reduced to a single one for XML export. + // Both would be exported as 'draw:tile-repeat-offset' following a percent + // value and a 'vertical' or 'horizontal' tag as mark. If both would be active + // and both would be exported this would create an XML error (same property twice) + if(pRepeatOffsetX && pRepeatOffsetY) + { + sal_Int32 nOffset(0); + + if((pRepeatOffsetX->maValue >>= nOffset) && (!nOffset)) + { + pRepeatOffsetX->mnIndex = -1; + } + else + { + pRepeatOffsetY->mnIndex = -1; + } + } + + //UUUU Same as above for Header + if(pHeaderRepeatOffsetX && pHeaderRepeatOffsetY) + { + sal_Int32 nOffset(0); + + if((pHeaderRepeatOffsetX->maValue >>= nOffset) && (!nOffset)) + { + pHeaderRepeatOffsetX->mnIndex = -1; + } + else + { + pHeaderRepeatOffsetY->mnIndex = -1; + } + } + + //UUUU Same as above for Footer + if(pFooterRepeatOffsetX && pFooterRepeatOffsetY) + { + sal_Int32 nOffset(0); + + if((pFooterRepeatOffsetX->maValue >>= nOffset) && (!nOffset)) + { + pFooterRepeatOffsetX->mnIndex = -1; + } + else + { + pFooterRepeatOffsetY->mnIndex = -1; + } + } if( pPMStandardMode && !getBOOL(pPMStandardMode->maValue) ) { Modified: openoffice/trunk/main/xmloff/source/style/PageMasterImportContext.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/style/PageMasterImportContext.cxx?rev=1599233&r1=1599232&r2=1599233&view=diff ============================================================================== --- openoffice/trunk/main/xmloff/source/style/PageMasterImportContext.cxx (original) +++ openoffice/trunk/main/xmloff/source/style/PageMasterImportContext.cxx Mon Jun 2 15:00:50 2014 @@ -19,34 +19,33 @@ * *************************************************************/ - - // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_xmloff.hxx" - #include "PageMasterImportContext.hxx" #include "xmloff/xmlnmspe.hxx" #include <xmloff/xmltoken.hxx> #include "PageMasterPropHdl.hxx" #include "PagePropertySetContext.hxx" -#ifndef _XMLOFF_PAGEPHEADERFOOTERCONTEXT_HXX #include "PageHeaderFooterContext.hxx" -#endif -#ifndef _XMLOFF_PAGEMASTERPROPMAPPER_HXX #include "PageMasterPropMapper.hxx" -#endif #include "PageMasterImportPropMapper.hxx" -#ifndef _XMLOFF_PAGEMASTERSTYLEMAP_HXX #include <xmloff/PageMasterStyleMap.hxx> -#endif #include <com/sun/star/lang/XMultiServiceFactory.hpp> +//UUUU +#include <xmlsdtypes.hxx> +#include <com/sun/star/beans/XPropertySetInfo.hpp> +#include <xmloff/xmlerror.hxx> + using namespace ::com::sun::star; using namespace ::xmloff::token; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; +//UUUU +using namespace ::com::sun::star::beans; + void PageStyleContext::SetAttribute( sal_uInt16 nPrefixKey, const rtl::OUString& rLocalName, const rtl::OUString& rValue ) @@ -70,7 +69,8 @@ PageStyleContext::PageStyleContext( SvXM SvXMLStylesContext& rStyles, sal_Bool bDefaultStyle) : XMLPropStyleContext( rImport, nPrfx, rLName, xAttrList, rStyles, XML_STYLE_FAMILY_PAGE_MASTER, bDefaultStyle), - sPageUsage() + sPageUsage(), + m_bIsFillStyleAlreadyConverted(false) //UUUU { } @@ -167,10 +167,148 @@ SvXMLImportContext *PageStyleContext::Cr return pContext; } -void PageStyleContext::FillPropertySet( - const uno::Reference<beans::XPropertySet > & rPropSet ) +void PageStyleContext::FillPropertySet(const uno::Reference<beans::XPropertySet > & rPropSet) { - XMLPropStyleContext::FillPropertySet(rPropSet); + //UUUU need to filter out old fill definitions when the new ones are used. The new + // ones are used when a FillStyle is defined + if(!m_bIsFillStyleAlreadyConverted && GetProperties().size()) + { + static ::rtl::OUString s_FillStyle(RTL_CONSTASCII_USTRINGPARAM("FillStyle")); + static ::rtl::OUString s_HeaderFillStyle(RTL_CONSTASCII_USTRINGPARAM("HeaderFillStyle")); + static ::rtl::OUString s_FooterFillStyle(RTL_CONSTASCII_USTRINGPARAM("FooterFillStyle")); + + if(doNewDrawingLayerFillStyleDefinitionsExist(s_FillStyle)) + { + deactivateOldFillStyleDefinitions(getStandardSet()); + } + + if(doNewDrawingLayerFillStyleDefinitionsExist(s_HeaderFillStyle)) + { + deactivateOldFillStyleDefinitions(getHeaderSet()); + } + + if(doNewDrawingLayerFillStyleDefinitionsExist(s_FooterFillStyle)) + { + deactivateOldFillStyleDefinitions(getFooterSet()); + } + + m_bIsFillStyleAlreadyConverted = true; + } + + //UUUU do not use XMLPropStyleContext::FillPropertySet, we need to handle this ourselves since + // we have properties which use the MID_FLAG_NO_PROPERTY_IMPORT flag since they need some special + // handling + UniReference < SvXMLImportPropertyMapper > xImpPrMap = GetStyles()->GetImportPropertyMapper(GetFamily()); + + if(xImpPrMap.is()) + { + // properties that need special handling because they need the used name to be translated first + struct _ContextID_Index_Pair aContextIDs[] = + { + { CTF_PM_FILLGRADIENTNAME, -1 }, + { CTF_PM_FILLTRANSNAME, -1 }, + { CTF_PM_FILLHATCHNAME, -1 }, + { CTF_PM_FILLBITMAPNAME, -1 }, + + // also need to special handling for header entries + { CTF_PM_HEADERFILLGRADIENTNAME, -1 }, + { CTF_PM_HEADERFILLTRANSNAME, -1 }, + { CTF_PM_HEADERFILLHATCHNAME, -1 }, + { CTF_PM_HEADERFILLBITMAPNAME, -1 }, + + // also need to special handling for footer entries + { CTF_PM_FOOTERFILLGRADIENTNAME, -1 }, + { CTF_PM_FOOTERFILLTRANSNAME, -1 }, + { CTF_PM_FOOTERFILLHATCHNAME, -1 }, + { CTF_PM_FOOTERFILLBITMAPNAME, -1 }, + + {-1, -1} + }; + + // the style families associated with the same index modulo 4 + static sal_uInt16 aFamilies[] = + { + XML_STYLE_FAMILY_SD_GRADIENT_ID, + XML_STYLE_FAMILY_SD_GRADIENT_ID, + XML_STYLE_FAMILY_SD_HATCH_ID, + XML_STYLE_FAMILY_SD_FILL_IMAGE_ID + }; + + //UUUU Fill PropertySet, but let it handle special properties not itself + xImpPrMap->FillPropertySet(GetProperties(), rPropSet, aContextIDs); + + // get property set mapper + const UniReference< XMLPropertySetMapper >& rMapper = xImpPrMap->getPropertySetMapper(); + Reference< XPropertySetInfo > xInfo; + + //UUUU handle special attributes which have MID_FLAG_NO_PROPERTY_IMPORT set + for(sal_uInt16 i = 0; aContextIDs[i].nContextID != -1; i++) + { + sal_Int32 nIndex = aContextIDs[i].nIndex; + + if(nIndex != -1) + { + switch(aContextIDs[i].nContextID) + { + case CTF_PM_FILLGRADIENTNAME: + case CTF_PM_FILLTRANSNAME: + case CTF_PM_FILLHATCHNAME: + case CTF_PM_FILLBITMAPNAME: + + case CTF_PM_HEADERFILLGRADIENTNAME: + case CTF_PM_HEADERFILLTRANSNAME: + case CTF_PM_HEADERFILLHATCHNAME: + case CTF_PM_HEADERFILLBITMAPNAME: + + case CTF_PM_FOOTERFILLGRADIENTNAME: + case CTF_PM_FOOTERFILLTRANSNAME: + case CTF_PM_FOOTERFILLHATCHNAME: + case CTF_PM_FOOTERFILLBITMAPNAME: + { + struct XMLPropertyState& rState = GetProperties()[nIndex]; + rtl::OUString sStyleName; + rState.maValue >>= sStyleName; + + //UUUU translate the used name from ODF intern to the name used in the Model + sStyleName = GetImport().GetStyleDisplayName(aFamilies[i%4], sStyleName); + + try + { + // set property + const rtl::OUString& rPropertyName = rMapper->GetEntryAPIName(rState.mnIndex); + + if(!xInfo.is()) + { + xInfo = rPropSet->getPropertySetInfo(); + } + + if(xInfo->hasPropertyByName(rPropertyName)) + { + rPropSet->setPropertyValue(rPropertyName,Any(sStyleName)); + } + } + catch(::com::sun::star::lang::IllegalArgumentException& e) + { + Sequence< rtl::OUString > aSeq(1); + aSeq[0] = sStyleName; + GetImport().SetError( + XMLERROR_STYLE_PROP_VALUE | XMLERROR_FLAG_WARNING, + aSeq,e.Message,NULL); + } + break; + } + } + } + } + } + else + { + OSL_ENSURE(xImpPrMap.is(), "Got no SvXMLImportPropertyMapper (!)"); + } + + //UUUU old code, replaced by above stuff + // XMLPropStyleContext::FillPropertySet(rPropSet); + if (sPageUsage.getLength()) { uno::Any aPageUsage; @@ -195,3 +333,4 @@ void PageStyleContext::SetDefaults( ) } } +//eof Modified: openoffice/trunk/main/xmloff/source/style/PageMasterPropHdlFactory.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/xmloff/source/style/PageMasterPropHdlFactory.cxx?rev=1599233&r1=1599232&r2=1599233&view=diff ============================================================================== --- openoffice/trunk/main/xmloff/source/style/PageMasterPropHdlFactory.cxx (original) +++ openoffice/trunk/main/xmloff/source/style/PageMasterPropHdlFactory.cxx Mon Jun 2 15:00:50 2014 @@ -19,32 +19,41 @@ * *************************************************************/ - - // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_xmloff.hxx" + #include "PageMasterPropHdlFactory.hxx" #include <xmloff/xmltypes.hxx> #include <xmloff/xmltoken.hxx> #include "xmlbahdl.hxx" #include <xmloff/NamedBoolPropertyHdl.hxx> -#ifndef _XMLOFF_XMLTEXTCOLUMNSPPROPERTYHANDLER_HXX #include "XMLTextColumnsPropertyHandler.hxx" -#endif #include <xmloff/XMLConstantsPropertyHandler.hxx> #include "PageMasterPropHdl.hxx" -#ifndef _XMLOFF_PAGEMASTERSTYLEMAP_HXX #include <xmloff/PageMasterStyleMap.hxx> -#endif #include <com/sun/star/text/TextGridMode.hpp> +//UUUU +#include <xmloff/EnumPropertyHdl.hxx> +#include <com/sun/star/drawing/FillStyle.hpp> +#include "XMLFillBitmapSizePropertyHandler.hxx" +#include "XMLBitmapLogicalSizePropertyHandler.hxx" +#include <com/sun/star/drawing/RectanglePoint.hpp> +#include <com/sun/star/drawing/BitmapMode.hpp> +#include "XMLBitmapRepeatOffsetPropertyHandler.hxx" using ::rtl::OUString; using ::rtl::OUStringBuffer; using namespace ::xmloff::token; using namespace ::com::sun::star; +//UUUU +using namespace ::com::sun::star::drawing; +//UUUU +extern SvXMLEnumMapEntry aXML_FillStyle_EnumMap[]; +extern SvXMLEnumMapEntry aXML_RefPoint_EnumMap[]; +extern SvXMLEnumMapEntry aXML_BitmapMode_EnumMap[]; SvXMLEnumMapEntry aXML_TextGridMode_ConstantMap[] = { @@ -135,6 +144,34 @@ const XMLPropertyHandler* XMLPageMasterP pHdl = new XMLConstantsPropertyHandler( aXML_TextGridMode_ConstantMap, XML_NONE ); break; + + //UUUU + case XML_SW_TYPE_FILLSTYLE: + pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap, ::getCppuType((const FillStyle*)0) ); + break; + case XML_SW_TYPE_FILLBITMAPSIZE: + pHdl = new XMLFillBitmapSizePropertyHandler(); + break; + case XML_SW_TYPE_LOGICAL_SIZE: + pHdl = new XMLBitmapLogicalSizePropertyHandler(); + break; + case XML_SW_TYPE_BITMAP_REFPOINT: + pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap, getCppuType((const RectanglePoint*)0) ); + break; + case XML_SW_TYPE_BITMAP_MODE: + pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap, getCppuType((const BitmapMode*)0) ); + break; + case XML_SW_TYPE_BITMAPREPOFFSETX: + case XML_SW_TYPE_BITMAPREPOFFSETY: + pHdl = new XMLBitmapRepeatOffsetPropertyHandler(XML_SW_TYPE_BITMAPREPOFFSETX == nType); + break; + + //UUUU + default: + { + OSL_ENSURE(false, "XMLPropertyHandler missing (!)"); + break; + } } if( pHdl )