summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-03-09 09:04:15 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-03-13 09:02:22 +0000
commit7e9857c2935bb2533806db4e71c6cd1e171c3478 (patch)
treed9f8a6d4f94e19f349b67141359cc7c49130b5fc /xmloff
parent7c0e3d0b37131b12262d0f610505b3384923c4a1 (diff)
templatize SvXMLEnumMapEntry
in preparation for "scoped UNO enums". This is a little hacky: In order to limit the scope of this change, the templated SvXMLEnumMapEntry struct actually has a fixed size field, and we cast it to SvXMLEnumMapEntry<sal_uInt16>* in various places, to avoid carrying the type param around. Change-Id: Idfbc5561303c557598dd5564b7a7259ae5261d83 Reviewed-on: https://gerrit.libreoffice.org/34987 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx2
-rw-r--r--xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx2
-rw-r--r--xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx2
-rw-r--r--xmloff/inc/XMLRectangleMembersHandler.hxx2
-rw-r--r--xmloff/inc/anim.hxx6
-rw-r--r--xmloff/inc/animations.hxx34
-rw-r--r--xmloff/inc/enummaps.hxx11
-rw-r--r--xmloff/source/chart/PropertyMap.hxx34
-rw-r--r--xmloff/source/chart/PropertyMaps.cxx33
-rw-r--r--xmloff/source/chart/SchXMLAxisContext.cxx10
-rw-r--r--xmloff/source/chart/SchXMLEnumConverter.cxx16
-rw-r--r--xmloff/source/chart/SchXMLTools.cxx10
-rw-r--r--xmloff/source/chart/XMLErrorBarStylePropertyHdl.cxx4
-rw-r--r--xmloff/source/chart/XMLErrorBarStylePropertyHdl.hxx2
-rw-r--r--xmloff/source/core/xmluconv.cxx32
-rw-r--r--xmloff/source/draw/animationexport.cxx76
-rw-r--r--xmloff/source/draw/animationimport.cxx34
-rw-r--r--xmloff/source/draw/animexp.cxx2
-rw-r--r--xmloff/source/draw/animimp.cxx24
-rw-r--r--xmloff/source/draw/eventimp.cxx20
-rw-r--r--xmloff/source/draw/sdpropls.cxx191
-rw-r--r--xmloff/source/draw/sdpropls.hxx6
-rw-r--r--xmloff/source/draw/shapeexport.cxx4
-rw-r--r--xmloff/source/draw/ximpcustomshape.cxx10
-rw-r--r--xmloff/source/draw/ximpshap.cxx28
-rw-r--r--xmloff/source/draw/ximpshap.hxx15
-rw-r--r--xmloff/source/forms/controlpropertyhdl.cxx6
-rw-r--r--xmloff/source/forms/elementexport.cxx4
-rw-r--r--xmloff/source/forms/formattributes.cxx4
-rw-r--r--xmloff/source/forms/formattributes.hxx19
-rw-r--r--xmloff/source/forms/formenums.cxx302
-rw-r--r--xmloff/source/forms/formenums.hxx43
-rw-r--r--xmloff/source/forms/propertyexport.cxx8
-rw-r--r--xmloff/source/forms/propertyexport.hxx19
-rw-r--r--xmloff/source/forms/propertyimport.cxx2
-rw-r--r--xmloff/source/forms/propertyimport.hxx13
-rw-r--r--xmloff/source/style/DashStyle.cxx10
-rw-r--r--xmloff/source/style/EnumPropertyHdl.cxx3
-rw-r--r--xmloff/source/style/GradientStyle.cxx12
-rw-r--r--xmloff/source/style/HatchStyle.cxx12
-rw-r--r--xmloff/source/style/PageMasterPropHdlFactory.cxx8
-rw-r--r--xmloff/source/style/TransGradientStyle.cxx10
-rw-r--r--xmloff/source/style/XMLBackgroundImageContext.cxx38
-rw-r--r--xmloff/source/style/XMLConstantsPropertyHandler.cxx8
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorExport.cxx8
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorImport.cxx20
-rw-r--r--xmloff/source/style/adjushdl.cxx16
-rw-r--r--xmloff/source/style/backhdl.cxx22
-rw-r--r--xmloff/source/style/bordrhdl.cxx4
-rw-r--r--xmloff/source/style/breakhdl.cxx2
-rw-r--r--xmloff/source/style/cdouthdl.cxx54
-rw-r--r--xmloff/source/style/csmaphdl.cxx2
-rw-r--r--xmloff/source/style/fonthdl.cxx14
-rw-r--r--xmloff/source/style/postuhdl.cxx8
-rw-r--r--xmloff/source/style/prhdlfac.cxx19
-rw-r--r--xmloff/source/style/undlihdl.cxx82
-rw-r--r--xmloff/source/style/xmlnumfi.cxx24
-rw-r--r--xmloff/source/style/xmltabe.cxx4
-rw-r--r--xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx10
-rw-r--r--xmloff/source/text/XMLIndexBibliographyEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexBibliographyEntryContext.hxx4
-rw-r--r--xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTOCContext.cxx11
-rw-r--r--xmloff/source/text/XMLIndexTableSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTemplateContext.cxx18
-rw-r--r--xmloff/source/text/XMLIndexTemplateContext.hxx30
-rw-r--r--xmloff/source/text/XMLLineNumberingExport.cxx4
-rw-r--r--xmloff/source/text/XMLLineNumberingImportContext.cxx10
-rw-r--r--xmloff/source/text/XMLSectionExport.cxx29
-rw-r--r--xmloff/source/text/XMLTextColumnsContext.cxx32
-rw-r--r--xmloff/source/text/XMLTextMarkImportContext.cxx26
-rw-r--r--xmloff/source/text/txtflde.cxx20
-rw-r--r--xmloff/source/text/txtfldi.cxx34
-rw-r--r--xmloff/source/text/txtprhdl.cxx94
-rw-r--r--xmloff/source/text/txtstyli.cxx2
-rw-r--r--xmloff/source/text/txtvfldi.cxx10
76 files changed, 835 insertions, 915 deletions
diff --git a/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx b/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx
index ced08e4cab80..6550c42ea25c 100644
--- a/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx
+++ b/xmloff/inc/XMLBitmapLogicalSizePropertyHandler.hxx
@@ -22,7 +22,7 @@
#include <xmloff/xmlprhdl.hxx>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
/** Abstract base-class for different XML-types. Derivations of this class
diff --git a/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx b/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx
index 393cd4761825..c7739a5c7206 100644
--- a/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx
+++ b/xmloff/inc/XMLBitmapRepeatOffsetPropertyHandler.hxx
@@ -22,7 +22,7 @@
#include <xmloff/xmlprhdl.hxx>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
/** Abstract base-class for different XML-types. Derivations of this class
knows how to compare, im/export a special XML-type
diff --git a/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx b/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx
index 8fc21596b272..276faced29d0 100644
--- a/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx
+++ b/xmloff/inc/XMLFillBitmapSizePropertyHandler.hxx
@@ -22,7 +22,7 @@
#include <xmloff/xmlprhdl.hxx>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
/** Abstract base-class for different XML-types. Derivations of this class
diff --git a/xmloff/inc/XMLRectangleMembersHandler.hxx b/xmloff/inc/XMLRectangleMembersHandler.hxx
index 965aa3c2939f..db6209e1a984 100644
--- a/xmloff/inc/XMLRectangleMembersHandler.hxx
+++ b/xmloff/inc/XMLRectangleMembersHandler.hxx
@@ -22,7 +22,7 @@
#include <xmloff/xmlprhdl.hxx>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
/** Abstract base-class for different XML-types. Derivations of this class
diff --git a/xmloff/inc/anim.hxx b/xmloff/inc/anim.hxx
index 809273f0a87d..6a91237e5e36 100644
--- a/xmloff/inc/anim.hxx
+++ b/xmloff/inc/anim.hxx
@@ -45,7 +45,7 @@ enum XMLEffect
EK_stretch
};
-extern const SvXMLEnumMapEntry aXML_AnimationEffect_EnumMap[];
+extern const SvXMLEnumMapEntry<XMLEffect> aXML_AnimationEffect_EnumMap[];
enum XMLEffectDirection
{
@@ -84,9 +84,9 @@ enum XMLEffectDirection
ED_cclockwise
};
-extern const SvXMLEnumMapEntry aXML_AnimationDirection_EnumMap[];
+extern const SvXMLEnumMapEntry<XMLEffectDirection> aXML_AnimationDirection_EnumMap[];
-extern const SvXMLEnumMapEntry aXML_AnimationSpeed_EnumMap[];
+extern const SvXMLEnumMapEntry<css::presentation::AnimationSpeed> aXML_AnimationSpeed_EnumMap[];
void SdXMLImplSetEffect( css::presentation::AnimationEffect eEffect, XMLEffect& eKind, XMLEffectDirection& eDirection, sal_Int16& nStartScale, bool& bIn );
css::presentation::AnimationEffect ImplSdXMLgetEffect( XMLEffect eKind, XMLEffectDirection eDirection, sal_Int16 nStartScale, bool bIn );
diff --git a/xmloff/inc/animations.hxx b/xmloff/inc/animations.hxx
index 417a213e03b7..e00e6948aed1 100644
--- a/xmloff/inc/animations.hxx
+++ b/xmloff/inc/animations.hxx
@@ -22,26 +22,26 @@
#include <xmloff/xmltoken.hxx>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
namespace xmloff
{
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_Fill[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_FillDefault[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_Restart[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_RestartDefault[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_Endsync[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_CalcMode[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_AdditiveMode[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_TransformType[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_TransitionType[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_TransitionSubType[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_EventTrigger[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_EffectPresetClass[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_EffectNodeType[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_SubItem[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_IterateType[];
-extern const SvXMLEnumMapEntry aAnimations_EnumMap_Command[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Fill[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_FillDefault[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Restart[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_RestartDefault[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Endsync[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_CalcMode[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_AdditiveMode[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_TransformType[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_TransitionType[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_TransitionSubType[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_EventTrigger[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_EffectPresetClass[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_EffectNodeType[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_SubItem[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_IterateType[];
+extern const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Command[];
struct ImplAttributeNameConversion
{
diff --git a/xmloff/inc/enummaps.hxx b/xmloff/inc/enummaps.hxx
index 5f543eda2355..525620b72239 100644
--- a/xmloff/inc/enummaps.hxx
+++ b/xmloff/inc/enummaps.hxx
@@ -11,12 +11,15 @@
#define INCLUDED_XMLOFF_INC_ENUMMAPS_HXX
#include <sal/config.h>
+#include <com/sun/star/drawing/BitmapMode.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
+#include <com/sun/star/drawing/RectanglePoint.hpp>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
-extern SvXMLEnumMapEntry const aXML_FillStyle_EnumMap[];
-extern SvXMLEnumMapEntry const aXML_RefPoint_EnumMap[];
-extern SvXMLEnumMapEntry const aXML_BitmapMode_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::FillStyle> const aXML_FillStyle_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::RectanglePoint> const aXML_RefPoint_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::BitmapMode> const aXML_BitmapMode_EnumMap[];
#endif
diff --git a/xmloff/source/chart/PropertyMap.hxx b/xmloff/source/chart/PropertyMap.hxx
index fc919ea30e36..8c5158e9f138 100644
--- a/xmloff/source/chart/PropertyMap.hxx
+++ b/xmloff/source/chart/PropertyMap.hxx
@@ -260,7 +260,7 @@ const XMLPropertyMapEntry aXMLChartPropMap[] =
// maps for enums to XML attributes
-const SvXMLEnumMapEntry aXMLChartAxisLabelPositionEnumMap[] =
+const SvXMLEnumMapEntry<css::chart::ChartAxisLabelPosition> aXMLChartAxisLabelPositionEnumMap[] =
{
{ ::xmloff::token::XML_NEAR_AXIS, css::chart::ChartAxisLabelPosition_NEAR_AXIS },
{ ::xmloff::token::XML_NEAR_AXIS_OTHER_SIDE, css::chart::ChartAxisLabelPosition_NEAR_AXIS_OTHER_SIDE },
@@ -268,26 +268,26 @@ const SvXMLEnumMapEntry aXMLChartAxisLabelPositionEnumMap[] =
{ ::xmloff::token::XML_OUTSIDE_END, css::chart::ChartAxisLabelPosition_OUTSIDE_END },
{ ::xmloff::token::XML_OUTSIDE_MINIMUM, css::chart::ChartAxisLabelPosition_OUTSIDE_START },//#i114142#
{ ::xmloff::token::XML_OUTSIDE_MAXIMUM, css::chart::ChartAxisLabelPosition_OUTSIDE_END },//#i114142#
- { ::xmloff::token::XML_TOKEN_INVALID, 0 }
+ { ::xmloff::token::XML_TOKEN_INVALID, (css::chart::ChartAxisLabelPosition)0 }
};
-const SvXMLEnumMapEntry aXMLChartAxisMarkPositionEnumMap[] =
+const SvXMLEnumMapEntry<css::chart::ChartAxisMarkPosition> aXMLChartAxisMarkPositionEnumMap[] =
{
{ ::xmloff::token::XML_AT_LABELS, css::chart::ChartAxisMarkPosition_AT_LABELS },
{ ::xmloff::token::XML_AT_AXIS, css::chart::ChartAxisMarkPosition_AT_AXIS },
{ ::xmloff::token::XML_AT_LABELS_AND_AXIS, css::chart::ChartAxisMarkPosition_AT_LABELS_AND_AXIS },
- { ::xmloff::token::XML_TOKEN_INVALID, 0 }
+ { ::xmloff::token::XML_TOKEN_INVALID, (css::chart::ChartAxisMarkPosition)0 }
};
-const SvXMLEnumMapEntry aXMLChartAxisArrangementEnumMap[] =
+const SvXMLEnumMapEntry<css::chart::ChartAxisArrangeOrderType> aXMLChartAxisArrangementEnumMap[] =
{
- { ::xmloff::token::XML_SIDE_BY_SIDE, css::chart::ChartAxisArrangeOrderType_SIDE_BY_SIDE },
- { ::xmloff::token::XML_STAGGER_EVEN, css::chart::ChartAxisArrangeOrderType_STAGGER_EVEN },
- { ::xmloff::token::XML_STAGGER_ODD, css::chart::ChartAxisArrangeOrderType_STAGGER_ODD },
- { ::xmloff::token::XML_TOKEN_INVALID, 0 }
+ { ::xmloff::token::XML_SIDE_BY_SIDE, css::chart::ChartAxisArrangeOrderType_SIDE_BY_SIDE },
+ { ::xmloff::token::XML_STAGGER_EVEN, css::chart::ChartAxisArrangeOrderType_STAGGER_EVEN },
+ { ::xmloff::token::XML_STAGGER_ODD, css::chart::ChartAxisArrangeOrderType_STAGGER_ODD },
+ { ::xmloff::token::XML_TOKEN_INVALID, (css::chart::ChartAxisArrangeOrderType)0 }
};
-const SvXMLEnumMapEntry aXMLChartErrorBarStyleEnumMap[] =
+const SvXMLEnumMapEntry<sal_Int32> aXMLChartErrorBarStyleEnumMap[] =
{
{ ::xmloff::token::XML_NONE, css::chart::ErrorBarStyle::NONE },
{ ::xmloff::token::XML_VARIANCE, css::chart::ErrorBarStyle::VARIANCE },
@@ -300,23 +300,23 @@ const SvXMLEnumMapEntry aXMLChartErrorBarStyleEnumMap[] =
{ ::xmloff::token::XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aXMLChartSolidTypeEnumMap[] =
+const SvXMLEnumMapEntry<sal_Int32> aXMLChartSolidTypeEnumMap[] =
{
{ ::xmloff::token::XML_CUBOID, css::chart::ChartSolidType::RECTANGULAR_SOLID },
{ ::xmloff::token::XML_CYLINDER, css::chart::ChartSolidType::CYLINDER },
- { ::xmloff::token::XML_CONE, css::chart::ChartSolidType::CONE },
+ { ::xmloff::token::XML_CONE, css::chart::ChartSolidType::CONE },
{ ::xmloff::token::XML_PYRAMID, css::chart::ChartSolidType::PYRAMID },
{ ::xmloff::token::XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aXMLChartDataRowSourceTypeEnumMap[] =
+const SvXMLEnumMapEntry<css::chart::ChartDataRowSource> aXMLChartDataRowSourceTypeEnumMap[] =
{
{ ::xmloff::token::XML_COLUMNS, css::chart::ChartDataRowSource_COLUMNS },
{ ::xmloff::token::XML_ROWS, css::chart::ChartDataRowSource_ROWS },
- { ::xmloff::token::XML_TOKEN_INVALID, 0 }
+ { ::xmloff::token::XML_TOKEN_INVALID, (css::chart::ChartDataRowSource)0 }
};
-const SvXMLEnumMapEntry aXMLChartInterpolationTypeEnumMap[] =
+const SvXMLEnumMapEntry<sal_Int32> aXMLChartInterpolationTypeEnumMap[] =
{
// this is neither an enum nor a constants group, but just a
// documented long property
@@ -336,7 +336,7 @@ const SvXMLEnumMapEntry aXMLChartInterpolationTypeEnumMap[] =
{ ::xmloff::token::XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aXMLChartDataLabelPlacementEnumMap[] =
+const SvXMLEnumMapEntry<sal_Int32> aXMLChartDataLabelPlacementEnumMap[] =
{
{ ::xmloff::token::XML_AVOID_OVERLAP, css::chart::DataLabelPlacement::AVOID_OVERLAP },
{ ::xmloff::token::XML_CENTER, css::chart::DataLabelPlacement::CENTER },
@@ -354,7 +354,7 @@ const SvXMLEnumMapEntry aXMLChartDataLabelPlacementEnumMap[] =
{ ::xmloff::token::XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aXMLChartMissingValueTreatmentEnumMap[] =
+const SvXMLEnumMapEntry<sal_Int32> aXMLChartMissingValueTreatmentEnumMap[] =
{
{ ::xmloff::token::XML_LEAVE_GAP, css::chart::MissingValueTreatment::LEAVE_GAP },
{ ::xmloff::token::XML_USE_ZERO, css::chart::MissingValueTreatment::USE_ZERO },
diff --git a/xmloff/source/chart/PropertyMaps.cxx b/xmloff/source/chart/PropertyMaps.cxx
index 9bb864bc986e..70127bed872c 100644
--- a/xmloff/source/chart/PropertyMaps.cxx
+++ b/xmloff/source/chart/PropertyMaps.cxx
@@ -69,12 +69,12 @@ using namespace ::xmloff::token;
namespace {
-SvXMLEnumMapEntry const aLineStyleMap[] =
+SvXMLEnumMapEntry<drawing::LineStyle> const aLineStyleMap[] =
{
{ XML_NONE, drawing::LineStyle_NONE },
{ XML_SOLID, drawing::LineStyle_SOLID },
{ XML_DASH, drawing::LineStyle_DASH },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::LineStyle)0 }
};
}
@@ -106,24 +106,20 @@ const XMLPropertyHandler* XMLChartPropHdlFactory::GetPropertyHandler( sal_Int32
break;
case XML_SCH_TYPE_AXIS_LABEL_POSITION:
- pHdl = new XMLEnumPropertyHdl( aXMLChartAxisLabelPositionEnumMap,
- cppu::UnoType<chart::ChartAxisLabelPosition>::get());
+ pHdl = new XMLEnumPropertyHdl( aXMLChartAxisLabelPositionEnumMap);
break;
case XML_SCH_TYPE_TICK_MARK_POSITION:
- pHdl = new XMLEnumPropertyHdl( aXMLChartAxisMarkPositionEnumMap,
- cppu::UnoType<chart::ChartAxisMarkPosition>::get());
+ pHdl = new XMLEnumPropertyHdl( aXMLChartAxisMarkPositionEnumMap);
break;
case XML_SCH_TYPE_AXIS_ARRANGEMENT:
- pHdl = new XMLEnumPropertyHdl( aXMLChartAxisArrangementEnumMap,
- cppu::UnoType<chart::ChartAxisArrangeOrderType>::get());
+ pHdl = new XMLEnumPropertyHdl( aXMLChartAxisArrangementEnumMap);
break;
case XML_SCH_TYPE_ERROR_BAR_STYLE:
// here we have a constant rather than an enum
- pHdl = new XMLErrorBarStylePropertyHdl( aXMLChartErrorBarStyleEnumMap,
- ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLErrorBarStylePropertyHdl( aXMLChartErrorBarStyleEnumMap );
break;
case XML_SCH_TYPE_ERROR_INDICATOR_LOWER:
@@ -135,25 +131,21 @@ const XMLPropertyHandler* XMLChartPropHdlFactory::GetPropertyHandler( sal_Int32
case XML_SCH_TYPE_SOLID_TYPE:
// here we have a constant rather than an enum
- pHdl = new XMLEnumPropertyHdl( aXMLChartSolidTypeEnumMap,
- ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXMLChartSolidTypeEnumMap );
break;
case XML_SCH_TYPE_LABEL_PLACEMENT_TYPE:
// here we have a constant rather than an enum
- pHdl = new XMLEnumPropertyHdl( aXMLChartDataLabelPlacementEnumMap,
- ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXMLChartDataLabelPlacementEnumMap );
break;
case XML_SCH_TYPE_DATAROWSOURCE:
- pHdl = new XMLEnumPropertyHdl( aXMLChartDataRowSourceTypeEnumMap,
- cppu::UnoType<chart::ChartDataRowSource>::get());
+ pHdl = new XMLEnumPropertyHdl( aXMLChartDataRowSourceTypeEnumMap);
break;
case XML_SCH_TYPE_TEXT_ORIENTATION:
pHdl = new XMLTextOrientationHdl;
break;
case XML_SCH_TYPE_INTERPOLATION:
- pHdl = new XMLEnumPropertyHdl( aXMLChartInterpolationTypeEnumMap,
- ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXMLChartInterpolationTypeEnumMap );
break;
case XML_SCH_TYPE_SYMBOL_TYPE:
pHdl = new XMLSymbolTypePropertyHdl( false );
@@ -164,11 +156,10 @@ const XMLPropertyHandler* XMLChartPropHdlFactory::GetPropertyHandler( sal_Int32
break;
case XML_SCH_TYPE_MISSING_VALUE_TREATMENT:
- pHdl = new XMLEnumPropertyHdl( aXMLChartMissingValueTreatmentEnumMap,
- ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXMLChartMissingValueTreatmentEnumMap );
break;
case XML_SCH_TYPE_LABEL_BORDER_STYLE:
- pHdl = new XMLEnumPropertyHdl(aLineStyleMap, cppu::UnoType<drawing::LineStyle>::get());
+ pHdl = new XMLEnumPropertyHdl( aLineStyleMap );
break;
case XML_SCH_TYPE_LABEL_BORDER_OPACITY:
pHdl = new XMLOpacityPropertyHdl(nullptr);
diff --git a/xmloff/source/chart/SchXMLAxisContext.cxx b/xmloff/source/chart/SchXMLAxisContext.cxx
index 3c72187bc5a1..7a291d1e98eb 100644
--- a/xmloff/source/chart/SchXMLAxisContext.cxx
+++ b/xmloff/source/chart/SchXMLAxisContext.cxx
@@ -51,15 +51,15 @@ using namespace com::sun::star;
using com::sun::star::uno::Reference;
-static const SvXMLEnumMapEntry aXMLAxisDimensionMap[] =
+static const SvXMLEnumMapEntry<SchXMLAxisDimension> aXMLAxisDimensionMap[] =
{
{ XML_X, SCH_XML_AXIS_X },
{ XML_Y, SCH_XML_AXIS_Y },
{ XML_Z, SCH_XML_AXIS_Z },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (SchXMLAxisDimension)0 }
};
-static const SvXMLEnumMapEntry aXMLAxisTypeMap[] =
+static const SvXMLEnumMapEntry<sal_uInt16> aXMLAxisTypeMap[] =
{
{ XML_AUTO, css::chart::ChartAxisType::AUTOMATIC },
{ XML_TEXT, css::chart::ChartAxisType::CATEGORY },
@@ -271,9 +271,9 @@ void SchXMLAxisContext::StartElement( const Reference< xml::sax::XAttributeList
{
case XML_TOK_AXIS_DIMENSION:
{
- sal_uInt16 nEnumVal;
+ SchXMLAxisDimension nEnumVal;
if( SvXMLUnitConverter::convertEnum( nEnumVal, aValue, aXMLAxisDimensionMap ))
- m_aCurrentAxis.eDimension = ( SchXMLAxisDimension )nEnumVal;
+ m_aCurrentAxis.eDimension = nEnumVal;
}
break;
case XML_TOK_AXIS_NAME:
diff --git a/xmloff/source/chart/SchXMLEnumConverter.cxx b/xmloff/source/chart/SchXMLEnumConverter.cxx
index 1e661d3a44ca..fcaf78a0a386 100644
--- a/xmloff/source/chart/SchXMLEnumConverter.cxx
+++ b/xmloff/source/chart/SchXMLEnumConverter.cxx
@@ -17,11 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "SchXMLEnumConverter.hxx"
-
#include <com/sun/star/chart/ChartLegendPosition.hpp>
#include <com/sun/star/chart/ChartLegendExpansion.hpp>
-
+#include "SchXMLEnumConverter.hxx"
#include <rtl/instance.hxx>
using namespace ::xmloff::token;
@@ -30,40 +28,40 @@ using namespace ::com::sun::star;
namespace
{
-const SvXMLEnumMapEntry aXMLLegendPositionEnumMap[] =
+const SvXMLEnumMapEntry<chart::ChartLegendPosition> aXMLLegendPositionEnumMap[] =
{
{ XML_START, chart::ChartLegendPosition_LEFT },
{ XML_TOP, chart::ChartLegendPosition_TOP },
{ XML_END, chart::ChartLegendPosition_RIGHT },
{ XML_BOTTOM, chart::ChartLegendPosition_BOTTOM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (chart::ChartLegendPosition)0 }
};
class XMLLegendPositionPropertyHdl : public XMLEnumPropertyHdl
{
public:
XMLLegendPositionPropertyHdl()
- : XMLEnumPropertyHdl( aXMLLegendPositionEnumMap, cppu::UnoType<chart::ChartLegendPosition>::get()) {}
+ : XMLEnumPropertyHdl( aXMLLegendPositionEnumMap) {}
};
struct TheLegendPositionPropertyHdl : public rtl::Static< XMLLegendPositionPropertyHdl, TheLegendPositionPropertyHdl >
{
};
-const SvXMLEnumMapEntry aXMLLegendExpansionEnumMap[] =
+const SvXMLEnumMapEntry<chart::ChartLegendExpansion> aXMLLegendExpansionEnumMap[] =
{
{ XML_WIDE, chart::ChartLegendExpansion_WIDE },
{ XML_HIGH, chart::ChartLegendExpansion_HIGH },
{ XML_BALANCED, chart::ChartLegendExpansion_BALANCED },
{ XML_CUSTOM, chart::ChartLegendExpansion_CUSTOM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (chart::ChartLegendExpansion)0 }
};
class XMLLegendExpansionPropertyHdl : public XMLEnumPropertyHdl
{
public:
XMLLegendExpansionPropertyHdl()
- : XMLEnumPropertyHdl( aXMLLegendExpansionEnumMap, cppu::UnoType<chart::ChartLegendExpansion>::get()) {}
+ : XMLEnumPropertyHdl( aXMLLegendExpansionEnumMap) {}
};
struct TheLegendExpansionPropertyHdl : public rtl::Static< XMLLegendExpansionPropertyHdl, TheLegendExpansionPropertyHdl >
diff --git a/xmloff/source/chart/SchXMLTools.cxx b/xmloff/source/chart/SchXMLTools.cxx
index 34b1a3e6b3b5..31c1ac161b1a 100644
--- a/xmloff/source/chart/SchXMLTools.cxx
+++ b/xmloff/source/chart/SchXMLTools.cxx
@@ -126,7 +126,7 @@ Reference< chart2::data::XDataSequence > lcl_createNewSequenceFromCachedXMLRange
namespace SchXMLTools
{
-static const SvXMLEnumMapEntry aXMLChartClassMap[] =
+static const SvXMLEnumMapEntry<SchXMLChartTypeEnum> aXMLChartClassMap[] =
{
{ XML_LINE, XML_CHART_CLASS_LINE },
{ XML_AREA, XML_CHART_CLASS_AREA },
@@ -146,11 +146,9 @@ static const SvXMLEnumMapEntry aXMLChartClassMap[] =
SchXMLChartTypeEnum GetChartTypeEnum( const OUString& rClassName )
{
- sal_uInt16 nEnumVal = XML_CHART_CLASS_UNKNOWN;
- if( !SvXMLUnitConverter::convertEnum(
- nEnumVal, rClassName, aXMLChartClassMap ) )
- nEnumVal = XML_CHART_CLASS_UNKNOWN;
- return SchXMLChartTypeEnum(nEnumVal);
+ SchXMLChartTypeEnum nEnumVal = XML_CHART_CLASS_UNKNOWN;
+ SvXMLUnitConverter::convertEnum( nEnumVal, rClassName, aXMLChartClassMap );
+ return nEnumVal;
}
typedef std::map< OUString, OUString > tMakeStringStringMap;
diff --git a/xmloff/source/chart/XMLErrorBarStylePropertyHdl.cxx b/xmloff/source/chart/XMLErrorBarStylePropertyHdl.cxx
index 12abe339db8c..59fbc83c689a 100644
--- a/xmloff/source/chart/XMLErrorBarStylePropertyHdl.cxx
+++ b/xmloff/source/chart/XMLErrorBarStylePropertyHdl.cxx
@@ -25,8 +25,8 @@
using namespace com::sun::star;
-XMLErrorBarStylePropertyHdl::XMLErrorBarStylePropertyHdl( const SvXMLEnumMapEntry* pEnumMap, const css::uno::Type & rType )
- : XMLEnumPropertyHdl( pEnumMap, rType )
+XMLErrorBarStylePropertyHdl::XMLErrorBarStylePropertyHdl( const SvXMLEnumMapEntry<sal_Int32>* pEnumMap )
+ : XMLEnumPropertyHdl( pEnumMap )
{
}
diff --git a/xmloff/source/chart/XMLErrorBarStylePropertyHdl.hxx b/xmloff/source/chart/XMLErrorBarStylePropertyHdl.hxx
index b7c0c01ece7c..dfe6354c716f 100644
--- a/xmloff/source/chart/XMLErrorBarStylePropertyHdl.hxx
+++ b/xmloff/source/chart/XMLErrorBarStylePropertyHdl.hxx
@@ -24,7 +24,7 @@
class XMLErrorBarStylePropertyHdl : public XMLEnumPropertyHdl
{
public:
- XMLErrorBarStylePropertyHdl( const SvXMLEnumMapEntry* pEnumMap, const css::uno::Type & rType );
+ XMLErrorBarStylePropertyHdl( const SvXMLEnumMapEntry<sal_Int32>* pEnumMap );
virtual ~XMLErrorBarStylePropertyHdl() override;
virtual bool exportXML( OUString& rStrExpValue, const css::uno::Any& rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
diff --git a/xmloff/source/core/xmluconv.cxx b/xmloff/source/core/xmluconv.cxx
index fa34a3006f6b..78d576091e13 100644
--- a/xmloff/source/core/xmluconv.cxx
+++ b/xmloff/source/core/xmluconv.cxx
@@ -185,15 +185,15 @@ void SvXMLUnitConverter::convertMeasureToXML( OUStringBuffer& rString,
/** convert string to enum using given enum map, if the enum is
not found in the map, this method will return false
*/
-bool SvXMLUnitConverter::convertEnum( sal_uInt16& rEnum,
+bool SvXMLUnitConverter::convertEnumImpl( sal_uInt16& rEnum,
const OUString& rValue,
- const SvXMLEnumStringMapEntry *pMap )
+ const SvXMLEnumStringMapEntry<sal_uInt16> *pMap )
{
- while( pMap->pName )
+ while( pMap->GetName() )
{
- if( rValue.equalsAsciiL( pMap->pName, pMap->nNameLength ) )
+ if( rValue.equalsAsciiL( pMap->GetName(), pMap->GetNameLength() ) )
{
- rEnum = pMap->nValue;
+ rEnum = pMap->GetValue();
return true;
}
++pMap;
@@ -204,16 +204,16 @@ bool SvXMLUnitConverter::convertEnum( sal_uInt16& rEnum,
/** convert string to enum using given token map, if the enum is
not found in the map, this method will return false */
-bool SvXMLUnitConverter::convertEnum(
+bool SvXMLUnitConverter::convertEnumImpl(
sal_uInt16& rEnum,
const OUString& rValue,
- const SvXMLEnumMapEntry *pMap )
+ const SvXMLEnumMapEntry<sal_uInt16> *pMap )
{
- while( pMap->eToken != XML_TOKEN_INVALID )
+ while( pMap->GetToken() != XML_TOKEN_INVALID )
{
- if( IsXMLToken( rValue, pMap->eToken ) )
+ if( IsXMLToken( rValue, pMap->GetToken() ) )
{
- rEnum = pMap->nValue;
+ rEnum = pMap->GetValue();
return true;
}
++pMap;
@@ -225,19 +225,19 @@ bool SvXMLUnitConverter::convertEnum(
default token. If the enum is not found in the map,
this method will either use the given default or return
false if no default is set */
-bool SvXMLUnitConverter::convertEnum(
+bool SvXMLUnitConverter::convertEnumImpl(
OUStringBuffer& rBuffer,
- unsigned int nValue,
- const SvXMLEnumMapEntry *pMap,
+ sal_uInt16 nValue,
+ const SvXMLEnumMapEntry<sal_uInt16> *pMap,
enum XMLTokenEnum eDefault)
{
enum XMLTokenEnum eTok = eDefault;
- while( pMap->eToken != XML_TOKEN_INVALID )
+ while( pMap->GetToken() != XML_TOKEN_INVALID )
{
- if( pMap->nValue == nValue )
+ if( pMap->GetValue() == nValue )
{
- eTok = pMap->eToken;
+ eTok = pMap->GetToken();
break;
}
++pMap;
diff --git a/xmloff/source/draw/animationexport.cxx b/xmloff/source/draw/animationexport.cxx
index 11d474617744..db2720ffd8eb 100644
--- a/xmloff/source/draw/animationexport.cxx
+++ b/xmloff/source/draw/animationexport.cxx
@@ -96,7 +96,7 @@ using ::com::sun::star::container::XEnumeration;
namespace xmloff
{
-const SvXMLEnumMapEntry aAnimations_EnumMap_Fill[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Fill[] =
{
{ XML_DEFAULT, AnimationFill::DEFAULT },
{ XML_REMOVE, AnimationFill::REMOVE },
@@ -106,7 +106,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_Fill[] =
{ XML_AUTO, AnimationFill::AUTO },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_FillDefault[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_FillDefault[] =
{
{ XML_INHERIT, AnimationFill::INHERIT },
{ XML_REMOVE, AnimationFill::REMOVE },
@@ -116,7 +116,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_FillDefault[] =
{ XML_AUTO, AnimationFill::AUTO },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_Restart[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Restart[] =
{
{ XML_DEFAULT, AnimationRestart::DEFAULT },
{ XML_ALWAYS, AnimationRestart::ALWAYS },
@@ -124,7 +124,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_Restart[] =
{ XML_NEVER, AnimationRestart::NEVER },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_RestartDefault[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_RestartDefault[] =
{
{ XML_INHERIT, AnimationRestart::INHERIT },
{ XML_ALWAYS, AnimationRestart::ALWAYS },
@@ -132,7 +132,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_RestartDefault[] =
{ XML_NEVER, AnimationRestart::NEVER },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_Endsync[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Endsync[] =
{
{ XML_FIRST, AnimationEndSync::FIRST },
{ XML_LAST, AnimationEndSync::LAST },
@@ -140,7 +140,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_Endsync[] =
{ XML_MEDIA, AnimationEndSync::MEDIA },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_CalcMode[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_CalcMode[] =
{
{ XML_DISCRETE, AnimationCalcMode::DISCRETE },
{ XML_LINEAR, AnimationCalcMode::LINEAR },
@@ -148,7 +148,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_CalcMode[] =
{ XML_SPLINE, AnimationCalcMode::SPLINE },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_AdditiveMode[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_AdditiveMode[] =
{
{ XML_BASE, AnimationAdditiveMode::BASE },
{ XML_SUM, AnimationAdditiveMode::SUM },
@@ -157,7 +157,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_AdditiveMode[] =
{ XML_NONE, AnimationAdditiveMode::NONE },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_TransformType[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_TransformType[] =
{
{ XML_TRANSLATE, AnimationTransformType::TRANSLATE },
{ XML_SCALE, AnimationTransformType::SCALE },
@@ -166,7 +166,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_TransformType[] =
{ XML_SKEWY, AnimationTransformType::SKEWY },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_TransitionType[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_TransitionType[] =
{
{ XML_BARWIPE, TransitionType::BARWIPE },
{ XML_BOXWIPE, TransitionType::BOXWIPE },
@@ -213,7 +213,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_TransitionType[] =
{ XML_ZOOM, TransitionType::ZOOM },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_TransitionSubType[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_TransitionSubType[] =
{
{ XML_DEFAULT, TransitionSubType::DEFAULT },
{ XML_LEFTTORIGHT, TransitionSubType::LEFTTORIGHT },
@@ -334,7 +334,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_TransitionSubType[] =
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_EventTrigger[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_EventTrigger[] =
{
{ XML_ONBEGIN, EventTrigger::ON_BEGIN },
{ XML_ONEND, EventTrigger::ON_END },
@@ -350,7 +350,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_EventTrigger[] =
{ XML_REPEAT, EventTrigger::REPEAT },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_EffectPresetClass[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_EffectPresetClass[] =
{
{ XML_CUSTOM, EffectPresetClass::CUSTOM },
{ XML_ENTRANCE, EffectPresetClass::ENTRANCE },
@@ -361,7 +361,7 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_EffectPresetClass[] =
{ XML_MEDIA_CALL, EffectPresetClass::MEDIACALL },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_EffectNodeType[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_EffectNodeType[] =
{
{ XML_DEFAULT, EffectNodeType::DEFAULT },
{ XML_ON_CLICK, EffectNodeType::ON_CLICK },
@@ -372,21 +372,21 @@ const SvXMLEnumMapEntry aAnimations_EnumMap_EffectNodeType[] =
{ XML_INTERACTIVE_SEQUENCE, EffectNodeType::INTERACTIVE_SEQUENCE },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_SubItem[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_SubItem[] =
{
{ XML_WHOLE, ShapeAnimationSubType::AS_WHOLE },
{ XML_BACKGROUND, ShapeAnimationSubType::ONLY_BACKGROUND },
{ XML_TEXT, ShapeAnimationSubType::ONLY_TEXT },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_IterateType[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_IterateType[] =
{
{ XML_BY_PARAGRAPH, TextAnimationType::BY_PARAGRAPH },
{ XML_BY_WORD, TextAnimationType::BY_WORD },
{ XML_BY_LETTER, TextAnimationType::BY_LETTER },
{ XML_TOKEN_INVALID, 0 }
};
-const SvXMLEnumMapEntry aAnimations_EnumMap_Command[] =
+const SvXMLEnumMapEntry<sal_Int16> aAnimations_EnumMap_Command[] =
{
{ XML_CUSTOM, EffectCommands::CUSTOM },
{ XML_VERB, EffectCommands::VERB },
@@ -601,12 +601,12 @@ void AnimationsExporterImpl::exportTransitionNode()
sTmp.append( 's');
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_DUR, sTmp.makeStringAndClear() );
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTransition, aAnimations_EnumMap_TransitionType );
+ SvXMLUnitConverter::convertEnum( sTmp, nTransition, aAnimations_EnumMap_TransitionType );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_TYPE, sTmp.makeStringAndClear() );
if( nSubtype != TransitionSubType::DEFAULT )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nSubtype, aAnimations_EnumMap_TransitionSubType );
+ SvXMLUnitConverter::convertEnum( sTmp, nSubtype, aAnimations_EnumMap_TransitionSubType );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_SUBTYPE, sTmp.makeStringAndClear() );
}
@@ -775,7 +775,7 @@ void AnimationsExporterImpl::exportNode( const Reference< XAnimationNode >& xNod
}
double fTemp = 0;
- sal_Int32 nTemp;
+ sal_Int16 nTemp;
aTemp = xNode->getDuration();
if( aTemp.hasValue() )
@@ -804,28 +804,28 @@ void AnimationsExporterImpl::exportNode( const Reference< XAnimationNode >& xNod
nTemp = xNode->getFill();
if( nTemp != AnimationFill::DEFAULT )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_Fill );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_Fill );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_FILL, sTmp.makeStringAndClear() );
}
nTemp = xNode->getFillDefault();
if( nTemp != AnimationFill::INHERIT )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_FillDefault );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_FillDefault );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_FILLDEFAULT, sTmp.makeStringAndClear() );
}
nTemp = xNode->getRestart();
if( nTemp != AnimationRestart::DEFAULT )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_Restart );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_Restart );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_RESTART, sTmp.makeStringAndClear() );
}
nTemp = xNode->getRestartDefault();
if( nTemp != AnimationRestart::INHERIT )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_RestartDefault );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_RestartDefault );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_RESTARTDEFAULT, sTmp.makeStringAndClear() );
}
@@ -883,7 +883,7 @@ void AnimationsExporterImpl::exportNode( const Reference< XAnimationNode >& xNod
{
if( aTemp >>= nTemp )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_Endsync );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_Endsync );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_ENDSYNC, sTmp.makeStringAndClear() );
}
}
@@ -902,7 +902,7 @@ void AnimationsExporterImpl::exportNode( const Reference< XAnimationNode >& xNod
{
if( (pValue->Value >>= nContainerNodeType) && (nContainerNodeType != EffectNodeType::DEFAULT) )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nContainerNodeType, aAnimations_EnumMap_EffectNodeType );
+ SvXMLUnitConverter::convertEnum( sTmp, nContainerNodeType, aAnimations_EnumMap_EffectNodeType );
mrExport.AddAttribute( XML_NAMESPACE_PRESENTATION, XML_NODE_TYPE, sTmp.makeStringAndClear() );
}
}
@@ -923,10 +923,10 @@ void AnimationsExporterImpl::exportNode( const Reference< XAnimationNode >& xNod
}
else if( IsXMLToken( pValue->Name, XML_PRESET_CLASS ) )
{
- sal_Int16 nEffectPresetClass = sal_Int16();
+ sal_Int16 nEffectPresetClass = sal_uInt16();
if( pValue->Value >>= nEffectPresetClass )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nEffectPresetClass, aAnimations_EnumMap_EffectPresetClass );
+ SvXMLUnitConverter::convertEnum( sTmp, nEffectPresetClass, aAnimations_EnumMap_EffectPresetClass );
mrExport.AddAttribute( XML_NAMESPACE_PRESENTATION, XML_PRESET_CLASS, sTmp.makeStringAndClear() );
}
}
@@ -1025,14 +1025,14 @@ void AnimationsExporterImpl::exportContainer( const Reference< XTimeContainer >&
sal_Int16 nTemp = xIter->getSubItem();
if( nTemp )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_SubItem );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_SubItem );
mrExport.AddAttribute( XML_NAMESPACE_ANIMATION, XML_SUB_ITEM, sTmp.makeStringAndClear() );
}
nTemp = xIter->getIterateType();
if( nTemp )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_IterateType );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_IterateType );
mrExport.AddAttribute( XML_NAMESPACE_ANIMATION, XML_ITERATE_TYPE, sTmp.makeStringAndClear() );
}
@@ -1092,7 +1092,7 @@ void AnimationsExporterImpl::exportAnimate( const Reference< XAnimate >& xAnimat
const sal_Int16 nNodeType = xAnimate->getType();
OUStringBuffer sTmp;
- sal_Int32 nTemp;
+ sal_Int16 nTemp;
bool bTemp;
Any aTemp( xAnimate->getTarget() );
@@ -1105,7 +1105,7 @@ void AnimationsExporterImpl::exportAnimate( const Reference< XAnimate >& xAnimat
nTemp = xAnimate->getSubItem();
if( nTemp )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_SubItem );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_SubItem );
mrExport.AddAttribute( XML_NAMESPACE_ANIMATION, XML_SUB_ITEM, sTmp.makeStringAndClear() );
}
@@ -1211,7 +1211,7 @@ void AnimationsExporterImpl::exportAnimate( const Reference< XAnimate >& xAnimat
if( ((nNodeType == AnimationNodeType::ANIMATEMOTION ) && (nTemp != AnimationCalcMode::PACED)) ||
((nNodeType != AnimationNodeType::ANIMATEMOTION ) && (nTemp != AnimationCalcMode::LINEAR)) )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_CalcMode );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_CalcMode );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_CALCMODE, sTmp.makeStringAndClear() );
}
@@ -1222,7 +1222,7 @@ void AnimationsExporterImpl::exportAnimate( const Reference< XAnimate >& xAnimat
nTemp = xAnimate->getAdditive();
if( nTemp != AnimationAdditiveMode::REPLACE )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_AdditiveMode );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_AdditiveMode );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_ADDITIVE, sTmp.makeStringAndClear() );
}
}
@@ -1299,7 +1299,7 @@ void AnimationsExporterImpl::exportAnimate( const Reference< XAnimate >& xAnimat
Reference< XAnimateTransform > xTransform( xAnimate, UNO_QUERY_THROW );
nTemp = xTransform->getTransformType();
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTemp, aAnimations_EnumMap_TransformType );
+ SvXMLUnitConverter::convertEnum( sTmp, nTemp, aAnimations_EnumMap_TransformType );
mrExport.AddAttribute( XML_NAMESPACE_SVG, XML_TYPE, sTmp.makeStringAndClear() );
}
break;
@@ -1310,13 +1310,13 @@ void AnimationsExporterImpl::exportAnimate( const Reference< XAnimate >& xAnimat
eElementToken = XML_TRANSITIONFILTER;
sal_Int16 nTransition = xTransitionFilter->getTransition();
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nTransition, aAnimations_EnumMap_TransitionType );
+ SvXMLUnitConverter::convertEnum( sTmp, nTransition, aAnimations_EnumMap_TransitionType );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_TYPE, sTmp.makeStringAndClear() );
sal_Int16 nSubtype = xTransitionFilter->getSubtype();
if( nSubtype != TransitionSubType::DEFAULT )
{
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nSubtype, aAnimations_EnumMap_TransitionSubType );
+ SvXMLUnitConverter::convertEnum( sTmp, nSubtype, aAnimations_EnumMap_TransitionSubType );
mrExport.AddAttribute( XML_NAMESPACE_SMIL, XML_SUBTYPE, sTmp.makeStringAndClear() );
}
@@ -1392,7 +1392,7 @@ void AnimationsExporterImpl::exportCommand( const Reference< XCommand >& xComman
}
sal_Int16 nCommand = xCommand->getCommand();
- SvXMLUnitConverter::convertEnum( sTmp, (sal_uInt16)nCommand, aAnimations_EnumMap_Command );
+ SvXMLUnitConverter::convertEnum( sTmp, nCommand, aAnimations_EnumMap_Command );
mrExport.AddAttribute( XML_NAMESPACE_ANIMATION, XML_COMMAND, sTmp.makeStringAndClear() );
// todo virtual css::uno::Any SAL_CALL getParameter() throw (css::uno::RuntimeException) = 0;
@@ -1570,7 +1570,7 @@ void AnimationsExporterImpl::convertTiming( OUStringBuffer& sTmp, const Any& rVa
sTmp.append( '.' );
}
- SvXMLUnitConverter::convertEnum( sTmp2, (sal_uInt16)pEvent->Trigger, aAnimations_EnumMap_EventTrigger );
+ SvXMLUnitConverter::convertEnum( sTmp2, pEvent->Trigger, aAnimations_EnumMap_EventTrigger );
sTmp.append( sTmp2.makeStringAndClear() );
}
diff --git a/xmloff/source/draw/animationimport.cxx b/xmloff/source/draw/animationimport.cxx
index d7c57f0c4da4..74f967560ef8 100644
--- a/xmloff/source/draw/animationimport.cxx
+++ b/xmloff/source/draw/animationimport.cxx
@@ -540,10 +540,10 @@ Any AnimationsImportHelperImpl::convertTiming( const OUString& rValue )
aEventTrigger = aEventTrigger.copy( nPos + 1 );
}
- sal_uInt16 nEnum;
+ sal_Int16 nEnum;
if( SvXMLUnitConverter::convertEnum( nEnum, aEventTrigger, aAnimations_EnumMap_EventTrigger ) )
{
- aEvent.Trigger = (sal_Int16)nEnum;
+ aEvent.Trigger = nEnum;
}
else
{
@@ -750,7 +750,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
OUString sXmlId;
const sal_Int16 nCount = xAttrList.is() ? xAttrList->getLength() : 0;
- sal_uInt16 nEnum;
+ sal_Int16 nEnum;
sal_Int16 nAttribute;
for( nAttribute = 0; nAttribute < nCount; nAttribute++ )
{
@@ -779,25 +779,25 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case ANA_Fill:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Fill ) )
- mxNode->setFill( (sal_Int16)nEnum );
+ mxNode->setFill( nEnum );
}
break;
case ANA_FillDefault:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_FillDefault ) )
- mxNode->setFillDefault( (sal_Int16)nEnum );
+ mxNode->setFillDefault( nEnum );
}
break;
case ANA_Restart:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Restart ) )
- mxNode->setRestart( (sal_Int16)nEnum );
+ mxNode->setRestart( nEnum );
}
break;
case ANA_RestartDefault:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_RestartDefault ) )
- mxNode->setRestartDefault( (sal_Int16)nEnum );
+ mxNode->setRestartDefault( nEnum );
}
break;
case ANA_Accelerate:
@@ -832,13 +832,13 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case ANA_EndSync:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Endsync ) )
- mxNode->setEndSync( makeAny( (sal_Int16)nEnum ) );
+ mxNode->setEndSync( makeAny( nEnum ) );
}
break;
case ANA_Node_Type:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_EffectNodeType ) )
- aUserData.push_back( NamedValue( GetXMLToken( XML_NODE_TYPE ), makeAny( (sal_Int16)nEnum ) ) );
+ aUserData.push_back( NamedValue( GetXMLToken( XML_NODE_TYPE ), makeAny( nEnum ) ) );
}
break;
case ANA_Preset_ID:
@@ -854,7 +854,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case ANA_Preset_Class:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_EffectPresetClass ) )
- aUserData.push_back( NamedValue( GetXMLToken( XML_PRESET_CLASS ), makeAny( (sal_Int16)nEnum ) ) );
+ aUserData.push_back( NamedValue( GetXMLToken( XML_PRESET_CLASS ), makeAny( nEnum ) ) );
}
break;
case ANA_After_Effect:
@@ -921,11 +921,11 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xAnimate.is() )
{
- xAnimate->setSubItem( (sal_Int16)nEnum );
+ xAnimate->setSubItem( nEnum );
}
else if( xIter.is() )
{
- xIter->setSubItem( (sal_Int16)nEnum );
+ xIter->setSubItem( nEnum );
}
}
}
@@ -1010,7 +1010,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
if( xAnimate.is() )
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_CalcMode ) )
- xAnimate->setCalcMode( (sal_Int16)nEnum );
+ xAnimate->setCalcMode( nEnum );
}
}
break;
@@ -1027,7 +1027,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
if( xAnimate.is() )
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_AdditiveMode ) )
- xAnimate->setAdditive( (sal_Int16)nEnum );
+ xAnimate->setAdditive( nEnum );
}
}
break;
@@ -1070,7 +1070,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_TransformType ) )
{
- xTransform->setTransformType( (sal_Int16)nEnum );
+ xTransform->setTransformType( nEnum );
switch( nEnum )
{
case AnimationTransformType::SCALE: meAttributeName = XML_SCALE; break;
@@ -1136,7 +1136,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_IterateType ) )
{
if( xIter.is() )
- xIter->setIterateType( (sal_Int16)nEnum );
+ xIter->setIterateType( nEnum );
}
}
break;
@@ -1178,7 +1178,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Command ) )
{
- xCommand->setCommand( (sal_Int16)nEnum );
+ xCommand->setCommand( nEnum );
}
}
}
diff --git a/xmloff/source/draw/animexp.cxx b/xmloff/source/draw/animexp.cxx
index 3517cef3df99..a5d8f0ba8e58 100644
--- a/xmloff/source/draw/animexp.cxx
+++ b/xmloff/source/draw/animexp.cxx
@@ -179,7 +179,7 @@ void SdXMLImplSetEffect( AnimationEffect eEffect, XMLEffect& eKind, XMLEffectDir
eEffect = AnimationEffect_NONE;
}
- const Effect& rEffect = AnimationEffectMap[eEffect];
+ const Effect& rEffect = AnimationEffectMap[(int)eEffect];
eKind = rEffect.meKind;
eDirection = rEffect.meDirection;
nStartScale = rEffect.mnStartScale;
diff --git a/xmloff/source/draw/animimp.cxx b/xmloff/source/draw/animimp.cxx
index 3b6ce8d87c34..fb520bb9e3b7 100644
--- a/xmloff/source/draw/animimp.cxx
+++ b/xmloff/source/draw/animimp.cxx
@@ -48,7 +48,7 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::presentation;
using namespace ::xmloff::token;
-const SvXMLEnumMapEntry aXML_AnimationEffect_EnumMap[] =
+const SvXMLEnumMapEntry<XMLEffect> aXML_AnimationEffect_EnumMap[] =
{
{ XML_NONE, EK_none },
{ XML_FADE, EK_fade },
@@ -67,10 +67,10 @@ const SvXMLEnumMapEntry aXML_AnimationEffect_EnumMap[] =
{ XML_CHECKERBOARD, EK_checkerboard },
{ XML_ROTATE, EK_rotate },
{ XML_STRETCH, EK_stretch },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (XMLEffect)0 }
};
-const SvXMLEnumMapEntry aXML_AnimationDirection_EnumMap[] =
+const SvXMLEnumMapEntry<XMLEffectDirection> aXML_AnimationDirection_EnumMap[] =
{
{ XML_NONE, ED_none },
{ XML_FROM_LEFT, ED_from_left },
@@ -100,15 +100,15 @@ const SvXMLEnumMapEntry aXML_AnimationDirection_EnumMap[] =
{ XML_TO_CENTER, ED_to_center },
{ XML_CLOCKWISE, ED_clockwise },
{ XML_COUNTER_CLOCKWISE,ED_cclockwise },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (XMLEffectDirection)0 }
};
-const SvXMLEnumMapEntry aXML_AnimationSpeed_EnumMap[] =
+const SvXMLEnumMapEntry<AnimationSpeed> aXML_AnimationSpeed_EnumMap[] =
{
{ XML_SLOW, AnimationSpeed_SLOW },
{ XML_MEDIUM, AnimationSpeed_MEDIUM },
{ XML_FAST, AnimationSpeed_FAST },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (AnimationSpeed)0 }
};
AnimationEffect ImplSdXMLgetEffect( XMLEffect eKind, XMLEffectDirection eDirection, sal_Int16 nStartScale, bool /*bIn*/ )
@@ -496,15 +496,11 @@ XMLAnimationsEffectContext::XMLAnimationsEffectContext( SvXMLImport& rImport, s
case XML_NAMESPACE_PRESENTATION:
if( IsXMLToken( aLocalName, XML_EFFECT ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_AnimationEffect_EnumMap ) )
- meEffect = (XMLEffect)eEnum;
+ SvXMLUnitConverter::convertEnum( meEffect, sValue, aXML_AnimationEffect_EnumMap );
}
else if( IsXMLToken(aLocalName, XML_DIRECTION ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_AnimationDirection_EnumMap ) )
- meDirection = (XMLEffectDirection)eEnum;
+ SvXMLUnitConverter::convertEnum( meDirection, sValue, aXML_AnimationDirection_EnumMap );
}
else if( IsXMLToken( aLocalName, XML_START_SCALE ) )
{
@@ -514,9 +510,7 @@ XMLAnimationsEffectContext::XMLAnimationsEffectContext( SvXMLImport& rImport, s
}
else if( IsXMLToken( aLocalName, XML_SPEED ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_AnimationSpeed_EnumMap ) )
- meSpeed = (AnimationSpeed)eEnum;
+ SvXMLUnitConverter::convertEnum( meSpeed, sValue, aXML_AnimationSpeed_EnumMap );
}
else if( IsXMLToken( aLocalName, XML_PATH_ID ) )
{
diff --git a/xmloff/source/draw/eventimp.cxx b/xmloff/source/draw/eventimp.cxx
index f9ec6082a452..9385887652ea 100644
--- a/xmloff/source/draw/eventimp.cxx
+++ b/xmloff/source/draw/eventimp.cxx
@@ -51,7 +51,7 @@ using namespace ::com::sun::star::container;
using namespace ::com::sun::star::presentation;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const aXML_EventActions_EnumMap[] =
+SvXMLEnumMapEntry<ClickAction> const aXML_EventActions_EnumMap[] =
{
{ XML_NONE, ClickAction_NONE },
{ XML_PREVIOUS_PAGE, ClickAction_PREVPAGE },
@@ -67,7 +67,7 @@ SvXMLEnumMapEntry const aXML_EventActions_EnumMap[] =
{ XML_VERB, ClickAction_VERB },
{ XML_FADE_OUT, ClickAction_VANISH },
{ XML_SOUND, ClickAction_SOUND },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (ClickAction)0 }
};
class SdXMLEventContext : public SvXMLImportContext
@@ -174,21 +174,15 @@ SdXMLEventContext::SdXMLEventContext( SvXMLImport& rImp, sal_uInt16 nPrfx, cons
case XML_NAMESPACE_PRESENTATION:
if( IsXMLToken( aAttrLocalName, XML_ACTION ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_EventActions_EnumMap ) )
- meClickAction = (ClickAction)eEnum;
+ SvXMLUnitConverter::convertEnum( meClickAction, sValue, aXML_EventActions_EnumMap );
}
if( IsXMLToken( aAttrLocalName, XML_EFFECT ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_AnimationEffect_EnumMap ) )
- meEffect = (XMLEffect)eEnum;
+ SvXMLUnitConverter::convertEnum( meEffect, sValue, aXML_AnimationEffect_EnumMap );
}
else if( IsXMLToken( aAttrLocalName, XML_DIRECTION ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_AnimationDirection_EnumMap ) )
- meDirection = (XMLEffectDirection)eEnum;
+ SvXMLUnitConverter::convertEnum( meDirection, sValue, aXML_AnimationDirection_EnumMap );
}
else if( IsXMLToken( aAttrLocalName, XML_START_SCALE ) )
{
@@ -198,9 +192,7 @@ SdXMLEventContext::SdXMLEventContext( SvXMLImport& rImp, sal_uInt16 nPrfx, cons
}
else if( IsXMLToken( aAttrLocalName, XML_SPEED ) )
{
- sal_uInt16 eEnum;
- if( SvXMLUnitConverter::convertEnum( eEnum, sValue, aXML_AnimationSpeed_EnumMap ) )
- meSpeed = (AnimationSpeed)eEnum;
+ SvXMLUnitConverter::convertEnum( meSpeed, sValue, aXML_AnimationSpeed_EnumMap );
}
else if( IsXMLToken( aAttrLocalName, XML_VERB ) )
{
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
index 79967afc9dd5..b32204d11e52 100644
--- a/xmloff/source/draw/sdpropls.cxx
+++ b/xmloff/source/draw/sdpropls.cxx
@@ -23,14 +23,9 @@
#include <com/sun/star/drawing/LineStyle.hpp>
#include <com/sun/star/drawing/LineJoint.hpp>
#include <com/sun/star/drawing/LineCap.hpp>
-#include <com/sun/star/drawing/FillStyle.hpp>
#include <com/sun/star/presentation/AnimationSpeed.hpp>
#include <com/sun/star/presentation/FadeEffect.hpp>
-#include <com/sun/star/drawing/ConnectorType.hpp>
-#include <com/sun/star/drawing/RectanglePoint.hpp>
-#include <com/sun/star/drawing/CircleKind.hpp>
-#include <com/sun/star/drawing/BitmapMode.hpp>
#include <com/sun/star/text/WritingMode.hpp>
#include <xmloff/EnumPropertyHdl.hxx>
#include <xmloff/NamedBoolPropertyHdl.hxx>
@@ -366,60 +361,60 @@ const XMLPropertyMapEntry aXMLTableShapeAttributes[] =
// implementation of factory for own graphic properties
-static SvXMLEnumMapEntry const aXML_LineStyle_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::LineStyle> const aXML_LineStyle_EnumMap[] =
{
{ XML_NONE, drawing::LineStyle_NONE },
{ XML_SOLID, drawing::LineStyle_SOLID },
{ XML_DASH, drawing::LineStyle_DASH },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::LineStyle)0 }
};
-static SvXMLEnumMapEntry const aXML_LineJoint_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::LineJoint> const aXML_LineJoint_EnumMap[] =
{
{ XML_NONE, drawing::LineJoint_NONE },
{ XML_MITER, drawing::LineJoint_MITER },
{ XML_ROUND, drawing::LineJoint_ROUND },
{ XML_BEVEL, drawing::LineJoint_BEVEL },
{ XML_MIDDLE, drawing::LineJoint_MIDDLE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::LineJoint)0 }
};
-static SvXMLEnumMapEntry const aXML_LineCap_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::LineCap> const aXML_LineCap_EnumMap[] =
{
{ XML_BUTT, drawing::LineCap_BUTT },
{ XML_ROUND, drawing::LineCap_ROUND },
// use XML_GRADIENTSTYLE_SQUARE as XML_SQUARE, is defined as "square" already
{ XML_GRADIENTSTYLE_SQUARE, drawing::LineCap_SQUARE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::LineCap)0 }
};
-SvXMLEnumMapEntry const aXML_FillStyle_EnumMap[] =
+SvXMLEnumMapEntry<drawing::FillStyle> const aXML_FillStyle_EnumMap[] =
{
{ XML_NONE, drawing::FillStyle_NONE },
{ XML_SOLID, drawing::FillStyle_SOLID },
{ XML_BITMAP, drawing::FillStyle_BITMAP },
{ XML_GRADIENT, drawing::FillStyle_GRADIENT },
{ XML_HATCH, drawing::FillStyle_HATCH },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::FillStyle)0 }
};
-static SvXMLEnumMapEntry const aXML_PresChange_EnumMap[] =
+static SvXMLEnumMapEntry<sal_Int32> const aXML_PresChange_EnumMap[] =
{
{ XML_MANUAL, 0 },
{ XML_AUTOMATIC, 1 },
{ XML_SEMI_AUTOMATIC, 2 },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const aXML_TransSpeed_EnumMap[] =
+static SvXMLEnumMapEntry<presentation::AnimationSpeed> const aXML_TransSpeed_EnumMap[] =
{
{ XML_FAST, presentation::AnimationSpeed_FAST },
{ XML_MEDIUM, presentation::AnimationSpeed_MEDIUM },
{ XML_SLOW, presentation::AnimationSpeed_SLOW },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (presentation::AnimationSpeed)0 }
};
-static SvXMLEnumMapEntry const aXML_FadeEffect_EnumMap[] =
+static SvXMLEnumMapEntry<presentation::FadeEffect> const aXML_FadeEffect_EnumMap[] =
{
{ XML_NONE, presentation::FadeEffect_NONE },
{ XML_FADE_FROM_LEFT, presentation::FadeEffect_FADE_FROM_LEFT },
@@ -478,68 +473,68 @@ static SvXMLEnumMapEntry const aXML_FadeEffect_EnumMap[] =
{ XML_UNCOVER_TO_LOWERLEFT, presentation::FadeEffect_UNCOVER_TO_LOWERLEFT },
{ XML_VERTICAL_CHECKERBOARD,presentation::FadeEffect_VERTICAL_CHECKERBOARD },
{ XML_HORIZONTAL_CHECKERBOARD,presentation::FadeEffect_HORIZONTAL_CHECKERBOARD },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (presentation::FadeEffect)0 }
};
-SvXMLEnumMapEntry const aXML_ConnectionKind_EnumMap[] =
+SvXMLEnumMapEntry<drawing::ConnectorType> const aXML_ConnectionKind_EnumMap[] =
{
{ XML_STANDARD, drawing::ConnectorType_STANDARD },
{ XML_CURVE, drawing::ConnectorType_CURVE },
{ XML_LINE, drawing::ConnectorType_LINE },
{ XML_LINES, drawing::ConnectorType_LINES },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::ConnectorType)0 }
};
-SvXMLEnumMapEntry const aXML_BitmapMode_EnumMap[] =
+SvXMLEnumMapEntry<drawing::BitmapMode> const aXML_BitmapMode_EnumMap[] =
{
{ XML_REPEAT, drawing::BitmapMode_REPEAT },
{ XML_STRETCH, drawing::BitmapMode_STRETCH },
{ XML_BACKGROUND_NO_REPEAT, drawing::BitmapMode_NO_REPEAT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::BitmapMode)0 }
};
// 3D EnumMaps
-static SvXMLEnumMapEntry const aXML_NormalsKind_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::NormalsKind> const aXML_NormalsKind_EnumMap[] =
{
{ XML_OBJECT, drawing::NormalsKind_SPECIFIC },
{ XML_FLAT, drawing::NormalsKind_FLAT },
{ XML_SPHERE, drawing::NormalsKind_SPHERE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::NormalsKind)0 }
};
-static SvXMLEnumMapEntry const aXML_TexGenerationX_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::TextureProjectionMode> const aXML_TexGenerationX_EnumMap[] =
{
{ XML_OBJECT, drawing::TextureProjectionMode_OBJECTSPECIFIC },
{ XML_PARALLEL, drawing::TextureProjectionMode_PARALLEL },
{ XML_SPHERE, drawing::TextureProjectionMode_SPHERE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextureProjectionMode)0 }
};
-static SvXMLEnumMapEntry const aXML_TexGenerationY_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::TextureProjectionMode> const aXML_TexGenerationY_EnumMap[] =
{
{ XML_OBJECT, drawing::TextureProjectionMode_OBJECTSPECIFIC },
{ XML_PARALLEL, drawing::TextureProjectionMode_PARALLEL },
{ XML_SPHERE, drawing::TextureProjectionMode_SPHERE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextureProjectionMode)0 }
};
-static SvXMLEnumMapEntry const aXML_TexKind_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::TextureKind> const aXML_TexKind_EnumMap[] =
{
{ XML_LUMINANCE, drawing::TextureKind_LUMINANCE },
{ XML_COLOR, drawing::TextureKind_COLOR },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextureKind)0 }
};
-static SvXMLEnumMapEntry const aXML_TexMode_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::TextureMode> const aXML_TexMode_EnumMap[] =
{
{ XML_REPLACE, drawing::TextureMode_REPLACE },
{ XML_MODULATE, drawing::TextureMode_MODULATE },
{ XML_BLEND, drawing::TextureMode_BLEND },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextureMode)0 }
};
-SvXMLEnumMapEntry const aXML_RefPoint_EnumMap[] =
+SvXMLEnumMapEntry<drawing::RectanglePoint> const aXML_RefPoint_EnumMap[] =
{
{ XML_TOP_LEFT, drawing::RectanglePoint_LEFT_TOP },
{ XML_TOP, drawing::RectanglePoint_MIDDLE_TOP },
@@ -550,91 +545,91 @@ SvXMLEnumMapEntry const aXML_RefPoint_EnumMap[] =
{ XML_BOTTOM_LEFT, drawing::RectanglePoint_LEFT_BOTTOM },
{ XML_BOTTOM, drawing::RectanglePoint_MIDDLE_BOTTOM },
{ XML_BOTTOM_RIGHT, drawing::RectanglePoint_RIGHT_BOTTOM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::RectanglePoint)0 }
};
-SvXMLEnumMapEntry const aXML_CircleKind_EnumMap[] =
+SvXMLEnumMapEntry<drawing::CircleKind> const aXML_CircleKind_EnumMap[] =
{
{ XML_FULL, drawing::CircleKind_FULL },
{ XML_SECTION, drawing::CircleKind_SECTION },
{ XML_CUT, drawing::CircleKind_CUT },
{ XML_ARC, drawing::CircleKind_ARC },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::CircleKind)0 }
};
-static SvXMLEnumMapEntry const aXML_WritingMode_EnumMap[] =
+static SvXMLEnumMapEntry<text::WritingMode> const aXML_WritingMode_EnumMap[] =
{
{ XML_TB_RL, text::WritingMode_TB_RL },
{ XML_LR_TB, text::WritingMode_LR_TB },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (text::WritingMode)0 }
};
-static SvXMLEnumMapEntry const pXML_TextAnimation_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextAnimationKind> const pXML_TextAnimation_Enum[] =
{
{ XML_NONE, drawing::TextAnimationKind_NONE },
{ XML_BLINKING, drawing::TextAnimationKind_BLINK }, // will be filtered
{ XML_SCROLL, drawing::TextAnimationKind_SCROLL },
{ XML_ALTERNATE, drawing::TextAnimationKind_ALTERNATE },
{ XML_SLIDE, drawing::TextAnimationKind_SLIDE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextAnimationKind)0 }
};
-static SvXMLEnumMapEntry const pXML_TextAnimation_Blinking_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextAnimationKind> const pXML_TextAnimation_Blinking_Enum[] =
{
{ XML_FALSE, drawing::TextAnimationKind_NONE },
{ XML_TRUE, drawing::TextAnimationKind_BLINK },
{ XML_FALSE, drawing::TextAnimationKind_SCROLL },
{ XML_FALSE, drawing::TextAnimationKind_ALTERNATE },
{ XML_FALSE, drawing::TextAnimationKind_SLIDE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextAnimationKind)0 }
};
-static SvXMLEnumMapEntry const pXML_TextAnimationDirection_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextAnimationDirection> const pXML_TextAnimationDirection_Enum[] =
{
{ XML_LEFT, drawing::TextAnimationDirection_LEFT },
{ XML_RIGHT, drawing::TextAnimationDirection_RIGHT }, // will be filtered
{ XML_UP, drawing::TextAnimationDirection_UP },
{ XML_DOWN, drawing::TextAnimationDirection_DOWN },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextAnimationDirection)0 }
};
-static SvXMLEnumMapEntry const pXML_TextAlign_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextHorizontalAdjust> const pXML_TextAlign_Enum[] =
{
{ XML_LEFT, drawing::TextHorizontalAdjust_LEFT },
{ XML_CENTER, drawing::TextHorizontalAdjust_CENTER },
{ XML_RIGHT, drawing::TextHorizontalAdjust_RIGHT },
{ XML_JUSTIFY, drawing::TextHorizontalAdjust_BLOCK },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextHorizontalAdjust)0 }
};
-static SvXMLEnumMapEntry const pXML_VerticalAlign_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextVerticalAdjust> const pXML_VerticalAlign_Enum[] =
{
{ XML_TOP, drawing::TextVerticalAdjust_TOP },
{ XML_MIDDLE, drawing::TextVerticalAdjust_CENTER },
{ XML_BOTTOM, drawing::TextVerticalAdjust_BOTTOM },
{ XML_JUSTIFY, drawing::TextVerticalAdjust_BLOCK },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextVerticalAdjust)0 }
};
-static SvXMLEnumMapEntry const pXML_FitToSize_Enum_Odf12[] =
+static SvXMLEnumMapEntry<drawing::TextFitToSizeType> const pXML_FitToSize_Enum_Odf12[] =
{
{ XML_FALSE, drawing::TextFitToSizeType_NONE },
{ XML_TRUE, drawing::TextFitToSizeType_PROPORTIONAL },
{ XML_TRUE, drawing::TextFitToSizeType_ALLLINES },
{ XML_TRUE, drawing::TextFitToSizeType_AUTOFIT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextFitToSizeType)0 }
};
-static SvXMLEnumMapEntry const pXML_FitToSize_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextFitToSizeType> const pXML_FitToSize_Enum[] =
{
{ XML_FALSE, drawing::TextFitToSizeType_NONE },
{ XML_TRUE, drawing::TextFitToSizeType_PROPORTIONAL },
{ XML_ALL, drawing::TextFitToSizeType_ALLLINES },
{ XML_SHRINK_TO_FIT,drawing::TextFitToSizeType_AUTOFIT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextFitToSizeType)0 }
};
-static SvXMLEnumMapEntry const pXML_MeasureUnit_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_MeasureUnit_Enum[] =
{
{ XML_AUTOMATIC, 0 },
{ XML_UNIT_MM, 1 },
@@ -649,26 +644,26 @@ static SvXMLEnumMapEntry const pXML_MeasureUnit_Enum[] =
{ XML_TOKEN_INVALID,0 }
};
-static SvXMLEnumMapEntry const pXML_Measure_HAlign_Enum[] =
+static SvXMLEnumMapEntry<drawing::MeasureTextHorzPos> const pXML_Measure_HAlign_Enum[] =
{
{ XML_AUTOMATIC, drawing::MeasureTextHorzPos_AUTO },
{ XML_LEFT_OUTSIDE, drawing::MeasureTextHorzPos_LEFTOUTSIDE },
{ XML_INSIDE, drawing::MeasureTextHorzPos_INSIDE },
{ XML_RIGHT_OUTSIDE, drawing::MeasureTextHorzPos_RIGHTOUTSIDE},
- { XML_TOKEN_INVALID,0 }
+ { XML_TOKEN_INVALID, (drawing::MeasureTextHorzPos)0 }
};
-static SvXMLEnumMapEntry const pXML_Measure_VAlign_Enum[] =
+static SvXMLEnumMapEntry<drawing::MeasureTextVertPos> const pXML_Measure_VAlign_Enum[] =
{
{ XML_AUTOMATIC, drawing::MeasureTextVertPos_AUTO },
{ XML_ABOVE, drawing::MeasureTextVertPos_EAST },
{ XML_BELOW, drawing::MeasureTextVertPos_WEST },
{ XML_CENTER, drawing::MeasureTextVertPos_CENTERED },
- { XML_TOKEN_INVALID,0 }
+ { XML_TOKEN_INVALID, (drawing::MeasureTextVertPos)0 }
};
// #FontWork#
-static SvXMLEnumMapEntry const pXML_Fontwork_Style_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_Fontwork_Style_Enum[] =
{
{ XML_ROTATE, 0 }, //XFormTextStyle::Rotate,
{ XML_UPRIGHT, 1 }, //XFormTextStyle::Upright,
@@ -678,7 +673,7 @@ static SvXMLEnumMapEntry const pXML_Fontwork_Style_Enum[] =
{ XML_TOKEN_INVALID,0 }
};
-static SvXMLEnumMapEntry const pXML_Fontwork_Adjust_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_Fontwork_Adjust_Enum[] =
{
{ XML_LEFT, 0 }, //XFormTextAdjust::Left,
{ XML_RIGHT, 1 }, //XFormTextAdjust::Right,
@@ -687,7 +682,7 @@ static SvXMLEnumMapEntry const pXML_Fontwork_Adjust_Enum[] =
{ XML_TOKEN_INVALID,0 }
};
-static SvXMLEnumMapEntry const pXML_Fontwork_Shadow_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_Fontwork_Shadow_Enum[] =
{
{ XML_NORMAL, 0 }, //XFormTextShadow::Normal,
{ XML_SLANT, 1 }, //XFormTextShadow::Slant,
@@ -695,7 +690,7 @@ static SvXMLEnumMapEntry const pXML_Fontwork_Shadow_Enum[] =
{ XML_TOKEN_INVALID,0 }
};
-static SvXMLEnumMapEntry const pXML_Fontwork_Form_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_Fontwork_Form_Enum[] =
{
{ XML_NONE, 0 }, //XFTFORM_NONE,
{ XML_TOPCIRCLE, 1 }, //XFTFORM_TOPCIRC,
@@ -713,7 +708,7 @@ static SvXMLEnumMapEntry const pXML_Fontwork_Form_Enum[] =
{ XML_TOKEN_INVALID,0 }
};
-static SvXMLEnumMapEntry const pXML_Caption_Esc_Dir_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_Caption_Esc_Dir_Enum[] =
{
{ XML_HORIZONTAL, 0 }, //SdrCaptionEscDir::Horizontal,
{ XML_VERTICAL, 1 }, //SdrCaptionEscDir::Vertical,
@@ -721,7 +716,7 @@ static SvXMLEnumMapEntry const pXML_Caption_Esc_Dir_Enum[] =
{ XML_TOKEN_INVALID,0 }
};
-static SvXMLEnumMapEntry const pXML_Caption_Type_Enum[] =
+static SvXMLEnumMapEntry<sal_Int32> const pXML_Caption_Type_Enum[] =
{
{ XML_STRAIGHT_LINE, 0 }, //SdrCaptionType::Type1,
{ XML_ANGLED_LINE, 1 }, //SdrCaptionType::Type2,
@@ -871,27 +866,27 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
{
case XML_SD_TYPE_STROKE :
{
- pHdl = new XMLEnumPropertyHdl( aXML_LineStyle_EnumMap, cppu::UnoType<drawing::LineStyle>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_LineStyle_EnumMap);
break;
}
case XML_SD_TYPE_LINEJOIN :
{
- pHdl = new XMLEnumPropertyHdl( aXML_LineJoint_EnumMap, cppu::UnoType<drawing::LineJoint>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_LineJoint_EnumMap);
break;
}
case XML_SD_TYPE_LINECAP :
{
- pHdl = new XMLEnumPropertyHdl( aXML_LineCap_EnumMap, ::cppu::UnoType<drawing::LineCap>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXML_LineCap_EnumMap );
break;
}
case XML_SD_TYPE_FILLSTYLE :
{
- pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap, cppu::UnoType<drawing::FillStyle>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap );
break;
}
case XML_SD_TYPE_PRESPAGE_TYPE :
{
- pHdl = new XMLEnumPropertyHdl( aXML_PresChange_EnumMap, ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXML_PresChange_EnumMap );
break;
}
case XML_SD_TYPE_SHADOW :
@@ -906,12 +901,12 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
}
case XML_SD_TYPE_PRESPAGE_STYLE :
{
- pHdl = new XMLEnumPropertyHdl( aXML_FadeEffect_EnumMap, ::cppu::UnoType<presentation::FadeEffect>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXML_FadeEffect_EnumMap );
break;
}
case XML_SD_TYPE_PRESPAGE_SPEED :
{
- pHdl = new XMLEnumPropertyHdl( aXML_TransSpeed_EnumMap, cppu::UnoType<presentation::AnimationSpeed>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_TransSpeed_EnumMap );
break;
}
case XML_SD_TYPE_PRESPAGE_DURATION :
@@ -931,7 +926,7 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
}
case XML_SD_TYPE_WRITINGMODE :
{
- pHdl = new XMLEnumPropertyHdl( aXML_WritingMode_EnumMap, cppu::UnoType<text::WritingMode>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_WritingMode_EnumMap );
break;
}
case XML_SD_TYPE_PRESPAGE_VISIBILITY :
@@ -958,7 +953,7 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
case XML_SD_TYPE_NORMALS_KIND:
{
- pHdl = new XMLEnumPropertyHdl( aXML_NormalsKind_EnumMap, cppu::UnoType<drawing::NormalsKind>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_NormalsKind_EnumMap );
break;
}
case XML_SD_TYPE_NORMALS_DIRECTION:
@@ -968,22 +963,22 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
}
case XML_SD_TYPE_TEX_GENERATION_MODE_X:
{
- pHdl = new XMLEnumPropertyHdl( aXML_TexGenerationX_EnumMap, cppu::UnoType<drawing::TextureProjectionMode>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_TexGenerationX_EnumMap );
break;
}
case XML_SD_TYPE_TEX_GENERATION_MODE_Y:
{
- pHdl = new XMLEnumPropertyHdl( aXML_TexGenerationY_EnumMap, cppu::UnoType<drawing::TextureProjectionMode>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_TexGenerationY_EnumMap );
break;
}
case XML_SD_TYPE_TEX_KIND:
{
- pHdl = new XMLEnumPropertyHdl( aXML_TexKind_EnumMap, cppu::UnoType<drawing::TextureKind>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_TexKind_EnumMap );
break;
}
case XML_SD_TYPE_TEX_MODE:
{
- pHdl = new XMLEnumPropertyHdl( aXML_TexMode_EnumMap, cppu::UnoType<drawing::TextureMode>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_TexMode_EnumMap );
break;
}
case XML_SD_TYPE_NUMBULLET:
@@ -998,7 +993,7 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
}
case XML_SD_TYPE_BITMAP_MODE:
{
- pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap, cppu::UnoType<drawing::BitmapMode>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap );
break;
}
case XML_SD_TYPE_BITMAPREPOFFSETX:
@@ -1019,50 +1014,48 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
}
case XML_SD_TYPE_BITMAP_REFPOINT:
{
- pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap, cppu::UnoType<css::drawing::RectanglePoint>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap);
break;
}
case XML_TYPE_TEXT_ANIMATION:
- pHdl = new XMLEnumPropertyHdl( pXML_TextAnimation_Enum, cppu::UnoType<css::drawing::TextAnimationKind>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_TextAnimation_Enum);
break;
case XML_TYPE_TEXT_ANIMATION_BLINKING:
- pHdl = new XMLEnumPropertyHdl( pXML_TextAnimation_Blinking_Enum, cppu::UnoType<css::drawing::TextAnimationKind>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_TextAnimation_Blinking_Enum);
break;
case XML_TYPE_TEXT_ANIMATION_DIRECTION:
- pHdl = new XMLEnumPropertyHdl( pXML_TextAnimationDirection_Enum, cppu::UnoType<css::drawing::TextAnimationDirection>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_TextAnimationDirection_Enum);
break;
case XML_TYPE_TEXT_ANIMATION_STEPS:
pHdl = new XMLTextAnimationStepPropertyHdl;
break;
case XML_SD_TYPE_TEXT_ALIGN:
- pHdl = new XMLEnumPropertyHdl( pXML_TextAlign_Enum, cppu::UnoType<css::drawing::TextHorizontalAdjust>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_TextAlign_Enum);
break;
case XML_SD_TYPE_VERTICAL_ALIGN:
- pHdl = new XMLEnumPropertyHdl( pXML_VerticalAlign_Enum, cppu::UnoType<css::drawing::TextVerticalAdjust>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_VerticalAlign_Enum);
break;
case XML_SD_TYPE_FITTOSIZE:
{
if (mpExport && (mpExport->getDefaultVersion()
<= SvtSaveOptions::ODFVER_012))
{
- pHdl = new XMLEnumPropertyHdl(pXML_FitToSize_Enum_Odf12,
- cppu::UnoType<css::drawing::TextFitToSizeType>::get());
+ pHdl = new XMLEnumPropertyHdl(pXML_FitToSize_Enum_Odf12);
}
else
{
- pHdl = new XMLEnumPropertyHdl(pXML_FitToSize_Enum,
- cppu::UnoType<css::drawing::TextFitToSizeType>::get());
+ pHdl = new XMLEnumPropertyHdl(pXML_FitToSize_Enum);
}
}
break;
case XML_SD_TYPE_MEASURE_UNIT:
- pHdl = new XMLEnumPropertyHdl( pXML_MeasureUnit_Enum, ::cppu::UnoType<sal_Int32>::get() );
+ pHdl = new XMLEnumPropertyHdl( pXML_MeasureUnit_Enum );
break;
case XML_SD_TYPE_MEASURE_HALIGN:
- pHdl = new XMLEnumPropertyHdl( pXML_Measure_HAlign_Enum, cppu::UnoType<css::drawing::MeasureTextHorzPos>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Measure_HAlign_Enum);
break;
case XML_SD_TYPE_MEASURE_VALIGN:
- pHdl = new XMLEnumPropertyHdl( pXML_Measure_VAlign_Enum, cppu::UnoType<css::drawing::MeasureTextVertPos>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Measure_VAlign_Enum);
break;
case XML_SD_TYPE_MEASURE_PLACING:
{
@@ -1078,16 +1071,16 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
// #FontWork#
case XML_SD_TYPE_FONTWORK_STYLE :
- pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Style_Enum , ::cppu::UnoType<sal_Int32>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Style_Enum );
break;
case XML_SD_TYPE_FONTWORK_ADJUST :
- pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Adjust_Enum , ::cppu::UnoType<sal_Int32>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Adjust_Enum );
break;
case XML_SD_TYPE_FONTWORK_SHADOW :
- pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Shadow_Enum , ::cppu::UnoType<sal_Int32>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Shadow_Enum );
break;
case XML_SD_TYPE_FONTWORK_FORM :
- pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Form_Enum , ::cppu::UnoType<sal_Int32>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Fontwork_Form_Enum );
break;
case XML_SD_TYPE_CONTROL_BORDER:
@@ -1118,10 +1111,10 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
pHdl = new XMLPercentOrMeasurePropertyHandler;
break;
case XML_SD_TYPE_CAPTION_ESC_DIR:
- pHdl = new XMLEnumPropertyHdl( pXML_Caption_Esc_Dir_Enum , ::cppu::UnoType<sal_Int32>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Caption_Esc_Dir_Enum );
break;
case XML_SD_TYPE_CAPTION_TYPE:
- pHdl = new XMLEnumPropertyHdl( pXML_Caption_Type_Enum , ::cppu::UnoType<sal_Int32>::get());
+ pHdl = new XMLEnumPropertyHdl( pXML_Caption_Type_Enum );
break;
case XML_SD_TYPE_DATETIMEUPDATE:
pHdl = new XMLNamedBoolPropertyHdl( GetXMLToken(XML_FIXED), GetXMLToken(XML_VARIABLE) );
@@ -1130,10 +1123,10 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
pHdl = new XMLDateTimeFormatHdl( mpExport );
break;
case XML_SD_TYPE_TRANSITION_TYPE:
- pHdl = new XMLEnumPropertyHdl( xmloff::aAnimations_EnumMap_TransitionType, ::cppu::UnoType<sal_Int16>::get());
+ pHdl = new XMLEnumPropertyHdl( xmloff::aAnimations_EnumMap_TransitionType );
break;
case XML_SD_TYPE_TRANSTIION_SUBTYPE:
- pHdl = new XMLEnumPropertyHdl( xmloff::aAnimations_EnumMap_TransitionSubType, ::cppu::UnoType<sal_Int16>::get());
+ pHdl = new XMLEnumPropertyHdl( xmloff::aAnimations_EnumMap_TransitionSubType );
break;
case XML_SD_TYPE_TRANSTIION_DIRECTION:
pHdl = new XMLNamedBoolPropertyHdl( GetXMLToken(XML_FORWARD), GetXMLToken(XML_REVERSE) );
diff --git a/xmloff/source/draw/sdpropls.hxx b/xmloff/source/draw/sdpropls.hxx
index 5db630c0c870..75c6c0d90096 100644
--- a/xmloff/source/draw/sdpropls.hxx
+++ b/xmloff/source/draw/sdpropls.hxx
@@ -21,6 +21,8 @@
#define INCLUDED_XMLOFF_SOURCE_DRAW_SDPROPLS_HXX
#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/drawing/ConnectorType.hpp>
+#include <com/sun/star/drawing/CircleKind.hpp>
#include <xmloff/xmlnume.hxx>
#include <xmloff/maptype.hxx>
#include <xmloff/xmltypes.hxx>
@@ -41,8 +43,8 @@ extern const XMLPropertyMapEntry aXMLSDPresPageProps_onlyHeadersFooter[];
// enum maps for attributes
-extern SvXMLEnumMapEntry const aXML_ConnectionKind_EnumMap[];
-extern SvXMLEnumMapEntry const aXML_CircleKind_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::ConnectorType> const aXML_ConnectionKind_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::CircleKind> const aXML_CircleKind_EnumMap[];
/** contains the attribute to property mapping for a drawing layer table */
extern const XMLPropertyMapEntry aXMLTableShapeAttributes[];
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index 8cf9e1caaeee..882e0890f9a6 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -2120,7 +2120,7 @@ void XMLShapeExport::ImpExportEllipseShape(
const double dEndAngle = nEndAngle / 100.0;
// export circle kind
- SvXMLUnitConverter::convertEnum( sStringBuffer, (sal_uInt16)eKind, aXML_CircleKind_EnumMap );
+ SvXMLUnitConverter::convertEnum( sStringBuffer, eKind, aXML_CircleKind_EnumMap );
mrExport.AddAttribute(XML_NAMESPACE_DRAW, XML_KIND, sStringBuffer.makeStringAndClear() );
// export start angle
@@ -2447,7 +2447,7 @@ void XMLShapeExport::ImpExportConnectorShape(
if( eType != drawing::ConnectorType_STANDARD )
{
- SvXMLUnitConverter::convertEnum( sStringBuffer, (sal_uInt16)eType, aXML_ConnectionKind_EnumMap );
+ SvXMLUnitConverter::convertEnum( sStringBuffer, eType, aXML_ConnectionKind_EnumMap );
aStr = sStringBuffer.makeStringAndClear();
mrExport.AddAttribute(XML_NAMESPACE_DRAW, XML_TYPE, aStr);
}
diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx
index fbb5822c919e..68eba5a5bf62 100644
--- a/xmloff/source/draw/ximpcustomshape.cxx
+++ b/xmloff/source/draw/ximpcustomshape.cxx
@@ -67,7 +67,7 @@ XMLEnhancedCustomShapeContext::XMLEnhancedCustomShapeContext( SvXMLImport& rImpo
{
}
-const SvXMLEnumMapEntry aXML_GluePointEnumMap[] =
+const SvXMLEnumMapEntry<sal_uInt16> aXML_GluePointEnumMap[] =
{
{ XML_NONE, 0 },
{ XML_SEGMENTS, 1 },
@@ -123,17 +123,17 @@ void GetString( std::vector< css::beans::PropertyValue >& rDest,
rDest.push_back( aProp );
}
+template<typename EnumT>
void GetEnum( std::vector< css::beans::PropertyValue >& rDest,
const OUString& rValue, const EnhancedCustomShapeTokenEnum eDestProp,
- const SvXMLEnumMapEntry& rMap )
+ const SvXMLEnumMapEntry<EnumT>& rMap )
{
- sal_uInt16 eKind;
+ EnumT eKind;
if( SvXMLUnitConverter::convertEnum( eKind, rValue, &rMap ) )
{
- sal_Int16 nEnum = (sal_Int16)eKind;
beans::PropertyValue aProp;
aProp.Name = EASGet( eDestProp );
- aProp.Value <<= nEnum;
+ aProp.Value <<= static_cast<sal_Int16>(eKind);
rDest.push_back( aProp );
}
}
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 48928069d36f..0eb5f9b38e8b 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -41,7 +41,6 @@
#include <xmloff/XMLShapeStyleContext.hxx>
#include <xmloff/xmluconv.hxx>
#include <com/sun/star/container/XNamed.hpp>
-#include <com/sun/star/drawing/CircleKind.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/awt/XControlModel.hpp>
#include <com/sun/star/drawing/XControlShape.hpp>
@@ -54,7 +53,6 @@
#include "xexptran.hxx"
#include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
#include <com/sun/star/beans/XPropertySetInfo.hpp>
-#include <com/sun/star/drawing/ConnectorType.hpp>
#include <com/sun/star/drawing/HomogenMatrix3.hpp>
#include <sax/tools/converter.hxx>
@@ -97,7 +95,7 @@ using namespace ::com::sun::star::document;
using namespace ::xmloff::token;
using namespace ::xmloff::EnhancedCustomShapeToken;
-SvXMLEnumMapEntry const aXML_GlueAlignment_EnumMap[] =
+SvXMLEnumMapEntry<drawing::Alignment> const aXML_GlueAlignment_EnumMap[] =
{
{ XML_TOP_LEFT, drawing::Alignment_TOP_LEFT },
{ XML_TOP, drawing::Alignment_TOP },
@@ -108,10 +106,10 @@ SvXMLEnumMapEntry const aXML_GlueAlignment_EnumMap[] =
{ XML_BOTTOM_LEFT, drawing::Alignment_BOTTOM_LEFT },
{ XML_BOTTOM, drawing::Alignment_BOTTOM },
{ XML_BOTTOM_RIGHT, drawing::Alignment_BOTTOM_RIGHT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::Alignment)0 }
};
-SvXMLEnumMapEntry const aXML_GlueEscapeDirection_EnumMap[] =
+SvXMLEnumMapEntry<drawing::EscapeDirection> const aXML_GlueEscapeDirection_EnumMap[] =
{
{ XML_AUTO, drawing::EscapeDirection_SMART },
{ XML_LEFT, drawing::EscapeDirection_LEFT },
@@ -120,7 +118,7 @@ SvXMLEnumMapEntry const aXML_GlueEscapeDirection_EnumMap[] =
{ XML_DOWN, drawing::EscapeDirection_DOWN },
{ XML_HORIZONTAL, drawing::EscapeDirection_HORIZONTAL },
{ XML_VERTICAL, drawing::EscapeDirection_VERTICAL },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::EscapeDirection)0 }
};
static bool ImpIsEmptyURL( const OUString& rURL )
@@ -304,20 +302,16 @@ void SdXMLShapeContext::addGluePoint( const uno::Reference< xml::sax::XAttribute
}
else if( IsXMLToken( aLocalName, XML_ALIGN ) )
{
- sal_uInt16 eKind;
+ drawing::Alignment eKind;
if( SvXMLUnitConverter::convertEnum( eKind, sValue, aXML_GlueAlignment_EnumMap ) )
{
- aGluePoint.PositionAlignment = (drawing::Alignment)eKind;
+ aGluePoint.PositionAlignment = eKind;
aGluePoint.IsRelative = false;
}
}
else if( IsXMLToken( aLocalName, XML_ESCAPE_DIRECTION ) )
{
- sal_uInt16 eKind;
- if( SvXMLUnitConverter::convertEnum( eKind, sValue, aXML_GlueEscapeDirection_EnumMap ) )
- {
- aGluePoint.Escape = (drawing::EscapeDirection)eKind;
- }
+ SvXMLUnitConverter::convertEnum( aGluePoint.Escape, sValue, aXML_GlueEscapeDirection_EnumMap );
}
}
}
@@ -1173,11 +1167,7 @@ void SdXMLEllipseShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStr
{
if( IsXMLToken( rLocalName, XML_KIND ) )
{
- sal_uInt16 eKind;
- if( SvXMLUnitConverter::convertEnum( eKind, rValue, aXML_CircleKind_EnumMap ) )
- {
- meKind = eKind;
- }
+ SvXMLUnitConverter::convertEnum( meKind, rValue, aXML_CircleKind_EnumMap );
return;
}
if( IsXMLToken( rLocalName, XML_START_ANGLE ) )
@@ -1754,7 +1744,7 @@ SdXMLConnectorShapeContext::SdXMLConnectorShapeContext(
: SdXMLShapeContext( rImport, nPrfx, rLocalName, xAttrList, rShapes, bTemporaryShape ),
maStart(0,0),
maEnd(1,1),
- mnType( (sal_uInt16)drawing::ConnectorType_STANDARD ),
+ mnType( drawing::ConnectorType_STANDARD ),
mnStartGlueId(-1),
mnEndGlueId(-1),
mnDelta1(0),
diff --git a/xmloff/source/draw/ximpshap.hxx b/xmloff/source/draw/ximpshap.hxx
index dc8e219d6344..6fa574c9e3d9 100644
--- a/xmloff/source/draw/ximpshap.hxx
+++ b/xmloff/source/draw/ximpshap.hxx
@@ -24,6 +24,10 @@
#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/document/XActionLockable.hpp>
+#include <com/sun/star/drawing/Alignment.hpp>
+#include <com/sun/star/drawing/CircleKind.hpp>
+#include <com/sun/star/drawing/ConnectorType.hpp>
+#include <com/sun/star/drawing/EscapeDirection.hpp>
#include <com/sun/star/container/XIdentifierContainer.hpp>
#include <xmloff/xmlictxt.hxx>
#include "sdxmlimp_impl.hxx"
@@ -37,7 +41,7 @@
#include <xmloff/xmlmultiimagehelper.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
// common shape context
@@ -173,7 +177,7 @@ class SdXMLEllipseShapeContext : public SdXMLShapeContext
sal_Int32 mnRX;
sal_Int32 mnRY;
- sal_uInt16 meKind;
+ css::drawing::CircleKind meKind;
sal_Int32 mnStartAngle;
sal_Int32 mnEndAngle;
public:
@@ -281,7 +285,8 @@ private:
css::awt::Point maStart;
css::awt::Point maEnd;
- sal_uInt16 mnType;
+ css::drawing::ConnectorType
+ mnType;
OUString maStartShapeId;
sal_Int32 mnStartGlueId;
@@ -619,8 +624,8 @@ private:
bool maTemplateStylesUsed[6];
};
-extern SvXMLEnumMapEntry const aXML_GlueAlignment_EnumMap[];
-extern SvXMLEnumMapEntry const aXML_GlueEscapeDirection_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::Alignment> const aXML_GlueAlignment_EnumMap[];
+extern SvXMLEnumMapEntry<css::drawing::EscapeDirection> const aXML_GlueEscapeDirection_EnumMap[];
#endif // INCLUDED_XMLOFF_SOURCE_DRAW_XIMPSHAP_HXX
diff --git a/xmloff/source/forms/controlpropertyhdl.cxx b/xmloff/source/forms/controlpropertyhdl.cxx
index 43e9d8760b6f..2b657689635d 100644
--- a/xmloff/source/forms/controlpropertyhdl.cxx
+++ b/xmloff/source/forms/controlpropertyhdl.cxx
@@ -124,7 +124,7 @@ namespace xmloff
if (_rValue >>= nFontEmphasis)
{
// the type
- sal_Int16 nType = nFontEmphasis & ~(awt::FontEmphasisMark::ABOVE | awt::FontEmphasisMark::BELOW);
+ sal_uInt16 nType = nFontEmphasis & ~(awt::FontEmphasisMark::ABOVE | awt::FontEmphasisMark::BELOW);
// the position of the mark
bool bBelow = 0 != (nFontEmphasis & awt::FontEmphasisMark::BELOW);
@@ -184,7 +184,7 @@ namespace xmloff
if (bSuccess)
{
nEmphasis |= bBelow ? awt::FontEmphasisMark::BELOW : awt::FontEmphasisMark::ABOVE;
- _rValue <<= (sal_Int16)nEmphasis;
+ _rValue <<= nEmphasis;
}
return bSuccess;
@@ -242,7 +242,7 @@ namespace xmloff
{
case STYLE:
{
- sal_Int16 nBorder = 0;
+ sal_uInt16 nBorder = 0;
bSuccess = (_rValue >>= nBorder)
&& SvXMLUnitConverter::convertEnum( aOut, nBorder, aBorderTypeMap );
}
diff --git a/xmloff/source/forms/elementexport.cxx b/xmloff/source/forms/elementexport.cxx
index 29d837bb347b..a2a1b10fc580 100644
--- a/xmloff/source/forms/elementexport.cxx
+++ b/xmloff/source/forms/elementexport.cxx
@@ -663,7 +663,7 @@ namespace xmloff
OAttributeMetaData::getCommonControlAttributeName( CCAFlags::Orientation ),
PROPERTY_ORIENTATION,
aOrientationMap,
- ScrollBarOrientation::HORIZONTAL
+ (sal_uInt16)ScrollBarOrientation::HORIZONTAL
);
#if OSL_DEBUG_LEVEL > 0
// reset the bit for later checking
@@ -1784,7 +1784,7 @@ namespace xmloff
OUStringBuffer sBuffer;
SvXMLUnitConverter::convertEnum(
sBuffer,
- (sal_uInt16)nLinkageType,
+ nLinkageType,
aListLinkageMap
);
diff --git a/xmloff/source/forms/formattributes.cxx b/xmloff/source/forms/formattributes.cxx
index fb04f93b9708..e69f984806de 100644
--- a/xmloff/source/forms/formattributes.cxx
+++ b/xmloff/source/forms/formattributes.cxx
@@ -247,9 +247,9 @@ namespace xmloff
implAdd( _pAttributeName, _rPropertyName, ::cppu::UnoType<sal_Int32>::get(), OUString::number( _nAttributeDefault ) );
}
- void OAttribute2Property::addEnumProperty(
+ void OAttribute2Property::addEnumPropertyImpl(
const sal_Char* _pAttributeName, const OUString& _rPropertyName,
- const sal_uInt16 _nAttributeDefault, const SvXMLEnumMapEntry* _pValueMap,
+ const sal_uInt16 _nAttributeDefault, const SvXMLEnumMapEntry<sal_uInt16>* _pValueMap,
const css::uno::Type* _pType)
{
OUStringBuffer aDefault;
diff --git a/xmloff/source/forms/formattributes.hxx b/xmloff/source/forms/formattributes.hxx
index fcfab79fbde7..a5dd78959604 100644
--- a/xmloff/source/forms/formattributes.hxx
+++ b/xmloff/source/forms/formattributes.hxx
@@ -30,6 +30,7 @@
#include <xmloff/xmlnmspe.hxx>
#include <o3tl/typed_flags_set.hxx>
+template<typename EnumT>
struct SvXMLEnumMapEntry;
// flags for common control attributes
@@ -280,8 +281,9 @@ namespace xmloff
css::uno::Type aPropertyType; // the property type
// entries which are special to some value types
- const SvXMLEnumMapEntry* pEnumMap; // the enum map, if appliable
- bool bInverseSemantics; // for booleans: attribute and property value have the same or an inverse semantics?
+ const SvXMLEnumMapEntry<sal_uInt16>*
+ pEnumMap; // the enum map, if applicable
+ bool bInverseSemantics; // for booleans: attribute and property value have the same or an inverse semantics?
AttributeAssignment() : pEnumMap(nullptr), bInverseSemantics(false) { }
};
@@ -373,12 +375,21 @@ namespace xmloff
@param _pType
the type of the property. May be NULL, in this case 32bit integer is assumed.
*/
+ template<typename EnumT>
void addEnumProperty(
const sal_Char* _pAttributeName, const OUString& _rPropertyName,
- const sal_uInt16 _nAttributeDefault, const SvXMLEnumMapEntry* _pValueMap,
- const css::uno::Type* _pType = nullptr);
+ const sal_uInt16 _nAttributeDefault, const SvXMLEnumMapEntry<EnumT>* _pValueMap,
+ const css::uno::Type* _pType = nullptr)
+ {
+ addEnumPropertyImpl(_pAttributeName, _rPropertyName, _nAttributeDefault,
+ reinterpret_cast<const SvXMLEnumMapEntry<sal_uInt16>*>(_pValueMap), _pType);
+ }
private:
+ void addEnumPropertyImpl(
+ const sal_Char* _pAttributeName, const OUString& _rPropertyName,
+ const sal_uInt16 _nAttributeDefault, const SvXMLEnumMapEntry<sal_uInt16>* _pValueMap,
+ const css::uno::Type* _pType = nullptr);
/// some common code for the various add*Property methods
AttributeAssignment& implAdd(
const sal_Char* _pAttributeName, const OUString& _rPropertyName,
diff --git a/xmloff/source/forms/formenums.cxx b/xmloff/source/forms/formenums.cxx
index fd5dc8384f42..30b13cdb82e9 100644
--- a/xmloff/source/forms/formenums.cxx
+++ b/xmloff/source/forms/formenums.cxx
@@ -39,162 +39,154 @@
namespace xmloff
{
- using namespace ::com::sun::star::form;
- using namespace ::com::sun::star::sdb;
- using namespace ::com::sun::star::awt;
- using namespace ::com::sun::star;
- using namespace ::xmloff::token;
+using namespace ::com::sun::star::form;
+using namespace ::com::sun::star::sdb;
+using namespace ::com::sun::star::awt;
+using namespace ::com::sun::star;
+using namespace ::xmloff::token;
- // FormSubmitEncoding
- const SvXMLEnumMapEntry aSubmitEncodingMap[] =
- {
- { XML_APPLICATION_X_WWW_FORM_URLENCODED, FormSubmitEncoding_URL },
- { XML_MULTIPART_FORMDATA, FormSubmitEncoding_MULTIPART },
- { XML_APPLICATION_TEXT, FormSubmitEncoding_TEXT },
- { XML_TOKEN_INVALID, 0 }
- };
- // FormSubmitMethod
- const SvXMLEnumMapEntry aSubmitMethodMap[] =
- {
- { XML_GET, FormSubmitMethod_GET },
- { XML_POST, FormSubmitMethod_POST },
- { XML_TOKEN_INVALID, 0 }
- };
-
- // CommandType
- const SvXMLEnumMapEntry aCommandTypeMap[] =
- {
- { XML_TABLE, CommandType::TABLE },
- { XML_QUERY, CommandType::QUERY },
- { XML_COMMAND, CommandType::COMMAND },
- { XML_TOKEN_INVALID, 0 }
- };
- // NavigationBarMode
- const SvXMLEnumMapEntry aNavigationTypeMap[] =
- {
- { XML_NONE, NavigationBarMode_NONE },
- { XML_CURRENT, NavigationBarMode_CURRENT },
- { XML_PARENT, NavigationBarMode_PARENT },
- { XML_TOKEN_INVALID, 0 }
- };
- // TabulatorCycle
- const SvXMLEnumMapEntry aTabulatorCycleMap[] =
- {
- { XML_RECORDS, TabulatorCycle_RECORDS },
- { XML_CURRENT, TabulatorCycle_CURRENT },
- { XML_PAGE, TabulatorCycle_PAGE },
- { XML_TOKEN_INVALID, 0 }
- };
- // FormButtonType
- const SvXMLEnumMapEntry aFormButtonTypeMap[] =
- {
- { XML_PUSH, FormButtonType_PUSH },
- { XML_SUBMIT, FormButtonType_SUBMIT },
- { XML_RESET, FormButtonType_RESET },
- { XML_URL, FormButtonType_URL },
- { XML_TOKEN_INVALID, 0 }
- };
- // ListSourceType
- const SvXMLEnumMapEntry aListSourceTypeMap[] =
- {
- { XML_VALUE_LIST, ListSourceType_VALUELIST },
- { XML_TABLE, ListSourceType_TABLE },
- { XML_QUERY, ListSourceType_QUERY },
- { XML_SQL, ListSourceType_SQL },
- { XML_SQL_PASS_THROUGH, ListSourceType_SQLPASSTHROUGH },
- { XML_TABLE_FIELDS, ListSourceType_TABLEFIELDS },
- { XML_TOKEN_INVALID, 0 }
- };
- // check state of a checkbox
- const SvXMLEnumMapEntry aCheckStateMap[] =
- {
- { XML_UNCHECKED, TRISTATE_FALSE },
- { XML_CHECKED, TRISTATE_TRUE },
- { XML_UNKNOWN, TRISTATE_INDET },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aTextAlignMap[] =
- {
- { XML_START, awt::TextAlign::LEFT },
- { XML_CENTER, awt::TextAlign::CENTER },
- { XML_END, awt::TextAlign::RIGHT },
- { XML_JUSTIFY, (sal_uInt16)-1 },
- { XML_JUSTIFIED, (sal_uInt16)-1 },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aBorderTypeMap[] =
- {
- { XML_NONE, 0 },
- { XML_HIDDEN, 0 },
- { XML_SOLID, 2 },
- { XML_DOUBLE, 2 },
- { XML_DOTTED, 2 },
- { XML_DASHED, 2 },
- { XML_GROOVE, 1 },
- { XML_RIDGE, 1 },
- { XML_INSET, 1 },
- { XML_OUTSET, 1 },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aFontEmphasisMap[] =
- {
- { XML_NONE, awt::FontEmphasisMark::NONE },
- { XML_DOT, awt::FontEmphasisMark::DOT },
- { XML_CIRCLE, awt::FontEmphasisMark::CIRCLE },
- { XML_DISC, awt::FontEmphasisMark::DISC },
- { XML_ACCENT, awt::FontEmphasisMark::ACCENT },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aFontReliefMap[] =
- {
- { XML_NONE, FontRelief::NONE },
- { XML_ENGRAVED, FontRelief::ENGRAVED },
- { XML_EMBOSSED, FontRelief::EMBOSSED },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aListLinkageMap[] =
- {
- { XML_SELECTION, 0 },
- { XML_SELECTION_INDEXES, 1 },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aOrientationMap[] =
- {
- { XML_HORIZONTAL, ScrollBarOrientation::HORIZONTAL },
- { XML_VERTICAL, ScrollBarOrientation::VERTICAL },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aVisualEffectMap[] =
- {
- { XML_NONE, VisualEffect::NONE },
- { XML_3D, VisualEffect::LOOK3D },
- { XML_FLAT, VisualEffect::FLAT },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aImagePositionMap[] =
- {
- { XML_START, 0 },
- { XML_END, 1 },
- { XML_TOP, 2 },
- { XML_BOTTOM, 3 },
- { XML_CENTER, (sal_uInt16)-1 },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aImageAlignMap[] =
- {
- { XML_START, 0 },
- { XML_CENTER, 1 },
- { XML_END, 2 },
- { XML_TOKEN_INVALID, 0 }
- };
- const SvXMLEnumMapEntry aScaleModeMap[] =
- {
- { XML_BACKGROUND_NO_REPEAT, ImageScaleMode::NONE },
- { XML_REPEAT, ImageScaleMode::NONE }, // repeating the image is not supported
- { XML_STRETCH, ImageScaleMode::ANISOTROPIC },
- { XML_SCALE, ImageScaleMode::ISOTROPIC },
- { XML_TOKEN_INVALID, ImageScaleMode::NONE }
- };
+const SvXMLEnumMapEntry<FormSubmitEncoding> aSubmitEncodingMap[] =
+{
+ { XML_APPLICATION_X_WWW_FORM_URLENCODED, FormSubmitEncoding_URL },
+ { XML_MULTIPART_FORMDATA, FormSubmitEncoding_MULTIPART },
+ { XML_APPLICATION_TEXT, FormSubmitEncoding_TEXT },
+ { XML_TOKEN_INVALID, (FormSubmitEncoding)0 }
+};
+const SvXMLEnumMapEntry<FormSubmitMethod> aSubmitMethodMap[] =
+{
+ { XML_GET, FormSubmitMethod_GET },
+ { XML_POST, FormSubmitMethod_POST },
+ { XML_TOKEN_INVALID, (FormSubmitMethod)0 }
+};
+const SvXMLEnumMapEntry<sal_Int32> aCommandTypeMap[] =
+{
+ { XML_TABLE, CommandType::TABLE },
+ { XML_QUERY, CommandType::QUERY },
+ { XML_COMMAND, CommandType::COMMAND },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<NavigationBarMode> aNavigationTypeMap[] =
+{
+ { XML_NONE, NavigationBarMode_NONE },
+ { XML_CURRENT, NavigationBarMode_CURRENT },
+ { XML_PARENT, NavigationBarMode_PARENT },
+ { XML_TOKEN_INVALID, (NavigationBarMode)0 }
+};
+const SvXMLEnumMapEntry<TabulatorCycle> aTabulatorCycleMap[] =
+{
+ { XML_RECORDS, TabulatorCycle_RECORDS },
+ { XML_CURRENT, TabulatorCycle_CURRENT },
+ { XML_PAGE, TabulatorCycle_PAGE },
+ { XML_TOKEN_INVALID, (TabulatorCycle)0 }
+};
+const SvXMLEnumMapEntry<FormButtonType> aFormButtonTypeMap[] =
+{
+ { XML_PUSH, FormButtonType_PUSH },
+ { XML_SUBMIT, FormButtonType_SUBMIT },
+ { XML_RESET, FormButtonType_RESET },
+ { XML_URL, FormButtonType_URL },
+ { XML_TOKEN_INVALID, (FormButtonType)0 }
+};
+const SvXMLEnumMapEntry<ListSourceType> aListSourceTypeMap[] =
+{
+ { XML_VALUE_LIST, ListSourceType_VALUELIST },
+ { XML_TABLE, ListSourceType_TABLE },
+ { XML_QUERY, ListSourceType_QUERY },
+ { XML_SQL, ListSourceType_SQL },
+ { XML_SQL_PASS_THROUGH, ListSourceType_SQLPASSTHROUGH },
+ { XML_TABLE_FIELDS, ListSourceType_TABLEFIELDS },
+ { XML_TOKEN_INVALID, (ListSourceType)0 }
+};
+// check state of a checkbox
+const SvXMLEnumMapEntry<TriState> aCheckStateMap[] =
+{
+ { XML_UNCHECKED, TRISTATE_FALSE },
+ { XML_CHECKED, TRISTATE_TRUE },
+ { XML_UNKNOWN, TRISTATE_INDET },
+ { XML_TOKEN_INVALID, (TriState)0 }
+};
+const SvXMLEnumMapEntry<sal_Int16> aTextAlignMap[] =
+{
+ { XML_START, (sal_uInt16)awt::TextAlign::LEFT },
+ { XML_CENTER, (sal_uInt16)awt::TextAlign::CENTER },
+ { XML_END, (sal_uInt16)awt::TextAlign::RIGHT },
+ { XML_JUSTIFY, -1 },
+ { XML_JUSTIFIED, -1 },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_uInt16> aBorderTypeMap[] =
+{
+ { XML_NONE, 0 },
+ { XML_HIDDEN, 0 },
+ { XML_SOLID, 2 },
+ { XML_DOUBLE, 2 },
+ { XML_DOTTED, 2 },
+ { XML_DASHED, 2 },
+ { XML_GROOVE, 1 },
+ { XML_RIDGE, 1 },
+ { XML_INSET, 1 },
+ { XML_OUTSET, 1 },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_uInt16> aFontEmphasisMap[] =
+{
+ { XML_NONE, awt::FontEmphasisMark::NONE },
+ { XML_DOT, awt::FontEmphasisMark::DOT },
+ { XML_CIRCLE, awt::FontEmphasisMark::CIRCLE },
+ { XML_DISC, awt::FontEmphasisMark::DISC },
+ { XML_ACCENT, awt::FontEmphasisMark::ACCENT },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_uInt16> aFontReliefMap[] =
+{
+ { XML_NONE, FontRelief::NONE },
+ { XML_ENGRAVED, FontRelief::ENGRAVED },
+ { XML_EMBOSSED, FontRelief::EMBOSSED },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_Int16> aListLinkageMap[] =
+{
+ { XML_SELECTION, 0 },
+ { XML_SELECTION_INDEXES, 1 },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_uInt16> aOrientationMap[] =
+{
+ { XML_HORIZONTAL, ScrollBarOrientation::HORIZONTAL },
+ { XML_VERTICAL, ScrollBarOrientation::VERTICAL },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_Int16> aVisualEffectMap[] =
+{
+ { XML_NONE, VisualEffect::NONE },
+ { XML_3D, VisualEffect::LOOK3D },
+ { XML_FLAT, VisualEffect::FLAT },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_Int16> aImagePositionMap[] =
+{
+ { XML_START, 0 },
+ { XML_END, 1 },
+ { XML_TOP, 2 },
+ { XML_BOTTOM, 3 },
+ { XML_CENTER, -1 },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_uInt16> aImageAlignMap[] =
+{
+ { XML_START, 0 },
+ { XML_CENTER, 1 },
+ { XML_END, 2 },
+ { XML_TOKEN_INVALID, 0 }
+};
+const SvXMLEnumMapEntry<sal_uInt16> aScaleModeMap[] =
+{
+ { XML_BACKGROUND_NO_REPEAT, ImageScaleMode::NONE },
+ { XML_REPEAT, ImageScaleMode::NONE }, // repeating the image is not supported
+ { XML_STRETCH, ImageScaleMode::ANISOTROPIC },
+ { XML_SCALE, ImageScaleMode::ISOTROPIC },
+ { XML_TOKEN_INVALID, 0 }
+};
} // namespace xmloff
diff --git a/xmloff/source/forms/formenums.hxx b/xmloff/source/forms/formenums.hxx
index 6550c8ec90c5..7ed7dcf8acac 100644
--- a/xmloff/source/forms/formenums.hxx
+++ b/xmloff/source/forms/formenums.hxx
@@ -21,28 +21,35 @@
#define INCLUDED_XMLOFF_SOURCE_FORMS_FORMENUMS_HXX
#include <xmloff/xmlement.hxx>
+#include <com/sun/star/form/FormButtonType.hpp>
+#include <com/sun/star/form/FormSubmitEncoding.hpp>
+#include <com/sun/star/form/FormSubmitMethod.hpp>
+#include <com/sun/star/form/ListSourceType.hpp>
+#include <com/sun/star/form/NavigationBarMode.hpp>
+#include <com/sun/star/form/TabulatorCycle.hpp>
+#include <tools/gen.hxx>
namespace xmloff
{
-extern const SvXMLEnumMapEntry aSubmitEncodingMap[];
-extern const SvXMLEnumMapEntry aSubmitMethodMap[];
-extern const SvXMLEnumMapEntry aCommandTypeMap[];
-extern const SvXMLEnumMapEntry aNavigationTypeMap[];
-extern const SvXMLEnumMapEntry aTabulatorCycleMap[];
-extern const SvXMLEnumMapEntry aFormButtonTypeMap[];
-extern const SvXMLEnumMapEntry aListSourceTypeMap[];
-extern const SvXMLEnumMapEntry aCheckStateMap[];
-extern const SvXMLEnumMapEntry aTextAlignMap[];
-extern const SvXMLEnumMapEntry aBorderTypeMap[];
-extern const SvXMLEnumMapEntry aFontEmphasisMap[];
-extern const SvXMLEnumMapEntry aFontReliefMap[];
-extern const SvXMLEnumMapEntry aListLinkageMap[];
-extern const SvXMLEnumMapEntry aOrientationMap[];
-extern const SvXMLEnumMapEntry aVisualEffectMap[];
-extern const SvXMLEnumMapEntry aImagePositionMap[];
-extern const SvXMLEnumMapEntry aImageAlignMap[];
-extern const SvXMLEnumMapEntry aScaleModeMap[];
+extern const SvXMLEnumMapEntry<css::form::FormSubmitEncoding> aSubmitEncodingMap[];
+extern const SvXMLEnumMapEntry<css::form::FormSubmitMethod> aSubmitMethodMap[];
+extern const SvXMLEnumMapEntry<sal_Int32> aCommandTypeMap[];
+extern const SvXMLEnumMapEntry<css::form::NavigationBarMode> aNavigationTypeMap[];
+extern const SvXMLEnumMapEntry<css::form::TabulatorCycle> aTabulatorCycleMap[];
+extern const SvXMLEnumMapEntry<css::form::FormButtonType> aFormButtonTypeMap[];
+extern const SvXMLEnumMapEntry<css::form::ListSourceType> aListSourceTypeMap[];
+extern const SvXMLEnumMapEntry<TriState> aCheckStateMap[];
+extern const SvXMLEnumMapEntry<sal_Int16> aTextAlignMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aBorderTypeMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aFontEmphasisMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aFontReliefMap[];
+extern const SvXMLEnumMapEntry<sal_Int16> aListLinkageMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aOrientationMap[];
+extern const SvXMLEnumMapEntry<sal_Int16> aVisualEffectMap[];
+extern const SvXMLEnumMapEntry<sal_Int16> aImagePositionMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aImageAlignMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aScaleModeMap[];
} // namespace xmloff
diff --git a/xmloff/source/forms/propertyexport.cxx b/xmloff/source/forms/propertyexport.cxx
index b365d66f40e0..11b40dfc7c0c 100644
--- a/xmloff/source/forms/propertyexport.cxx
+++ b/xmloff/source/forms/propertyexport.cxx
@@ -341,17 +341,17 @@ namespace xmloff
exportedProperty( _rPropertyName );
}
- void OPropertyExport::exportEnumPropertyAttribute(
+ void OPropertyExport::exportEnumPropertyAttributeImpl(
const sal_uInt16 _nNamespaceKey, const sal_Char* _pAttributeName,
- const OUString &rPropertyName, const SvXMLEnumMapEntry* _pValueMap,
- const sal_Int32 _nDefault, const bool _bVoidDefault)
+ const OUString &rPropertyName, const SvXMLEnumMapEntry<sal_uInt16>* _pValueMap,
+ const sal_uInt16 _nDefault, const bool _bVoidDefault)
{
// get the value
- sal_Int32 nCurrentValue(_nDefault);
Any aValue = m_xProps->getPropertyValue(rPropertyName);
if (aValue.hasValue())
{ // we have a non-void current value
+ sal_Int32 nCurrentValue(_nDefault);
::cppu::enum2int(nCurrentValue, aValue);
// add the attribute
diff --git a/xmloff/source/forms/propertyexport.hxx b/xmloff/source/forms/propertyexport.hxx
index ff2efadb3a41..779423272c9d 100644
--- a/xmloff/source/forms/propertyexport.hxx
+++ b/xmloff/source/forms/propertyexport.hxx
@@ -211,13 +211,26 @@ namespace xmloff
the default of the attribute. If the current property value equals this default, no
attribute is added.
*/
+ template<typename EnumT>
void exportEnumPropertyAttribute(
const sal_uInt16 _nNamespaceKey,
const sal_Char* _pAttributeName,
const OUString& _rPropertyName,
- const SvXMLEnumMapEntry* _pValueMap,
- const sal_Int32 _nDefault,
- const bool _bVoidDefault = false);
+ const SvXMLEnumMapEntry<EnumT>* _pValueMap,
+ const EnumT _nDefault,
+ const bool _bVoidDefault = false)
+ {
+ exportEnumPropertyAttributeImpl(_nNamespaceKey, _pAttributeName, _rPropertyName,
+ reinterpret_cast<const SvXMLEnumMapEntry<sal_uInt16>*>(_pValueMap),
+ static_cast<sal_Int16>(_nDefault), _bVoidDefault);
+ }
+ void exportEnumPropertyAttributeImpl(
+ const sal_uInt16 _nNamespaceKey,
+ const sal_Char* _pAttributeName,
+ const OUString& _rPropertyName,
+ const SvXMLEnumMapEntry<sal_uInt16>* _pValueMap,
+ const sal_uInt16 _nDefault,
+ const bool _bVoidDefault);
// some very special methods for some very special attribute/property pairs
diff --git a/xmloff/source/forms/propertyimport.cxx b/xmloff/source/forms/propertyimport.cxx
index 6ad41b0e59b9..16b1e36de110 100644
--- a/xmloff/source/forms/propertyimport.cxx
+++ b/xmloff/source/forms/propertyimport.cxx
@@ -84,7 +84,7 @@ namespace
}
Any PropertyConversion::convertString( const css::uno::Type& _rExpectedType,
- const OUString& _rReadCharacters, const SvXMLEnumMapEntry* _pEnumMap, const bool _bInvertBoolean )
+ const OUString& _rReadCharacters, const SvXMLEnumMapEntry<sal_uInt16>* _pEnumMap, const bool _bInvertBoolean )
{
Any aReturn;
bool bEnumAsInt = false;
diff --git a/xmloff/source/forms/propertyimport.hxx b/xmloff/source/forms/propertyimport.hxx
index 8cb81595f04e..70b1dd71ec84 100644
--- a/xmloff/source/forms/propertyimport.hxx
+++ b/xmloff/source/forms/propertyimport.hxx
@@ -42,10 +42,21 @@ namespace xmloff
class PropertyConversion
{
public:
+ template<typename EnumT>
static css::uno::Any convertString(
const css::uno::Type& _rExpectedType,
const OUString& _rReadCharacters,
- const SvXMLEnumMapEntry* _pEnumMap = nullptr,
+ const SvXMLEnumMapEntry<EnumT>* _pEnumMap = nullptr,
+ const bool _bInvertBoolean = false
+ )
+ {
+ return convertString(_rExpectedType, _rReadCharacters,
+ reinterpret_cast<const SvXMLEnumMapEntry<sal_uInt16>*>(_pEnumMap), _bInvertBoolean);
+ }
+ static css::uno::Any convertString(
+ const css::uno::Type& _rExpectedType,
+ const OUString& _rReadCharacters,
+ const SvXMLEnumMapEntry<sal_uInt16>* _pEnumMap = nullptr,
const bool _bInvertBoolean = false
);
diff --git a/xmloff/source/style/DashStyle.cxx b/xmloff/source/style/DashStyle.cxx
index 24b0e0e09d7a..6e6884b7ae5a 100644
--- a/xmloff/source/style/DashStyle.cxx
+++ b/xmloff/source/style/DashStyle.cxx
@@ -64,13 +64,13 @@ static SvXMLTokenMapEntry aDashStyleAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-SvXMLEnumMapEntry const pXML_DashStyle_Enum[] =
+SvXMLEnumMapEntry<drawing::DashStyle> const pXML_DashStyle_Enum[] =
{
{ XML_RECT, drawing::DashStyle_RECT },
{ XML_ROUND, drawing::DashStyle_ROUND },
{ XML_RECT, drawing::DashStyle_RECTRELATIVE },
{ XML_ROUND, drawing::DashStyle_ROUNDRELATIVE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::DashStyle)0 }
};
// Import
@@ -127,11 +127,7 @@ void XMLDashStyleImport::importXML(
break;
case XML_TOK_DASH_STYLE:
{
- sal_uInt16 eValue;
- if( SvXMLUnitConverter::convertEnum( eValue, rStrValue, pXML_DashStyle_Enum ) )
- {
- aLineDash.Style = (drawing::DashStyle) eValue;
- }
+ SvXMLUnitConverter::convertEnum( aLineDash.Style, rStrValue, pXML_DashStyle_Enum );
}
break;
case XML_TOK_DASH_DOTS1:
diff --git a/xmloff/source/style/EnumPropertyHdl.cxx b/xmloff/source/style/EnumPropertyHdl.cxx
index fcfe449f5758..c20fd050676c 100644
--- a/xmloff/source/style/EnumPropertyHdl.cxx
+++ b/xmloff/source/style/EnumPropertyHdl.cxx
@@ -30,7 +30,6 @@ using namespace ::com::sun::star::uno;
// class XMLEnumPropertyHdl
-
XMLEnumPropertyHdl::~XMLEnumPropertyHdl()
{
// Nothing to do
@@ -75,7 +74,7 @@ bool XMLEnumPropertyHdl::exportXML( OUString& rStrExpValue, const Any& rValue, c
OUStringBuffer aOut;
- if(!SvXMLUnitConverter::convertEnum( aOut, nValue, mpEnumMap ))
+ if(!SvXMLUnitConverter::convertEnum( aOut, (sal_uInt16)nValue, mpEnumMap ))
return false;
rStrExpValue = aOut.makeStringAndClear();
diff --git a/xmloff/source/style/GradientStyle.cxx b/xmloff/source/style/GradientStyle.cxx
index ac05a0dbacee..45353f1a73fe 100644
--- a/xmloff/source/style/GradientStyle.cxx
+++ b/xmloff/source/style/GradientStyle.cxx
@@ -55,7 +55,7 @@ enum SvXMLTokenMapAttrs
XML_TOK_TABSTOP_END=XML_TOK_UNKNOWN
};
-SvXMLEnumMapEntry const pXML_GradientStyle_Enum[] =
+SvXMLEnumMapEntry<awt::GradientStyle> const pXML_GradientStyle_Enum[] =
{
{ XML_GRADIENTSTYLE_LINEAR, awt::GradientStyle_LINEAR },
{ XML_GRADIENTSTYLE_AXIAL, awt::GradientStyle_AXIAL },
@@ -63,7 +63,7 @@ SvXMLEnumMapEntry const pXML_GradientStyle_Enum[] =
{ XML_GRADIENTSTYLE_ELLIPSOID, awt::GradientStyle_ELLIPTICAL },
{ XML_GRADIENTSTYLE_SQUARE, awt::GradientStyle_SQUARE },
{ XML_GRADIENTSTYLE_RECTANGULAR, awt::GradientStyle_RECT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (awt::GradientStyle)0 }
};
// Import
@@ -132,13 +132,7 @@ void XMLGradientStyleImport::importXML(
aDisplayName = rStrValue;
break;
case XML_TOK_GRADIENT_STYLE:
- {
- sal_uInt16 eValue;
- if( SvXMLUnitConverter::convertEnum( eValue, rStrValue, pXML_GradientStyle_Enum ) )
- {
- aGradient.Style = (awt::GradientStyle) eValue;
- }
- }
+ SvXMLUnitConverter::convertEnum( aGradient.Style, rStrValue, pXML_GradientStyle_Enum );
break;
case XML_TOK_GRADIENT_CX:
::sax::Converter::convertPercent( nTmpValue, rStrValue );
diff --git a/xmloff/source/style/HatchStyle.cxx b/xmloff/source/style/HatchStyle.cxx
index 99dddb2e692c..81a27084de93 100644
--- a/xmloff/source/style/HatchStyle.cxx
+++ b/xmloff/source/style/HatchStyle.cxx
@@ -49,12 +49,12 @@ enum SvXMLTokenMapAttrs
XML_TOK_TABSTOP_END=XML_TOK_UNKNOWN
};
-SvXMLEnumMapEntry const pXML_HatchStyle_Enum[] =
+SvXMLEnumMapEntry<drawing::HatchStyle> const pXML_HatchStyle_Enum[] =
{
{ XML_HATCHSTYLE_SINGLE, drawing::HatchStyle_SINGLE },
{ XML_HATCHSTYLE_DOUBLE, drawing::HatchStyle_DOUBLE },
{ XML_HATCHSTYLE_TRIPLE, drawing::HatchStyle_TRIPLE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::HatchStyle)0 }
};
// Import
@@ -86,7 +86,6 @@ void XMLHatchStyleImport::importXML(
XML_TOKEN_MAP_END
};
- bool bHasStyle = false;
OUString aDisplayName;
drawing::Hatch aHatch;
@@ -116,12 +115,7 @@ void XMLHatchStyleImport::importXML(
aDisplayName = rStrValue;
break;
case XML_TOK_HATCH_STYLE:
- {
- sal_uInt16 eValue;
- bHasStyle = SvXMLUnitConverter::convertEnum( eValue, rStrValue, pXML_HatchStyle_Enum );
- if( bHasStyle )
- aHatch.Style = (drawing::HatchStyle) eValue;
- }
+ SvXMLUnitConverter::convertEnum( aHatch.Style, rStrValue, pXML_HatchStyle_Enum );
break;
case XML_TOK_HATCH_COLOR:
::sax::Converter::convertColor(aHatch.Color, rStrValue);
diff --git a/xmloff/source/style/PageMasterPropHdlFactory.cxx b/xmloff/source/style/PageMasterPropHdlFactory.cxx
index 719b420ec0c6..e216566a8c0c 100644
--- a/xmloff/source/style/PageMasterPropHdlFactory.cxx
+++ b/xmloff/source/style/PageMasterPropHdlFactory.cxx
@@ -44,7 +44,7 @@ using namespace ::com::sun::star;
//UUUU
using namespace ::com::sun::star::drawing;
-static SvXMLEnumMapEntry const aXML_TextGridMode_ConstantMap[] =
+static SvXMLEnumMapEntry<sal_uInt16> const aXML_TextGridMode_ConstantMap[] =
{
{ XML_NONE, text::TextGridMode::NONE },
{ XML_LINE, text::TextGridMode::LINES },
@@ -134,7 +134,7 @@ const XMLPropertyHandler* XMLPageMasterPropHdlFactory::GetPropertyHandler( sal_I
//UUUU
case XML_SW_TYPE_FILLSTYLE:
- pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap, cppu::UnoType<FillStyle>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap );
break;
case XML_SW_TYPE_FILLBITMAPSIZE:
pHdl = new XMLFillBitmapSizePropertyHandler();
@@ -143,10 +143,10 @@ const XMLPropertyHandler* XMLPageMasterPropHdlFactory::GetPropertyHandler( sal_I
pHdl = new XMLBitmapLogicalSizePropertyHandler();
break;
case XML_SW_TYPE_BITMAP_REFPOINT:
- pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap, cppu::UnoType<RectanglePoint>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap );
break;
case XML_SW_TYPE_BITMAP_MODE:
- pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap, cppu::UnoType<BitmapMode>::get() );
+ pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap );
break;
case XML_SW_TYPE_BITMAPREPOFFSETX:
case XML_SW_TYPE_BITMAPREPOFFSETY:
diff --git a/xmloff/source/style/TransGradientStyle.cxx b/xmloff/source/style/TransGradientStyle.cxx
index ebd2b08e1125..d1be6cef0ff9 100644
--- a/xmloff/source/style/TransGradientStyle.cxx
+++ b/xmloff/source/style/TransGradientStyle.cxx
@@ -52,7 +52,7 @@ enum SvXMLTokenMapAttrs
XML_TOK_GRADIENT_BORDER
};
-SvXMLEnumMapEntry const pXML_GradientStyle_Enum[] =
+SvXMLEnumMapEntry<awt::GradientStyle> const pXML_GradientStyle_Enum[] =
{
{ XML_GRADIENTSTYLE_LINEAR, awt::GradientStyle_LINEAR },
{ XML_GRADIENTSTYLE_AXIAL, awt::GradientStyle_AXIAL },
@@ -60,7 +60,7 @@ SvXMLEnumMapEntry const pXML_GradientStyle_Enum[] =
{ XML_GRADIENTSTYLE_ELLIPSOID, awt::GradientStyle_ELLIPTICAL },
{ XML_GRADIENTSTYLE_SQUARE, awt::GradientStyle_SQUARE },
{ XML_GRADIENTSTYLE_RECTANGULAR, awt::GradientStyle_RECT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (awt::GradientStyle)0 }
};
// Import
@@ -132,11 +132,7 @@ void XMLTransGradientStyleImport::importXML(
break;
case XML_TOK_GRADIENT_STYLE:
{
- sal_uInt16 eValue;
- if( SvXMLUnitConverter::convertEnum( eValue, rStrValue, pXML_GradientStyle_Enum ) )
- {
- aGradient.Style = (awt::GradientStyle) eValue;
- }
+ SvXMLUnitConverter::convertEnum( aGradient.Style, rStrValue, pXML_GradientStyle_Enum );
}
break;
case XML_TOK_GRADIENT_CX:
diff --git a/xmloff/source/style/XMLBackgroundImageContext.cxx b/xmloff/source/style/XMLBackgroundImageContext.cxx
index c281fb750e79..e9981daed89e 100644
--- a/xmloff/source/style/XMLBackgroundImageContext.cxx
+++ b/xmloff/source/style/XMLBackgroundImageContext.cxx
@@ -70,18 +70,18 @@ static const SvXMLTokenMapEntry* lcl_getBGImgAttributesAttrTokenMap()
}
-static const SvXMLEnumMapEntry psXML_BrushHoriPos[] =
+static const SvXMLEnumMapEntry<GraphicLocation> psXML_BrushHoriPos[] =
{
{ XML_LEFT, GraphicLocation_LEFT_MIDDLE },
{ XML_RIGHT, GraphicLocation_RIGHT_MIDDLE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (GraphicLocation)0 }
};
-static const SvXMLEnumMapEntry psXML_BrushVertPos[] =
+static const SvXMLEnumMapEntry<GraphicLocation> psXML_BrushVertPos[] =
{
{ XML_TOP, GraphicLocation_MIDDLE_TOP },
{ XML_BOTTOM, GraphicLocation_MIDDLE_BOTTOM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (GraphicLocation)0 }
};
static void lcl_xmlbic_MergeHoriPos( GraphicLocation& ePos,
@@ -196,13 +196,13 @@ void XMLBackgroundImageContext::ProcessAttrs(
case XML_TOK_BGIMG_POSITION:
{
GraphicLocation eNewPos = GraphicLocation_NONE, eTmp;
- sal_uInt16 nTmp;
SvXMLTokenEnumerator aTokenEnum( rValue );
OUString aToken;
bool bHori = false, bVert = false;
bool bOK = true;
while( bOK && aTokenEnum.getNextToken( aToken ) )
{
+ GraphicLocation nTmpGraphicLocation;
if( bHori && bVert )
{
bOK = false;
@@ -247,26 +247,24 @@ void XMLBackgroundImageContext::ProcessAttrs(
else
eNewPos = GraphicLocation_MIDDLE_MIDDLE;
}
- else if( SvXMLUnitConverter::convertEnum( nTmp, aToken,
+ else if( SvXMLUnitConverter::convertEnum( nTmpGraphicLocation, aToken,
psXML_BrushHoriPos ) )
{
if( bVert )
- lcl_xmlbic_MergeHoriPos( eNewPos,
- (GraphicLocation)nTmp );
+ lcl_xmlbic_MergeHoriPos( eNewPos, nTmpGraphicLocation );
else if( !bHori )
- eNewPos = (GraphicLocation)nTmp;
+ eNewPos = nTmpGraphicLocation;
else
bOK = false;
bHori = true;
}
- else if( SvXMLUnitConverter::convertEnum( nTmp, aToken,
+ else if( SvXMLUnitConverter::convertEnum( nTmpGraphicLocation, aToken,
psXML_BrushVertPos ) )
{
if( bHori )
- lcl_xmlbic_MergeVertPos( eNewPos,
- (GraphicLocation)nTmp );
+ lcl_xmlbic_MergeVertPos( eNewPos, nTmpGraphicLocation );
else if( !bVert )
- eNewPos = (GraphicLocation)nTmp;
+ eNewPos = nTmpGraphicLocation;
else
bOK = false;
bVert = true;
@@ -284,13 +282,13 @@ void XMLBackgroundImageContext::ProcessAttrs(
break;
case XML_TOK_BGIMG_REPEAT:
{
- sal_uInt16 nPos = GraphicLocation_NONE;
- static const SvXMLEnumMapEntry psXML_BrushRepeat[] =
+ GraphicLocation nPos = GraphicLocation_NONE;
+ static const SvXMLEnumMapEntry<GraphicLocation> psXML_BrushRepeat[] =
{
- { XML_BACKGROUND_REPEAT, GraphicLocation_TILED },
- { XML_BACKGROUND_NO_REPEAT, GraphicLocation_MIDDLE_MIDDLE },
- { XML_BACKGROUND_STRETCH, GraphicLocation_AREA },
- { XML_TOKEN_INVALID, 0 }
+ { XML_BACKGROUND_REPEAT, GraphicLocation_TILED },
+ { XML_BACKGROUND_NO_REPEAT, GraphicLocation_MIDDLE_MIDDLE },
+ { XML_BACKGROUND_STRETCH, GraphicLocation_AREA },
+ { XML_TOKEN_INVALID, (GraphicLocation)0 }
};
if( SvXMLUnitConverter::convertEnum( nPos, rValue,
psXML_BrushRepeat ) )
@@ -299,7 +297,7 @@ void XMLBackgroundImageContext::ProcessAttrs(
GraphicLocation_NONE == ePos ||
GraphicLocation_AREA == ePos ||
GraphicLocation_TILED == ePos )
- ePos = (GraphicLocation)nPos;
+ ePos = nPos;
}
}
break;
diff --git a/xmloff/source/style/XMLConstantsPropertyHandler.cxx b/xmloff/source/style/XMLConstantsPropertyHandler.cxx
index ca3843f25fe1..0e86ec7722c8 100644
--- a/xmloff/source/style/XMLConstantsPropertyHandler.cxx
+++ b/xmloff/source/style/XMLConstantsPropertyHandler.cxx
@@ -27,14 +27,6 @@ using namespace ::com::sun::star::uno;
using ::xmloff::token::XMLTokenEnum;
-XMLConstantsPropertyHandler::XMLConstantsPropertyHandler(
- const SvXMLEnumMapEntry *pM,
- enum XMLTokenEnum eDflt ) :
- pMap( pM ),
- eDefault( eDflt )
-{
-}
-
XMLConstantsPropertyHandler::~XMLConstantsPropertyHandler()
{
}
diff --git a/xmloff/source/style/XMLFootnoteSeparatorExport.cxx b/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
index 610f700cd05b..74ca184edcfc 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
@@ -55,7 +55,7 @@ void XMLFootnoteSeparatorExport::exportXML(
assert(pProperties);
// initialize values
- sal_Int16 eLineAdjust = text::HorizontalAdjust_LEFT;
+ text::HorizontalAdjust eLineAdjust = text::HorizontalAdjust_LEFT;
sal_Int32 nLineColor = 0;
sal_Int32 nLineDistance = 0;
sal_Int8 nLineRelWidth = 0;
@@ -129,7 +129,7 @@ void XMLFootnoteSeparatorExport::exportXML(
}
// line style
- static const SvXMLEnumMapEntry aXML_LineStyle_Enum[] =
+ static const SvXMLEnumMapEntry<sal_Int8> aXML_LineStyle_Enum[] =
{
{ XML_NONE, 0 },
{ XML_SOLID, 1 },
@@ -145,12 +145,12 @@ void XMLFootnoteSeparatorExport::exportXML(
}
// adjustment
- static const SvXMLEnumMapEntry aXML_HorizontalAdjust_Enum[] =
+ static const SvXMLEnumMapEntry<text::HorizontalAdjust> aXML_HorizontalAdjust_Enum[] =
{
{ XML_LEFT, text::HorizontalAdjust_LEFT },
{ XML_CENTER, text::HorizontalAdjust_CENTER },
{ XML_RIGHT, text::HorizontalAdjust_RIGHT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (text::HorizontalAdjust)0 }
};
if (SvXMLUnitConverter::convertEnum(
diff --git a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
index 86ee5249f9d0..88791e0f70a9 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
@@ -77,7 +77,7 @@ void XMLFootnoteSeparatorImport::StartElement(
sal_Int16 nLineWeight = 0;
sal_Int32 nLineColor = 0;
sal_Int8 nLineRelWidth = 0;
- sal_Int16 eLineAdjust = text::HorizontalAdjust_LEFT; // enum text::HorizontalAdjust
+ text::HorizontalAdjust eLineAdjust = text::HorizontalAdjust_LEFT;
sal_Int32 nLineTextDistance = 0;
sal_Int32 nLineDistance = 0;
sal_Int8 nLineStyle = 0;
@@ -117,18 +117,16 @@ void XMLFootnoteSeparatorImport::StartElement(
}
else if (IsXMLToken( sLocalName, XML_ADJUSTMENT ))
{
- sal_uInt16 nTmpU;
- static const SvXMLEnumMapEntry aXML_HorizontalAdjust_Enum[] =
+ static const SvXMLEnumMapEntry<text::HorizontalAdjust> aXML_HorizontalAdjust_Enum[] =
{
{ XML_LEFT, text::HorizontalAdjust_LEFT },
{ XML_CENTER, text::HorizontalAdjust_CENTER },
{ XML_RIGHT, text::HorizontalAdjust_RIGHT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (text::HorizontalAdjust)0 }
};
- if (SvXMLUnitConverter::convertEnum(
- nTmpU, sAttrValue, aXML_HorizontalAdjust_Enum))
- eLineAdjust = (sal_Int16)nTmpU;
+ SvXMLUnitConverter::convertEnum(
+ eLineAdjust, sAttrValue, aXML_HorizontalAdjust_Enum);
}
else if (IsXMLToken( sLocalName, XML_REL_WIDTH ))
{
@@ -144,8 +142,7 @@ void XMLFootnoteSeparatorImport::StartElement(
}
else if (IsXMLToken( sLocalName, XML_LINE_STYLE ))
{
- sal_uInt16 nTmpU;
- static const SvXMLEnumMapEntry aXML_LineStyle_Enum[] =
+ static const SvXMLEnumMapEntry<sal_Int8> aXML_LineStyle_Enum[] =
{
{ XML_NONE, 0 },
{ XML_SOLID, 1 },
@@ -154,10 +151,7 @@ void XMLFootnoteSeparatorImport::StartElement(
{ XML_TOKEN_INVALID, 0 }
};
- if (SvXMLUnitConverter::convertEnum(
- nTmpU, sAttrValue, aXML_LineStyle_Enum))
- nLineStyle = (sal_Int8)nTmpU;
-
+ SvXMLUnitConverter::convertEnum(nLineStyle, sAttrValue, aXML_LineStyle_Enum);
}
}
}
diff --git a/xmloff/source/style/adjushdl.cxx b/xmloff/source/style/adjushdl.cxx
index 3abb34e2b3b3..bb2e36590612 100644
--- a/xmloff/source/style/adjushdl.cxx
+++ b/xmloff/source/style/adjushdl.cxx
@@ -28,7 +28,7 @@ using namespace ::com::sun::star;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const pXML_Para_Adjust_Enum[] =
+SvXMLEnumMapEntry<style::ParagraphAdjust> const pXML_Para_Adjust_Enum[] =
{
{ XML_START, style::ParagraphAdjust_LEFT },
{ XML_END, style::ParagraphAdjust_RIGHT },
@@ -37,16 +37,16 @@ SvXMLEnumMapEntry const pXML_Para_Adjust_Enum[] =
{ XML_JUSTIFIED, style::ParagraphAdjust_BLOCK }, // obsolete
{ XML_LEFT, style::ParagraphAdjust_LEFT },
{ XML_RIGHT, style::ParagraphAdjust_RIGHT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (style::ParagraphAdjust)0 }
};
-SvXMLEnumMapEntry const pXML_Para_Align_Last_Enum[] =
+SvXMLEnumMapEntry<style::ParagraphAdjust> const pXML_Para_Align_Last_Enum[] =
{
{ XML_START, style::ParagraphAdjust_LEFT },
{ XML_CENTER, style::ParagraphAdjust_CENTER },
{ XML_JUSTIFY, style::ParagraphAdjust_BLOCK },
{ XML_JUSTIFIED, style::ParagraphAdjust_BLOCK }, // obsolete
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (style::ParagraphAdjust)0 }
};
@@ -60,7 +60,7 @@ XMLParaAdjustPropHdl::~XMLParaAdjustPropHdl()
bool XMLParaAdjustPropHdl::importXML( const OUString& rStrImpValue, uno::Any& rValue, const SvXMLUnitConverter& ) const
{
- sal_uInt16 eAdjust;
+ style::ParagraphAdjust eAdjust;
bool bRet = SvXMLUnitConverter::convertEnum( eAdjust, rStrImpValue, pXML_Para_Adjust_Enum );
if( bRet )
rValue <<= (sal_Int16)eAdjust;
@@ -77,7 +77,7 @@ bool XMLParaAdjustPropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rV
rValue >>= nVal;
- bool bRet = SvXMLUnitConverter::convertEnum( aOut, nVal, pXML_Para_Adjust_Enum, XML_START );
+ bool bRet = SvXMLUnitConverter::convertEnum( aOut, (style::ParagraphAdjust)nVal, pXML_Para_Adjust_Enum, XML_START );
rStrExpValue = aOut.makeStringAndClear();
@@ -95,7 +95,7 @@ XMLLastLineAdjustPropHdl::~XMLLastLineAdjustPropHdl()
bool XMLLastLineAdjustPropHdl::importXML( const OUString& rStrImpValue, uno::Any& rValue, const SvXMLUnitConverter& ) const
{
- sal_uInt16 eAdjust;
+ style::ParagraphAdjust eAdjust;
bool bRet = SvXMLUnitConverter::convertEnum( eAdjust, rStrImpValue, pXML_Para_Align_Last_Enum );
if( bRet )
rValue <<= (sal_Int16)eAdjust;
@@ -112,7 +112,7 @@ bool XMLLastLineAdjustPropHdl::exportXML( OUString& rStrExpValue, const uno::Any
rValue >>= nVal;
if( nVal != style::ParagraphAdjust_LEFT )
- bRet = SvXMLUnitConverter::convertEnum( aOut, nVal, pXML_Para_Align_Last_Enum, XML_START );
+ bRet = SvXMLUnitConverter::convertEnum( aOut, (style::ParagraphAdjust)nVal, pXML_Para_Align_Last_Enum, XML_START );
rStrExpValue = aOut.makeStringAndClear();
diff --git a/xmloff/source/style/backhdl.cxx b/xmloff/source/style/backhdl.cxx
index 6fce270b8d12..94872997e808 100644
--- a/xmloff/source/style/backhdl.cxx
+++ b/xmloff/source/style/backhdl.cxx
@@ -28,18 +28,18 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const pXML_BrushHorizontalPos[] =
+SvXMLEnumMapEntry<style::GraphicLocation> const pXML_BrushHorizontalPos[] =
{
{ XML_LEFT, style::GraphicLocation_LEFT_MIDDLE },
{ XML_RIGHT, style::GraphicLocation_RIGHT_MIDDLE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (style::GraphicLocation)0 }
};
-SvXMLEnumMapEntry const pXML_BrushVerticalPos[] =
+SvXMLEnumMapEntry<style::GraphicLocation> const pXML_BrushVerticalPos[] =
{
{ XML_TOP, style::GraphicLocation_MIDDLE_TOP },
{ XML_BOTTOM, style::GraphicLocation_MIDDLE_BOTTOM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (style::GraphicLocation)0 }
};
@@ -55,7 +55,7 @@ bool XMLBackGraphicPositionPropHdl::importXML( const OUString& rStrImpValue, uno
{
bool bRet = true;
style::GraphicLocation ePos = style::GraphicLocation_NONE, eTmp;
- sal_uInt16 nTmp;
+ style::GraphicLocation nTmpGraphicLocation;
SvXMLTokenEnumerator aTokenEnum( rStrImpValue );
OUString aToken;
bool bHori = false, bVert = false;
@@ -102,23 +102,23 @@ bool XMLBackGraphicPositionPropHdl::importXML( const OUString& rStrImpValue, uno
else
ePos = style::GraphicLocation_MIDDLE_MIDDLE;
}
- else if( SvXMLUnitConverter::convertEnum( nTmp, aToken, pXML_BrushHorizontalPos ) )
+ else if( SvXMLUnitConverter::convertEnum( nTmpGraphicLocation, aToken, pXML_BrushHorizontalPos ) )
{
if( bVert )
- MergeXMLHoriPos( ePos, (style::GraphicLocation)nTmp );
+ MergeXMLHoriPos( ePos, nTmpGraphicLocation );
else if( !bHori )
- ePos = (style::GraphicLocation)nTmp;
+ ePos = nTmpGraphicLocation;
else
bRet = false;
bHori = true;
}
- else if( SvXMLUnitConverter::convertEnum( nTmp, aToken, pXML_BrushVerticalPos ) )
+ else if( SvXMLUnitConverter::convertEnum( nTmpGraphicLocation, aToken, pXML_BrushVerticalPos ) )
{
if( bHori )
- MergeXMLVertPos( ePos, (style::GraphicLocation)nTmp );
+ MergeXMLVertPos( ePos, nTmpGraphicLocation );
else if( !bVert )
- ePos = (style::GraphicLocation)nTmp;
+ ePos = nTmpGraphicLocation;
else
bRet = false;
bVert = true;
diff --git a/xmloff/source/style/bordrhdl.cxx b/xmloff/source/style/bordrhdl.cxx
index 55ae26c0203f..3efaee4a0417 100644
--- a/xmloff/source/style/bordrhdl.cxx
+++ b/xmloff/source/style/bordrhdl.cxx
@@ -37,7 +37,7 @@ using namespace ::xmloff::token;
#define SVX_XML_BORDER_WIDTH_MIDDLE 1
#define SVX_XML_BORDER_WIDTH_THICK 2
-SvXMLEnumMapEntry const pXML_BorderStyles[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_BorderStyles[] =
{
{ XML_NONE, table::BorderLineStyle::NONE },
{ XML_HIDDEN, table::BorderLineStyle::NONE },
@@ -56,7 +56,7 @@ SvXMLEnumMapEntry const pXML_BorderStyles[] =
{ XML_TOKEN_INVALID, 0 }
};
-SvXMLEnumMapEntry const pXML_NamedBorderWidths[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_NamedBorderWidths[] =
{
{ XML_THIN, SVX_XML_BORDER_WIDTH_THIN },
{ XML_MIDDLE, SVX_XML_BORDER_WIDTH_MIDDLE },
diff --git a/xmloff/source/style/breakhdl.cxx b/xmloff/source/style/breakhdl.cxx
index a64bc2527a4f..56ab3e510c4d 100644
--- a/xmloff/source/style/breakhdl.cxx
+++ b/xmloff/source/style/breakhdl.cxx
@@ -27,7 +27,7 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const pXML_BreakTypes[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_BreakTypes[] =
{
{ XML_AUTO, 0 },
{ XML_COLUMN, 1 },
diff --git a/xmloff/source/style/cdouthdl.cxx b/xmloff/source/style/cdouthdl.cxx
index 29eba7c6cbc1..35113f3976c3 100644
--- a/xmloff/source/style/cdouthdl.cxx
+++ b/xmloff/source/style/cdouthdl.cxx
@@ -30,46 +30,46 @@ using namespace ::com::sun::star;
using namespace ::com::sun::star::awt;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const pXML_CrossedoutType_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_CrossedoutType_Enum[] =
{
- { XML_NONE, awt::FontStrikeout::NONE },
- { XML_SINGLE, awt::FontStrikeout::SINGLE },
- { XML_DOUBLE, awt::FontStrikeout::DOUBLE },
- { XML_SINGLE, awt::FontStrikeout::BOLD },
- { XML_SINGLE, awt::FontStrikeout::SLASH },
- { XML_SINGLE, awt::FontStrikeout::X },
- { XML_TOKEN_INVALID, 0 }
+ { XML_NONE, awt::FontStrikeout::NONE },
+ { XML_SINGLE, awt::FontStrikeout::SINGLE },
+ { XML_DOUBLE, awt::FontStrikeout::DOUBLE },
+ { XML_SINGLE, awt::FontStrikeout::BOLD },
+ { XML_SINGLE, awt::FontStrikeout::SLASH },
+ { XML_SINGLE, awt::FontStrikeout::X },
+ { XML_TOKEN_INVALID, 0 }
};
-SvXMLEnumMapEntry const pXML_CrossedoutStyle_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_CrossedoutStyle_Enum[] =
{
- { XML_NONE, awt::FontStrikeout::NONE },
- { XML_SOLID, awt::FontStrikeout::SINGLE },
- { XML_SOLID, awt::FontStrikeout::DOUBLE },
- { XML_SOLID, awt::FontStrikeout::BOLD },
- { XML_SOLID, awt::FontStrikeout::SLASH },
- { XML_SOLID, awt::FontStrikeout::X },
- { XML_DOTTED, awt::FontStrikeout::SINGLE },
+ { XML_NONE, awt::FontStrikeout::NONE },
+ { XML_SOLID, awt::FontStrikeout::SINGLE },
+ { XML_SOLID, awt::FontStrikeout::DOUBLE },
+ { XML_SOLID, awt::FontStrikeout::BOLD },
+ { XML_SOLID, awt::FontStrikeout::SLASH },
+ { XML_SOLID, awt::FontStrikeout::X },
+ { XML_DOTTED, awt::FontStrikeout::SINGLE },
{ XML_DASH, awt::FontStrikeout::SINGLE },
- { XML_LONG_DASH, awt::FontStrikeout::SINGLE },
+ { XML_LONG_DASH, awt::FontStrikeout::SINGLE },
{ XML_DOT_DASH, awt::FontStrikeout::SINGLE },
{ XML_DOT_DOT_DASH, awt::FontStrikeout::SINGLE },
{ XML_WAVE, awt::FontStrikeout::SINGLE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, 0 }
};
-SvXMLEnumMapEntry const pXML_CrossedoutWidth_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_CrossedoutWidth_Enum[] =
{
{ XML_AUTO, awt::FontStrikeout::NONE },
{ XML_AUTO, awt::FontStrikeout::SINGLE },
{ XML_AUTO, awt::FontStrikeout::DOUBLE },
- { XML_BOLD, awt::FontStrikeout::BOLD },
+ { XML_BOLD, awt::FontStrikeout::BOLD },
{ XML_AUTO, awt::FontStrikeout::SLASH },
{ XML_AUTO, awt::FontStrikeout::X },
{ XML_THIN, awt::FontStrikeout::NONE },
{ XML_MEDIUM, awt::FontStrikeout::NONE },
{ XML_THICK, awt::FontStrikeout::NONE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, 0 }
};
// class XMLCrossedOutTypePropHdl
@@ -133,13 +133,13 @@ bool XMLCrossedOutTypePropHdl::importXML( const OUString& rStrImpValue, uno::Any
bool XMLCrossedOutTypePropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValue, const SvXMLUnitConverter& ) const
{
bool bRet = false;
- sal_Int16 nValue = sal_Int16();
+ sal_uInt16 nValue = sal_uInt16();
OUStringBuffer aOut;
if (rValue >>= nValue)
{
bRet = SvXMLUnitConverter::convertEnum(
- aOut, (sal_uInt16)nValue, pXML_CrossedoutType_Enum );
+ aOut, nValue, pXML_CrossedoutType_Enum );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
}
@@ -181,13 +181,13 @@ bool XMLCrossedOutStylePropHdl::importXML( const OUString& rStrImpValue, uno::An
bool XMLCrossedOutStylePropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValue, const SvXMLUnitConverter& ) const
{
bool bRet = false;
- sal_Int16 nValue = sal_Int16();
+ sal_uInt16 nValue = sal_uInt16();
OUStringBuffer aOut;
if( rValue >>= nValue )
{
bRet = SvXMLUnitConverter::convertEnum(
- aOut, (sal_uInt16)nValue, pXML_CrossedoutStyle_Enum );
+ aOut, nValue, pXML_CrossedoutStyle_Enum );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
}
@@ -251,13 +251,13 @@ bool XMLCrossedOutWidthPropHdl::importXML( const OUString& rStrImpValue, uno::An
bool XMLCrossedOutWidthPropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValue, const SvXMLUnitConverter& ) const
{
bool bRet = false;
- sal_Int16 nValue = sal_Int16();
+ sal_uInt16 nValue = sal_uInt16();
OUStringBuffer aOut;
if( (rValue >>= nValue) && (awt::FontStrikeout::BOLD == nValue) )
{
bRet = SvXMLUnitConverter::convertEnum(
- aOut, (sal_uInt16)nValue, pXML_CrossedoutWidth_Enum );
+ aOut, nValue, pXML_CrossedoutWidth_Enum );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
}
diff --git a/xmloff/source/style/csmaphdl.cxx b/xmloff/source/style/csmaphdl.cxx
index b701f68714c7..c583802b4806 100644
--- a/xmloff/source/style/csmaphdl.cxx
+++ b/xmloff/source/style/csmaphdl.cxx
@@ -27,7 +27,7 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-static SvXMLEnumMapEntry pXML_Casemap_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> pXML_Casemap_Enum[] =
{
{ XML_NONE, style::CaseMap::NONE },
{ XML_CASEMAP_LOWERCASE, style::CaseMap::LOWERCASE },
diff --git a/xmloff/source/style/fonthdl.cxx b/xmloff/source/style/fonthdl.cxx
index a5aa39b826e5..8e4884fd0579 100644
--- a/xmloff/source/style/fonthdl.cxx
+++ b/xmloff/source/style/fonthdl.cxx
@@ -30,9 +30,9 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-static const SvXMLEnumMapEntry* lcl_getFontFamilyGenericMapping()
+static const SvXMLEnumMapEntry<FontFamily>* lcl_getFontFamilyGenericMapping()
{
- static SvXMLEnumMapEntry const aFontFamilyGenericMapping[] =
+ static SvXMLEnumMapEntry<FontFamily> const aFontFamilyGenericMapping[] =
{
{ XML_DECORATIVE, FAMILY_DECORATIVE },
@@ -41,16 +41,16 @@ static const SvXMLEnumMapEntry* lcl_getFontFamilyGenericMapping()
{ XML_SCRIPT, FAMILY_SCRIPT },
{ XML_SWISS, FAMILY_SWISS },
{ XML_SYSTEM, FAMILY_SYSTEM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (FontFamily)0 }
};
return aFontFamilyGenericMapping;
}
-static SvXMLEnumMapEntry const aFontPitchMapping[] =
+static SvXMLEnumMapEntry<FontPitch> const aFontPitchMapping[] =
{
{ XML_FIXED, PITCH_FIXED },
{ XML_VARIABLE, PITCH_VARIABLE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (FontPitch)0 }
};
// class XMLFontFamilyNamePropHdl
@@ -193,7 +193,7 @@ XMLFontFamilyPropHdl::~XMLFontFamilyPropHdl()
bool XMLFontFamilyPropHdl::importXML( const OUString& rStrImpValue, uno::Any& rValue, const SvXMLUnitConverter& ) const
{
- sal_uInt16 eNewFamily;
+ FontFamily eNewFamily;
bool bRet = SvXMLUnitConverter::convertEnum( eNewFamily, rStrImpValue, lcl_getFontFamilyGenericMapping() );
if( bRet )
rValue <<= (sal_Int16)eNewFamily;
@@ -264,7 +264,7 @@ XMLFontPitchPropHdl::~XMLFontPitchPropHdl()
bool XMLFontPitchPropHdl::importXML( const OUString& rStrImpValue, uno::Any& rValue, const SvXMLUnitConverter& ) const
{
- sal_uInt16 eNewPitch;
+ FontPitch eNewPitch;
bool bRet = SvXMLUnitConverter::convertEnum( eNewPitch, rStrImpValue, aFontPitchMapping );
if( bRet )
rValue <<= (sal_Int16)eNewPitch;
diff --git a/xmloff/source/style/postuhdl.cxx b/xmloff/source/style/postuhdl.cxx
index 25d6b364bad1..a40a9ceeb578 100644
--- a/xmloff/source/style/postuhdl.cxx
+++ b/xmloff/source/style/postuhdl.cxx
@@ -28,12 +28,12 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const aPostureGenericMapping[] =
+SvXMLEnumMapEntry<FontItalic> const aPostureGenericMapping[] =
{
{ XML_POSTURE_NORMAL, ITALIC_NONE },
{ XML_POSTURE_ITALIC, ITALIC_NORMAL },
{ XML_POSTURE_OBLIQUE, ITALIC_OBLIQUE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (FontItalic)0 }
};
@@ -47,7 +47,7 @@ XMLPosturePropHdl::~XMLPosturePropHdl()
bool XMLPosturePropHdl::importXML( const OUString& rStrImpValue, uno::Any& rValue, const SvXMLUnitConverter& ) const
{
- sal_uInt16 ePosture;
+ FontItalic ePosture;
bool bRet = SvXMLUnitConverter::convertEnum( ePosture, rStrImpValue, aPostureGenericMapping );
if( bRet )
rValue <<= (awt::FontSlant)ePosture;
@@ -70,7 +70,7 @@ bool XMLPosturePropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValu
}
OUStringBuffer aOut;
- bool bRet = SvXMLUnitConverter::convertEnum( aOut, (sal_Int32)eSlant, aPostureGenericMapping );
+ bool bRet = SvXMLUnitConverter::convertEnum( aOut, (FontItalic)eSlant, aPostureGenericMapping );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
diff --git a/xmloff/source/style/prhdlfac.cxx b/xmloff/source/style/prhdlfac.cxx
index 559ab4c112df..f53e3663b527 100644
--- a/xmloff/source/style/prhdlfac.cxx
+++ b/xmloff/source/style/prhdlfac.cxx
@@ -60,27 +60,27 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-static SvXMLEnumMapEntry const aXML_ColorMode_EnumMap[] =
+static SvXMLEnumMapEntry<drawing::ColorMode> const aXML_ColorMode_EnumMap[] =
{
{ XML_GREYSCALE, drawing::ColorMode_GREYS },
{ XML_MONO, drawing::ColorMode_MONO },
{ XML_WATERMARK, drawing::ColorMode_WATERMARK },
{ XML_STANDARD, drawing::ColorMode_STANDARD },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::ColorMode)0 }
};
-static SvXMLEnumMapEntry const aXML_HorizontalAdjust_Enum[] =
+static SvXMLEnumMapEntry<text::HorizontalAdjust> const aXML_HorizontalAdjust_Enum[] =
{
{ XML_LEFT, text::HorizontalAdjust_LEFT },
{ XML_CENTER, text::HorizontalAdjust_CENTER },
{ XML_RIGHT, text::HorizontalAdjust_RIGHT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (text::HorizontalAdjust)0 }
};
// aXML_WritingDirection_Enum is used with and without 'page'
// attribute, so you'll find uses of aXML_WritingDirection_Enum
// directly, as well as &(aXML_WritingDirection_Enum[1])
-static SvXMLEnumMapEntry const aXML_WritingDirection_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const aXML_WritingDirection_Enum[] =
{
// aXML_WritingDirection_Enum
{ XML_PAGE, text::WritingMode2::PAGE },
@@ -99,7 +99,7 @@ static SvXMLEnumMapEntry const aXML_WritingDirection_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_VertPos_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_VertPos_Enum[] =
{
{ XML_FROM_TOP, text::VertOrientation::NONE },
{ XML_TOP, text::VertOrientation::TOP },
@@ -419,16 +419,13 @@ const XMLPropertyHandler* XMLPropertyHandlerFactory::CreatePropertyHandler( sal_
pPropHdl = new XMLAttributeContainerHandler;
break;
case XML_TYPE_COLOR_MODE:
- pPropHdl = new XMLEnumPropertyHdl( aXML_ColorMode_EnumMap,
- cppu::UnoType<drawing::ColorMode>::get());
+ pPropHdl = new XMLEnumPropertyHdl(aXML_ColorMode_EnumMap);
break;
case XML_TYPE_DURATION16_MS:
pPropHdl = new XMLDurationMS16PropHdl_Impl;
break;
case XML_TYPE_TEXT_HORIZONTAL_ADJUST:
- pPropHdl = new XMLEnumPropertyHdl(
- aXML_HorizontalAdjust_Enum,
- cppu::UnoType<text::HorizontalAdjust>::get());
+ pPropHdl = new XMLEnumPropertyHdl(aXML_HorizontalAdjust_Enum);
break;
case XML_TYPE_TEXT_DRAW_ASPECT:
pPropHdl = new DrawAspectHdl;
diff --git a/xmloff/source/style/undlihdl.cxx b/xmloff/source/style/undlihdl.cxx
index a5b7d2788164..90e731bb7ad3 100644
--- a/xmloff/source/style/undlihdl.cxx
+++ b/xmloff/source/style/undlihdl.cxx
@@ -30,11 +30,11 @@ using namespace ::com::sun::star;
using namespace ::com::sun::star::awt;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const pXML_UnderlineType_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_UnderlineType_Enum[] =
{
- { XML_NONE, awt::FontUnderline::NONE },
+ { XML_NONE, awt::FontUnderline::NONE },
{ XML_SINGLE, awt::FontUnderline::SINGLE },
- { XML_DOUBLE, awt::FontUnderline::DOUBLE },
+ { XML_DOUBLE, awt::FontUnderline::DOUBLE },
{ XML_SINGLE, awt::FontUnderline::DOTTED },
{ XML_SINGLE, awt::FontUnderline::DASH },
{ XML_SINGLE, awt::FontUnderline::LONGDASH },
@@ -46,59 +46,59 @@ SvXMLEnumMapEntry const pXML_UnderlineType_Enum[] =
{ XML_SINGLE, awt::FontUnderline::BOLDDASH },
{ XML_SINGLE, awt::FontUnderline::BOLDLONGDASH },
{ XML_SINGLE, awt::FontUnderline::BOLDDASHDOT },
- { XML_SINGLE, awt::FontUnderline::BOLDDASHDOTDOT },
+ { XML_SINGLE, awt::FontUnderline::BOLDDASHDOTDOT },
{ XML_SINGLE, awt::FontUnderline::BOLDWAVE },
- { XML_DOUBLE, awt::FontUnderline::DOUBLEWAVE },
+ { XML_DOUBLE, awt::FontUnderline::DOUBLEWAVE },
{ XML_SINGLE, awt::FontUnderline::SMALLWAVE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, 0 }
};
-SvXMLEnumMapEntry const pXML_UnderlineStyle_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_UnderlineStyle_Enum[] =
{
- { XML_NONE, awt::FontUnderline::NONE },
- { XML_SOLID, awt::FontUnderline::SINGLE },
- { XML_SOLID, awt::FontUnderline::DOUBLE },
+ { XML_NONE, awt::FontUnderline::NONE },
+ { XML_SOLID, awt::FontUnderline::SINGLE },
+ { XML_SOLID, awt::FontUnderline::DOUBLE },
{ XML_DOTTED, awt::FontUnderline::DOTTED },
- { XML_DASH, awt::FontUnderline::DASH },
+ { XML_DASH, awt::FontUnderline::DASH },
{ XML_LONG_DASH, awt::FontUnderline::LONGDASH },
- { XML_DOT_DASH, awt::FontUnderline::DASHDOT },
- { XML_DOT_DOT_DASH, awt::FontUnderline::DASHDOTDOT },
- { XML_WAVE, awt::FontUnderline::WAVE },
- { XML_SOLID, awt::FontUnderline::BOLD },
+ { XML_DOT_DASH, awt::FontUnderline::DASHDOT },
+ { XML_DOT_DOT_DASH, awt::FontUnderline::DASHDOTDOT },
+ { XML_WAVE, awt::FontUnderline::WAVE },
+ { XML_SOLID, awt::FontUnderline::BOLD },
{ XML_DOTTED, awt::FontUnderline::BOLDDOTTED },
- { XML_DASH, awt::FontUnderline::BOLDDASH },
+ { XML_DASH, awt::FontUnderline::BOLDDASH },
{ XML_LONG_DASH, awt::FontUnderline::BOLDLONGDASH },
- { XML_DOT_DASH, awt::FontUnderline::BOLDDASHDOT },
+ { XML_DOT_DASH, awt::FontUnderline::BOLDDASHDOT },
{ XML_DOT_DOT_DASH, awt::FontUnderline::BOLDDASHDOTDOT },
- { XML_WAVE, awt::FontUnderline::BOLDWAVE },
+ { XML_WAVE, awt::FontUnderline::BOLDWAVE },
{ XML_WAVE, awt::FontUnderline::DOUBLEWAVE },
{ XML_SMALL_WAVE, awt::FontUnderline::SMALLWAVE },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, 0 }
};
-SvXMLEnumMapEntry const pXML_UnderlineWidth_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_UnderlineWidth_Enum[] =
{
- { XML_AUTO, awt::FontUnderline::NONE },
- { XML_AUTO, awt::FontUnderline::SINGLE },
- { XML_AUTO, awt::FontUnderline::DOUBLE },
- { XML_AUTO, awt::FontUnderline::DOTTED },
- { XML_AUTO, awt::FontUnderline::DASH },
- { XML_AUTO, awt::FontUnderline::LONGDASH },
- { XML_AUTO, awt::FontUnderline::DASHDOT },
- { XML_AUTO, awt::FontUnderline::DASHDOTDOT },
- { XML_AUTO, awt::FontUnderline::WAVE },
+ { XML_AUTO, awt::FontUnderline::NONE },
+ { XML_AUTO, awt::FontUnderline::SINGLE },
+ { XML_AUTO, awt::FontUnderline::DOUBLE },
+ { XML_AUTO, awt::FontUnderline::DOTTED },
+ { XML_AUTO, awt::FontUnderline::DASH },
+ { XML_AUTO, awt::FontUnderline::LONGDASH },
+ { XML_AUTO, awt::FontUnderline::DASHDOT },
+ { XML_AUTO, awt::FontUnderline::DASHDOTDOT },
+ { XML_AUTO, awt::FontUnderline::WAVE },
{ XML_BOLD, awt::FontUnderline::BOLD },
{ XML_BOLD, awt::FontUnderline::BOLDDOTTED },
{ XML_BOLD, awt::FontUnderline::BOLDDASH },
{ XML_BOLD, awt::FontUnderline::BOLDLONGDASH },
{ XML_BOLD, awt::FontUnderline::BOLDDASHDOT },
- { XML_BOLD, awt::FontUnderline::BOLDDASHDOTDOT },
+ { XML_BOLD, awt::FontUnderline::BOLDDASHDOTDOT },
{ XML_BOLD, awt::FontUnderline::BOLDWAVE },
- { XML_AUTO, awt::FontUnderline::DOUBLEWAVE },
- { XML_THIN, awt::FontUnderline::NONE },
- { XML_MEDIUM, awt::FontUnderline::NONE },
- { XML_THICK, awt::FontUnderline::BOLD},
- { XML_TOKEN_INVALID, 0 }
+ { XML_AUTO, awt::FontUnderline::DOUBLEWAVE },
+ { XML_THIN, awt::FontUnderline::NONE },
+ { XML_MEDIUM, awt::FontUnderline::NONE },
+ { XML_THICK, awt::FontUnderline::BOLD},
+ { XML_TOKEN_INVALID, 0 }
};
@@ -167,7 +167,7 @@ bool XMLUnderlineTypePropHdl::importXML( const OUString& rStrImpValue, uno::Any&
bool XMLUnderlineTypePropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValue, const SvXMLUnitConverter& ) const
{
bool bRet = false;
- sal_Int16 nValue = sal_Int16();
+ sal_uInt16 nValue = sal_uInt16();
OUStringBuffer aOut;
if( (rValue >>= nValue) &&
@@ -175,7 +175,7 @@ bool XMLUnderlineTypePropHdl::exportXML( OUString& rStrExpValue, const uno::Any&
awt::FontUnderline::DOUBLEWAVE == nValue) )
{
bRet = SvXMLUnitConverter::convertEnum(
- aOut, (sal_uInt16)nValue, pXML_UnderlineType_Enum );
+ aOut, nValue, pXML_UnderlineType_Enum );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
}
@@ -259,13 +259,13 @@ bool XMLUnderlineStylePropHdl::importXML( const OUString& rStrImpValue, uno::Any
bool XMLUnderlineStylePropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValue, const SvXMLUnitConverter& ) const
{
bool bRet = false;
- sal_Int16 nValue = sal_Int16();
+ sal_uInt16 nValue = sal_uInt16();
OUStringBuffer aOut;
if( rValue >>= nValue )
{
bRet = SvXMLUnitConverter::convertEnum(
- aOut, (sal_uInt16)nValue, pXML_UnderlineStyle_Enum );
+ aOut, nValue, pXML_UnderlineStyle_Enum );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
}
@@ -350,13 +350,13 @@ bool XMLUnderlineWidthPropHdl::importXML( const OUString& rStrImpValue, uno::Any
bool XMLUnderlineWidthPropHdl::exportXML( OUString& rStrExpValue, const uno::Any& rValue, const SvXMLUnitConverter& ) const
{
bool bRet = false;
- sal_Int16 nValue = sal_Int16();
+ sal_uInt16 nValue = sal_uInt16();
OUStringBuffer aOut;
if( (rValue >>= nValue) && (awt::FontUnderline::NONE != nValue) )
{
bRet = SvXMLUnitConverter::convertEnum(
- aOut, (sal_uInt16)nValue, pXML_UnderlineWidth_Enum );
+ aOut, nValue, pXML_UnderlineWidth_Enum );
if( bRet )
rStrExpValue = aOut.makeStringAndClear();
}
diff --git a/xmloff/source/style/xmlnumfi.cxx b/xmloff/source/style/xmlnumfi.cxx
index b48dfc6cb2d3..9194ba6ca8f6 100644
--- a/xmloff/source/style/xmlnumfi.cxx
+++ b/xmloff/source/style/xmlnumfi.cxx
@@ -303,18 +303,18 @@ static const ColorData aNumFmtStdColors[XML_NUMF_COLORCOUNT] =
// maps for SvXMLUnitConverter::convertEnum
-static const SvXMLEnumMapEntry aStyleValueMap[] =
+static const SvXMLEnumMapEntry<bool> aStyleValueMap[] =
{
- { XML_SHORT, sal_uInt16(false) },
- { XML_LONG, sal_uInt16(true) },
- { XML_TOKEN_INVALID, 0 }
+ { XML_SHORT, false },
+ { XML_LONG, true },
+ { XML_TOKEN_INVALID, false }
};
-static const SvXMLEnumMapEntry aFormatSourceMap[] =
+static const SvXMLEnumMapEntry<bool> aFormatSourceMap[] =
{
- { XML_FIXED, sal_uInt16(false) },
- { XML_LANGUAGE, sal_uInt16(true) },
- { XML_TOKEN_INVALID, 0 }
+ { XML_FIXED, false },
+ { XML_LANGUAGE, true },
+ { XML_TOKEN_INVALID, false }
};
struct SvXMLDefaultDateFormat
@@ -902,7 +902,6 @@ SvXMLNumFmtElementContext::SvXMLNumFmtElementContext( SvXMLImport& rImport,
bool bAttrBool(false);
bool bVarDecimals = false;
bool bIsMaxDenominator = false;
- sal_uInt16 nAttrEnum;
double fAttrDouble;
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
@@ -1012,8 +1011,7 @@ SvXMLNumFmtElementContext::SvXMLNumFmtElementContext( SvXMLImport& rImport,
aLanguageTagODF.maCountry = sValue;
break;
case XML_TOK_ELEM_ATTR_STYLE:
- if ( SvXMLUnitConverter::convertEnum( nAttrEnum, sValue, aStyleValueMap ) )
- bLong = (bool) nAttrEnum;
+ SvXMLUnitConverter::convertEnum( bLong, sValue, aStyleValueMap );
break;
case XML_TOK_ELEM_ATTR_TEXTUAL:
if (::sax::Converter::convertBool( bAttrBool, sValue ))
@@ -1398,7 +1396,6 @@ SvXMLNumFormatContext::SvXMLNumFormatContext( SvXMLImport& rImport,
OUString sNatNumAttrScript, sNatNumAttrRfcLanguageTag;
css::i18n::NativeNumberXmlAttributes aNatNumAttr;
bool bAttrBool(false);
- sal_uInt16 nAttrEnum;
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for( sal_Int16 i=0; i < nAttrCount; i++ )
@@ -1434,8 +1431,7 @@ SvXMLNumFormatContext::SvXMLNumFormatContext( SvXMLImport& rImport,
bAutoOrder = bAttrBool;
break;
case XML_TOK_STYLE_ATTR_FORMAT_SOURCE:
- if ( SvXMLUnitConverter::convertEnum( nAttrEnum, sValue, aFormatSourceMap ) )
- bFromSystem = (bool) nAttrEnum;
+ SvXMLUnitConverter::convertEnum( bFromSystem, sValue, aFormatSourceMap );
break;
case XML_TOK_STYLE_ATTR_TRUNCATE_ON_OVERFLOW:
if (::sax::Converter::convertBool( bAttrBool, sValue ))
diff --git a/xmloff/source/style/xmltabe.cxx b/xmloff/source/style/xmltabe.cxx
index c566dfa13592..c63c47d78df2 100644
--- a/xmloff/source/style/xmltabe.cxx
+++ b/xmloff/source/style/xmltabe.cxx
@@ -32,14 +32,14 @@
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-SvXMLEnumMapEntry const pXML_tabstop_style[] =
+SvXMLEnumMapEntry<style::TabAlign> const pXML_tabstop_style[] =
{
{ XML_LEFT, style::TabAlign_LEFT },
{ XML_CENTER, style::TabAlign_CENTER },
{ XML_RIGHT, style::TabAlign_RIGHT },
{ XML_CHAR, style::TabAlign_DECIMAL },
{ XML_DEFAULT, style::TabAlign_DEFAULT }, // ?????????????????????????????????????
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (style::TabAlign)0 }
};
void SvxXMLTabStopExport::exportTabStop( const css::style::TabStop* pTabStop )
diff --git a/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx b/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
index 55f76951023f..3ea9582dc344 100644
--- a/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
@@ -208,7 +208,7 @@ const SvXMLTokenMap&
return *pAttrTokenMap;
}
-static SvXMLEnumMapEntry const aFootnoteNumberingMap[] =
+static SvXMLEnumMapEntry<sal_Int16> const aFootnoteNumberingMap[] =
{
{ XML_PAGE, FootnoteNumbering::PER_PAGE },
{ XML_CHAPTER, FootnoteNumbering::PER_CHAPTER },
@@ -264,12 +264,8 @@ void XMLFootnoteConfigurationImportContext::StartElement(
break;
case XML_TOK_FTNCONFIG_START_AT:
{
- sal_uInt16 nTmp;
- if (SvXMLUnitConverter::convertEnum(nTmp, sValue,
- aFootnoteNumberingMap))
- {
- nNumbering = nTmp;
- }
+ SvXMLUnitConverter::convertEnum(nNumbering, sValue,
+ aFootnoteNumberingMap);
break;
}
case XML_TOK_FTNCONFIG_POSITION:
diff --git a/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx b/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx
index 32ff795e6680..ef4037a5a6eb 100644
--- a/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx
@@ -57,7 +57,7 @@ XMLIndexBibliographyEntryContext::~XMLIndexBibliographyEntryContext()
{
}
-const SvXMLEnumMapEntry aBibliographyDataFieldMap[] =
+const SvXMLEnumMapEntry<sal_uInt16> aBibliographyDataFieldMap[] =
{
{ XML_ADDRESS, BibliographyDataField::ADDRESS },
{ XML_ANNOTE, BibliographyDataField::ANNOTE },
diff --git a/xmloff/source/text/XMLIndexBibliographyEntryContext.hxx b/xmloff/source/text/XMLIndexBibliographyEntryContext.hxx
index 21a07168ace4..3be35668f814 100644
--- a/xmloff/source/text/XMLIndexBibliographyEntryContext.hxx
+++ b/xmloff/source/text/XMLIndexBibliographyEntryContext.hxx
@@ -30,9 +30,9 @@ namespace com { namespace sun { namespace star {
namespace xml { namespace sax { class XAttributeList; } }
} } }
class XMLIndexTemplateContext;
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
-extern const SvXMLEnumMapEntry aBibliographyDataFieldMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aBibliographyDataFieldMap[];
/**
* Import bibliography index entry templates
diff --git a/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx b/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
index f7db32e331bb..ac1226fd7c8e 100644
--- a/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
@@ -66,7 +66,7 @@ XMLIndexChapterInfoEntryContext::~XMLIndexChapterInfoEntryContext()
{
}
-static const SvXMLEnumMapEntry aChapterDisplayMap[] =
+static const SvXMLEnumMapEntry<sal_uInt16> aChapterDisplayMap[] =
{
{ XML_NAME, ChapterFormat::NAME },
{ XML_NUMBER, ChapterFormat::NUMBER },
diff --git a/xmloff/source/text/XMLIndexTOCContext.cxx b/xmloff/source/text/XMLIndexTOCContext.cxx
index b9c6215c07a4..0f741002a713 100644
--- a/xmloff/source/text/XMLIndexTOCContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCContext.cxx
@@ -80,7 +80,7 @@ static const XMLTokenEnum aIndexSourceElementMap[] =
XML_ILLUSTRATION_INDEX_SOURCE
};
-SvXMLEnumMapEntry const aIndexTypeMap[] =
+SvXMLEnumMapEntry<IndexTypeEnum> const aIndexTypeMap[] =
{
{ XML_TABLE_OF_CONTENT, TEXT_INDEX_TOC },
{ XML_ALPHABETICAL_INDEX, TEXT_INDEX_ALPHABETICAL },
@@ -89,7 +89,7 @@ SvXMLEnumMapEntry const aIndexTypeMap[] =
{ XML_BIBLIOGRAPHY, TEXT_INDEX_BIBLIOGRAPHY },
{ XML_USER_INDEX, TEXT_INDEX_USER },
{ XML_ILLUSTRATION_INDEX, TEXT_INDEX_ILLUSTRATION },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (IndexTypeEnum)0 }
};
@@ -101,16 +101,13 @@ XMLIndexTOCContext::XMLIndexTOCContext(SvXMLImport& rImport,
{
if (XML_NAMESPACE_TEXT == nPrfx)
{
- sal_uInt16 nTmp;
- if (SvXMLUnitConverter::convertEnum(nTmp, rLocalName, aIndexTypeMap))
+ if (SvXMLUnitConverter::convertEnum(eIndexType, rLocalName, aIndexTypeMap))
{
// check for array index:
- OSL_ENSURE(nTmp < (SAL_N_ELEMENTS(aIndexServiceMap)), "index out of range");
+ OSL_ENSURE(eIndexType < (SAL_N_ELEMENTS(aIndexServiceMap)), "index out of range");
OSL_ENSURE(SAL_N_ELEMENTS(aIndexServiceMap) ==
SAL_N_ELEMENTS(aIndexSourceElementMap),
"service and source element maps must be same size");
-
- eIndexType = static_cast<IndexTypeEnum>(nTmp);
bValid = true;
}
}
diff --git a/xmloff/source/text/XMLIndexTableSourceContext.cxx b/xmloff/source/text/XMLIndexTableSourceContext.cxx
index 8c5f01e2d819..cb44feb858e8 100644
--- a/xmloff/source/text/XMLIndexTableSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexTableSourceContext.cxx
@@ -63,7 +63,7 @@ XMLIndexTableSourceContext::~XMLIndexTableSourceContext()
{
}
-static SvXMLEnumMapEntry const lcl_aReferenceTypeTokenMap[] =
+static SvXMLEnumMapEntry<sal_uInt16> const lcl_aReferenceTypeTokenMap[] =
{
{ XML_TEXT, ReferenceFieldPart::TEXT },
diff --git a/xmloff/source/text/XMLIndexTemplateContext.cxx b/xmloff/source/text/XMLIndexTemplateContext.cxx
index d1c2859d6253..1498c5be39ba 100644
--- a/xmloff/source/text/XMLIndexTemplateContext.cxx
+++ b/xmloff/source/text/XMLIndexTemplateContext.cxx
@@ -52,7 +52,7 @@ XMLIndexTemplateContext::XMLIndexTemplateContext(
Reference<XPropertySet> & rPropSet,
sal_uInt16 nPrfx,
const OUString& rLocalName,
- const SvXMLEnumMapEntry* pLevelNameMap,
+ const SvXMLEnumMapEntry<sal_uInt16>* pLevelNameMap,
enum XMLTokenEnum eLevelAttrName,
const sal_Char** pLevelStylePropMap,
const bool* pAllowedTokenTypes,
@@ -197,7 +197,7 @@ enum TemplateTokenType
};
-SvXMLEnumMapEntry const aTemplateTokenTypeMap[] =
+SvXMLEnumMapEntry<TemplateTokenType> const aTemplateTokenTypeMap[] =
{
{ XML_INDEX_ENTRY_TEXT, XML_TOK_INDEX_TYPE_ENTRY_TEXT },
{ XML_INDEX_ENTRY_TAB_STOP, XML_TOK_INDEX_TYPE_TAB_STOP },
@@ -207,7 +207,7 @@ SvXMLEnumMapEntry const aTemplateTokenTypeMap[] =
{ XML_INDEX_ENTRY_LINK_START, XML_TOK_INDEX_TYPE_LINK_START },
{ XML_INDEX_ENTRY_LINK_END, XML_TOK_INDEX_TYPE_LINK_END },
{ XML_INDEX_ENTRY_BIBLIOGRAPHY, XML_TOK_INDEX_TYPE_BIBLIOGRAPHY },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (TemplateTokenType)0 }
};
SvXMLImportContext *XMLIndexTemplateContext::CreateChildContext(
@@ -219,14 +219,14 @@ SvXMLImportContext *XMLIndexTemplateContext::CreateChildContext(
if (XML_NAMESPACE_TEXT == nPrefix)
{
- sal_uInt16 nToken;
+ TemplateTokenType nToken;
if (SvXMLUnitConverter::convertEnum(nToken, rLocalName,
aTemplateTokenTypeMap))
{
// can this index accept this kind of token?
if (pAllowedTokenTypesMap[nToken])
{
- switch ((TemplateTokenType)nToken)
+ switch (nToken)
{
case XML_TOK_INDEX_TYPE_ENTRY_TEXT:
pContext = new XMLIndexSimpleEntryContext(
@@ -296,7 +296,7 @@ SvXMLImportContext *XMLIndexTemplateContext::CreateChildContext(
// table of content and user defined index:
-const SvXMLEnumMapEntry aSvLevelNameTOCMap[] =
+const SvXMLEnumMapEntry<sal_uInt16> aSvLevelNameTOCMap[] =
{
{ XML_1, 1 },
{ XML_2, 2 },
@@ -344,7 +344,7 @@ const bool aAllowedTokenTypesUser[] =
// alphabetical index
-const SvXMLEnumMapEntry aLevelNameAlphaMap[] =
+const SvXMLEnumMapEntry<sal_uInt16> aLevelNameAlphaMap[] =
{
{ XML_SEPARATOR, 1 },
{ XML_1, 2 },
@@ -372,7 +372,7 @@ const bool aAllowedTokenTypesAlpha[] =
// bibliography index:
-const SvXMLEnumMapEntry aLevelNameBibliographyMap[] =
+const SvXMLEnumMapEntry<sal_uInt16> aLevelNameBibliographyMap[] =
{
{ XML_ARTICLE, 1 },
{ XML_BOOK, 2 },
@@ -427,7 +427,7 @@ const bool aAllowedTokenTypesBibliography[] =
// table, illustration and object index
// no name map
-const SvXMLEnumMapEntry* aLevelNameTableMap = nullptr;
+const SvXMLEnumMapEntry<sal_uInt16>* aLevelNameTableMap = nullptr;
const sal_Char* aLevelStylePropNameTableMap[] =
{ nullptr, "ParaStyleLevel1", nullptr };
diff --git a/xmloff/source/text/XMLIndexTemplateContext.hxx b/xmloff/source/text/XMLIndexTemplateContext.hxx
index 084e86516247..09e141105b41 100644
--- a/xmloff/source/text/XMLIndexTemplateContext.hxx
+++ b/xmloff/source/text/XMLIndexTemplateContext.hxx
@@ -32,29 +32,29 @@ namespace com { namespace sun { namespace star {
namespace xml { namespace sax { class XAttributeList; } }
namespace beans { class XPropertySet; }
} } }
-struct SvXMLEnumMapEntry;
+template<typename EnumT> struct SvXMLEnumMapEntry;
// constants for the XMLIndexTemplateContext constructor
// TOC and user defined index:
-extern const SvXMLEnumMapEntry aSvLevelNameTOCMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aSvLevelNameTOCMap[];
extern const sal_Char* aLevelStylePropNameTOCMap[];
extern const bool aAllowedTokenTypesTOC[];
extern const bool aAllowedTokenTypesUser[];
// alphabetical index:
-extern const SvXMLEnumMapEntry aLevelNameAlphaMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aLevelNameAlphaMap[];
extern const sal_Char* aLevelStylePropNameAlphaMap[];
extern const bool aAllowedTokenTypesAlpha[];
// bibliography:
-extern const SvXMLEnumMapEntry aLevelNameBibliographyMap[];
+extern const SvXMLEnumMapEntry<sal_uInt16> aLevelNameBibliographyMap[];
extern const sal_Char* aLevelStylePropNameBibliographyMap[];
extern const bool aAllowedTokenTypesBibliography[];
// table, illustration and object tables:
-extern const SvXMLEnumMapEntry* aLevelNameTableMap; // NULL: no outline-level
+extern const SvXMLEnumMapEntry<sal_uInt16>* aLevelNameTableMap; // NULL: no outline-level
extern const sal_Char* aLevelStylePropNameTableMap[];
extern const bool aAllowedTokenTypesTable[];
@@ -69,7 +69,7 @@ class XMLIndexTemplateContext : public SvXMLImportContext
OUString sStyleName;
- const SvXMLEnumMapEntry* pOutlineLevelNameMap;
+ const SvXMLEnumMapEntry<sal_uInt16>* pOutlineLevelNameMap;
enum ::xmloff::token::XMLTokenEnum eOutlineLevelAttrName;
const sal_Char** pOutlineLevelStylePropMap;
const bool* pAllowedTokenTypesMap;
@@ -83,16 +83,30 @@ class XMLIndexTemplateContext : public SvXMLImportContext
css::uno::Reference<css::beans::XPropertySet> & rPropertySet;
public:
+ template<typename EnumT>
XMLIndexTemplateContext(
SvXMLImport& rImport,
css::uno::Reference<css::beans::XPropertySet> & rPropSet,
sal_uInt16 nPrfx,
const OUString& rLocalName,
- const SvXMLEnumMapEntry* aLevelNameMap,
+ const SvXMLEnumMapEntry<EnumT>* aLevelNameMap,
enum ::xmloff::token::XMLTokenEnum eLevelAttrName,
const sal_Char** aLevelStylePropNameMap,
const bool* aAllowedTokenTypes,
- bool bTOC=false);
+ bool bTOC_=false)
+ : XMLIndexTemplateContext(rImport,rPropSet,nPrfx,rLocalName,
+ reinterpret_cast<const SvXMLEnumMapEntry<sal_uInt16>*>(aLevelNameMap),
+ eLevelAttrName, aLevelStylePropNameMap, aAllowedTokenTypes, bTOC_) {}
+ XMLIndexTemplateContext(
+ SvXMLImport& rImport,
+ css::uno::Reference<css::beans::XPropertySet> & rPropSet,
+ sal_uInt16 nPrfx,
+ const OUString& rLocalName,
+ const SvXMLEnumMapEntry<sal_uInt16>* aLevelNameMap,
+ enum ::xmloff::token::XMLTokenEnum eLevelAttrName,
+ const sal_Char** aLevelStylePropNameMap,
+ const bool* aAllowedTokenTypes,
+ bool bTOC);
virtual ~XMLIndexTemplateContext() override;
diff --git a/xmloff/source/text/XMLLineNumberingExport.cxx b/xmloff/source/text/XMLLineNumberingExport.cxx
index b0d0435213b4..8d9e4fb22d0f 100644
--- a/xmloff/source/text/XMLLineNumberingExport.cxx
+++ b/xmloff/source/text/XMLLineNumberingExport.cxx
@@ -43,7 +43,7 @@ XMLLineNumberingExport::XMLLineNumberingExport(SvXMLExport& rExp)
{
}
-SvXMLEnumMapEntry const aLineNumberPositionMap[] =
+SvXMLEnumMapEntry<sal_uInt16> const aLineNumberPositionMap[] =
{
{ XML_LEFT, style::LineNumberPosition::LEFT },
{ XML_RIGHT, style::LineNumberPosition::RIGHT },
@@ -140,7 +140,7 @@ void XMLLineNumberingExport::Export()
// number position
aAny = xLineNumbering->getPropertyValue("NumberPosition");
- sal_Int16 nPosition = 0;
+ sal_uInt16 nPosition = 0;
aAny >>= nPosition;
if (SvXMLUnitConverter::convertEnum(sNumPosBuf, nPosition,
aLineNumberPositionMap))
diff --git a/xmloff/source/text/XMLLineNumberingImportContext.cxx b/xmloff/source/text/XMLLineNumberingImportContext.cxx
index d182f74b76d2..ce2d059dc4f9 100644
--- a/xmloff/source/text/XMLLineNumberingImportContext.cxx
+++ b/xmloff/source/text/XMLLineNumberingImportContext.cxx
@@ -181,7 +181,7 @@ void XMLLineNumberingImportContext::ProcessAttribute(
case XML_TOK_LINENUMBERING_NUMBER_POSITION:
{
- static const SvXMLEnumMapEntry aLineNumberPositionMap[] =
+ static const SvXMLEnumMapEntry<sal_Int16> aLineNumberPositionMap[] =
{
{ XML_LEFT, style::LineNumberPosition::LEFT },
{ XML_RIGHT, style::LineNumberPosition::RIGHT },
@@ -190,12 +190,8 @@ void XMLLineNumberingImportContext::ProcessAttribute(
{ XML_TOKEN_INVALID, 0 }
};
- sal_uInt16 nTmp16;
- if (SvXMLUnitConverter::convertEnum(nTmp16, sValue,
- aLineNumberPositionMap))
- {
- nNumberPosition = nTmp16;
- }
+ SvXMLUnitConverter::convertEnum(nNumberPosition, sValue,
+ aLineNumberPositionMap);
break;
}
diff --git a/xmloff/source/text/XMLSectionExport.cxx b/xmloff/source/text/XMLSectionExport.cxx
index b61732701f7b..f276db392811 100644
--- a/xmloff/source/text/XMLSectionExport.cxx
+++ b/xmloff/source/text/XMLSectionExport.cxx
@@ -319,7 +319,7 @@ void XMLSectionExport::ExportIndexHeaderStart(
}
-SvXMLEnumStringMapEntry const aIndexTypeMap[] =
+SvXMLEnumStringMapEntry<SectionTypeEnum> const aIndexTypeMap[] =
{
ENUM_STRING_MAP_ENTRY( "com.sun.star.text.ContentIndex", TEXT_SECTION_TYPE_TOC ),
ENUM_STRING_MAP_ENTRY( "com.sun.star.text.DocumentIndex", TEXT_SECTION_TYPE_ALPHABETICAL ),
@@ -328,7 +328,7 @@ SvXMLEnumStringMapEntry const aIndexTypeMap[] =
ENUM_STRING_MAP_ENTRY( "com.sun.star.text.Bibliography", TEXT_SECTION_TYPE_BIBLIOGRAPHY ),
ENUM_STRING_MAP_ENTRY( "com.sun.star.text.UserIndex", TEXT_SECTION_TYPE_USER ),
ENUM_STRING_MAP_ENTRY( "com.sun.star.text.IllustrationsIndex", TEXT_SECTION_TYPE_ILLUSTRATION ),
- ENUM_STRING_MAP_END()
+ { nullptr, 0, (SectionTypeEnum)0 }
};
enum SectionTypeEnum XMLSectionExport::MapSectionType(
@@ -336,11 +336,7 @@ enum SectionTypeEnum XMLSectionExport::MapSectionType(
{
enum SectionTypeEnum eType = TEXT_SECTION_TYPE_UNKNOWN;
- sal_uInt16 nTmp;
- if (SvXMLUnitConverter::convertEnum(nTmp, rServiceName, aIndexTypeMap))
- {
- eType = (enum SectionTypeEnum)nTmp;
- }
+ SvXMLUnitConverter::convertEnum(eType, rServiceName, aIndexTypeMap);
// TODO: index header section types, etc.
@@ -1073,7 +1069,7 @@ enum TemplateParamEnum
TOK_TPARAM_BIBLIOGRAPHY_DATA
};
-SvXMLEnumStringMapEntry const aTemplateTypeMap[] =
+SvXMLEnumStringMapEntry<TemplateTypeEnum> const aTemplateTypeMap[] =
{
ENUM_STRING_MAP_ENTRY( "TokenEntryNumber", TOK_TTYPE_ENTRY_NUMBER ),
ENUM_STRING_MAP_ENTRY( "TokenEntryText", TOK_TTYPE_ENTRY_TEXT ),
@@ -1084,10 +1080,10 @@ SvXMLEnumStringMapEntry const aTemplateTypeMap[] =
ENUM_STRING_MAP_ENTRY( "TokenHyperlinkStart", TOK_TTYPE_HYPERLINK_START ),
ENUM_STRING_MAP_ENTRY( "TokenHyperlinkEnd", TOK_TTYPE_HYPERLINK_END ),
ENUM_STRING_MAP_ENTRY( "TokenBibliographyDataField", TOK_TTYPE_BIBLIOGRAPHY ),
- ENUM_STRING_MAP_END()
+ { nullptr, 0, (TemplateTypeEnum)0}
};
-SvXMLEnumStringMapEntry const aTemplateParamMap[] =
+SvXMLEnumStringMapEntry<TemplateParamEnum> const aTemplateParamMap[] =
{
ENUM_STRING_MAP_ENTRY( "TokenType", TOK_TPARAM_TOKEN_TYPE ),
ENUM_STRING_MAP_ENTRY( "CharacterStyleName", TOK_TPARAM_CHAR_STYLE ),
@@ -1100,10 +1096,10 @@ SvXMLEnumStringMapEntry const aTemplateParamMap[] =
ENUM_STRING_MAP_ENTRY( "ChapterFormat", TOK_TPARAM_CHAPTER_FORMAT ),
ENUM_STRING_MAP_ENTRY( "ChapterLevel", TOK_TPARAM_CHAPTER_LEVEL ),//i53420
ENUM_STRING_MAP_ENTRY( "BibliographyDataField", TOK_TPARAM_BIBLIOGRAPHY_DATA ),
- ENUM_STRING_MAP_END()
+ { nullptr, 0, (TemplateParamEnum)0}
};
-SvXMLEnumMapEntry const aBibliographyDataFieldMap[] =
+SvXMLEnumMapEntry<sal_Int16> const aBibliographyDataFieldMap[] =
{
{ XML_ADDRESS, BibliographyDataField::ADDRESS },
{ XML_ANNOTE, BibliographyDataField::ANNOTE },
@@ -1190,7 +1186,7 @@ void XMLSectionExport::ExportIndexTemplateElement(
sal_Int32 nCount = rValues.getLength();
for(sal_Int32 i = 0; i<nCount; i++)
{
- sal_uInt16 nToken;
+ TemplateParamEnum nToken;
if ( SvXMLUnitConverter::convertEnum( nToken, rValues[i].Name,
aTemplateParamMap ) )
{
@@ -1203,14 +1199,9 @@ void XMLSectionExport::ExportIndexTemplateElement(
{
case TOK_TPARAM_TOKEN_TYPE:
{
- sal_uInt16 nTmp;
OUString sVal;
rValues[i].Value >>= sVal;
- if (SvXMLUnitConverter::convertEnum( nTmp, sVal,
- aTemplateTypeMap))
- {
- nTokenType = (enum TemplateTypeEnum)nTmp;
- }
+ SvXMLUnitConverter::convertEnum( nTokenType, sVal, aTemplateTypeMap);
break;
}
diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx
index 6efd165787df..74321b4a0aa1 100644
--- a/xmloff/source/text/XMLTextColumnsContext.cxx
+++ b/xmloff/source/text/XMLTextColumnsContext.cxx
@@ -74,7 +74,7 @@ static const SvXMLTokenMapEntry aColSepAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-static SvXMLEnumMapEntry const pXML_Sep_Style_Enum[] =
+static SvXMLEnumMapEntry<sal_Int8> const pXML_Sep_Style_Enum[] =
{
{ XML_NONE, 0 },
{ XML_SOLID, 1 },
@@ -83,12 +83,12 @@ static SvXMLEnumMapEntry const pXML_Sep_Style_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_Sep_Align_Enum[] =
+static SvXMLEnumMapEntry<VerticalAlignment> const pXML_Sep_Align_Enum[] =
{
- { XML_TOP, VerticalAlignment_TOP },
- { XML_MIDDLE, VerticalAlignment_MIDDLE },
- { XML_BOTTOM, VerticalAlignment_BOTTOM },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOP, VerticalAlignment_TOP },
+ { XML_MIDDLE, VerticalAlignment_MIDDLE },
+ { XML_BOTTOM, VerticalAlignment_BOTTOM },
+ { XML_TOKEN_INVALID, (VerticalAlignment)0 }
};
class XMLTextColumnContext_Impl: public SvXMLImportContext
@@ -222,25 +222,15 @@ XMLTextColumnSepContext_Impl::XMLTextColumnSepContext_Impl(
nHeight = (sal_Int8)nVal;
break;
case XML_TOK_COLUMN_SEP_COLOR:
- {
- ::sax::Converter::convertColor( nColor, rValue );
- }
+ ::sax::Converter::convertColor( nColor, rValue );
break;
case XML_TOK_COLUMN_SEP_ALIGN:
- {
- sal_uInt16 nAlign;
- if( SvXMLUnitConverter::convertEnum( nAlign, rValue,
- pXML_Sep_Align_Enum ) )
- eVertAlign = (VerticalAlignment)nAlign;
- }
+ SvXMLUnitConverter::convertEnum( eVertAlign, rValue,
+ pXML_Sep_Align_Enum );
break;
case XML_TOK_COLUMN_SEP_STYLE:
- {
- sal_uInt16 nStyleVal;
- if( SvXMLUnitConverter::convertEnum( nStyleVal, rValue,
- pXML_Sep_Style_Enum ) )
- nStyle = (sal_Int8)nStyleVal;
- }
+ SvXMLUnitConverter::convertEnum( nStyle, rValue,
+ pXML_Sep_Style_Enum );
break;
}
}
diff --git a/xmloff/source/text/XMLTextMarkImportContext.cxx b/xmloff/source/text/XMLTextMarkImportContext.cxx
index 4f2159c3ab65..dff7c788b37c 100644
--- a/xmloff/source/text/XMLTextMarkImportContext.cxx
+++ b/xmloff/source/text/XMLTextMarkImportContext.cxx
@@ -111,18 +111,18 @@ enum lcl_MarkType { TypeReference, TypeReferenceStart, TypeReferenceEnd,
TypeFieldmark, TypeFieldmarkStart, TypeFieldmarkEnd
};
-static SvXMLEnumMapEntry const lcl_aMarkTypeMap[] =
+static SvXMLEnumMapEntry<lcl_MarkType> const lcl_aMarkTypeMap[] =
{
- { XML_REFERENCE_MARK, TypeReference },
- { XML_REFERENCE_MARK_START, TypeReferenceStart },
- { XML_REFERENCE_MARK_END, TypeReferenceEnd },
- { XML_BOOKMARK, TypeBookmark },
- { XML_BOOKMARK_START, TypeBookmarkStart },
- { XML_BOOKMARK_END, TypeBookmarkEnd },
- { XML_FIELDMARK, TypeFieldmark },
- { XML_FIELDMARK_START, TypeFieldmarkStart },
- { XML_FIELDMARK_END, TypeFieldmarkEnd },
- { XML_TOKEN_INVALID, 0 },
+ { XML_REFERENCE_MARK, TypeReference },
+ { XML_REFERENCE_MARK_START, TypeReferenceStart },
+ { XML_REFERENCE_MARK_END, TypeReferenceEnd },
+ { XML_BOOKMARK, TypeBookmark },
+ { XML_BOOKMARK_START, TypeBookmarkStart },
+ { XML_BOOKMARK_END, TypeBookmarkEnd },
+ { XML_FIELDMARK, TypeFieldmark },
+ { XML_FIELDMARK_START, TypeFieldmarkStart },
+ { XML_FIELDMARK_END, TypeFieldmarkEnd },
+ { XML_TOKEN_INVALID, (lcl_MarkType)0 },
};
@@ -180,11 +180,11 @@ void XMLTextMarkImportContext::EndElement()
if (!m_sBookmarkName.isEmpty())
{
- sal_uInt16 nTmp;
+ lcl_MarkType nTmp;
if (SvXMLUnitConverter::convertEnum(nTmp, GetLocalName(),
lcl_aMarkTypeMap))
{
- switch ((lcl_MarkType)nTmp)
+ switch (nTmp)
{
case TypeReference:
// export point reference mark
diff --git a/xmloff/source/text/txtflde.cxx b/xmloff/source/text/txtflde.cxx
index 72dc79a828b8..91dba974616d 100644
--- a/xmloff/source/text/txtflde.cxx
+++ b/xmloff/source/text/txtflde.cxx
@@ -156,7 +156,7 @@ static sal_Char const FIELD_SERVICE_MEASURE[] = "Measure";
static sal_Char const FIELD_SERVICE_TABLE_FORMULA[] = "TableFormula";
static sal_Char const FIELD_SERVICE_DROP_DOWN[] = "DropDown";
-SvXMLEnumStringMapEntry const aFieldServiceNameMapping[] =
+SvXMLEnumStringMapEntry<FieldIdEnum> const aFieldServiceNameMapping[] =
{
ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_SENDER, FIELD_ID_SENDER ),
ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_AUTHOR, FIELD_ID_AUTHOR ),
@@ -244,7 +244,7 @@ SvXMLEnumStringMapEntry const aFieldServiceNameMapping[] =
ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_TABLE_FORMULA, FIELD_ID_TABLE_FORMULA ),
ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_DROP_DOWN, FIELD_ID_DROP_DOWN ),
- ENUM_STRING_MAP_END()
+ { nullptr, 0, (FieldIdEnum)0 }
};
@@ -441,23 +441,11 @@ enum FieldIdEnum XMLTextFieldExport::MapFieldName(
if (!sFieldName.isEmpty())
{
// map name to prelim. ID
- sal_uInt16 nTmp;
bool bRet = SvXMLUnitConverter::convertEnum(
- nTmp, sFieldName, aFieldServiceNameMapping);
+ nToken, sFieldName, aFieldServiceNameMapping);
// check return
DBG_ASSERT(bRet, "Unknown field service name encountered!");
- if (! bRet)
- {
- nToken = FIELD_ID_UNKNOWN;
- }
- else
- {
- nToken = (enum FieldIdEnum)nTmp;
- }
- } else {
- // invalid service name
- nToken = FIELD_ID_UNKNOWN;
}
// b) map prelim. to final FIELD_IDs
@@ -2674,7 +2662,7 @@ void XMLTextFieldExport::ProcessTimeOrDateTime(enum XMLTokenEnum eName,
}
-SvXMLEnumMapEntry const aBibliographyDataTypeMap[] =
+SvXMLEnumMapEntry<sal_Int16> const aBibliographyDataTypeMap[] =
{
{ XML_ARTICLE, BibliographyDataType::ARTICLE },
{ XML_BOOK, BibliographyDataType::BOOK },
diff --git a/xmloff/source/text/txtfldi.cxx b/xmloff/source/text/txtfldi.cxx
index 0e5c2f6bbc82..e521e19eb982 100644
--- a/xmloff/source/text/txtfldi.cxx
+++ b/xmloff/source/text/txtfldi.cxx
@@ -720,12 +720,12 @@ void XMLAuthorFieldImportContext::PrepareField(
// page continuation string
-static SvXMLEnumMapEntry const lcl_aSelectPageAttrMap[] =
+static SvXMLEnumMapEntry<PageNumberType> const lcl_aSelectPageAttrMap[] =
{
- { XML_PREVIOUS, PageNumberType_PREV },
- { XML_CURRENT, PageNumberType_CURRENT },
- { XML_NEXT, PageNumberType_NEXT },
- { XML_TOKEN_INVALID, 0 },
+ { XML_PREVIOUS, PageNumberType_PREV },
+ { XML_CURRENT, PageNumberType_CURRENT },
+ { XML_NEXT, PageNumberType_NEXT },
+ { XML_TOKEN_INVALID, (PageNumberType)0 },
};
XMLPageContinuationImportContext::XMLPageContinuationImportContext(
@@ -748,12 +748,12 @@ void XMLPageContinuationImportContext::ProcessAttribute(
{
case XML_TOK_TEXTFIELD_SELECT_PAGE:
{
- sal_uInt16 nTmp;
+ PageNumberType nTmp;
if (SvXMLUnitConverter::convertEnum(nTmp, sAttrValue,
lcl_aSelectPageAttrMap)
&& (PageNumberType_CURRENT != nTmp) )
{
- eSelectPage = (PageNumberType)nTmp;
+ eSelectPage = nTmp;
}
break;
}
@@ -811,15 +811,9 @@ void XMLPageNumberImportContext::ProcessAttribute(
sNumberSync = sAttrValue;
break;
case XML_TOK_TEXTFIELD_SELECT_PAGE:
- {
- sal_uInt16 nTmp;
- if (SvXMLUnitConverter::convertEnum(nTmp, sAttrValue,
- lcl_aSelectPageAttrMap))
- {
- eSelectPage = (PageNumberType)nTmp;
- }
+ SvXMLUnitConverter::convertEnum(eSelectPage, sAttrValue,
+ lcl_aSelectPageAttrMap);
break;
- }
case XML_TOK_TEXTFIELD_PAGE_ADJUST:
{
sal_Int32 nTmp;
@@ -2017,7 +2011,7 @@ void XMLHiddenTextImportContext::PrepareField(
// file name fields
-static const SvXMLEnumMapEntry aFilenameDisplayMap[] =
+static const SvXMLEnumMapEntry<sal_uInt16> aFilenameDisplayMap[] =
{
{ XML_PATH, FilenameDisplayFormat::PATH },
{ XML_NAME, FilenameDisplayFormat::NAME },
@@ -2099,7 +2093,7 @@ void XMLFileNameImportContext::PrepareField(
// template name field
-static const SvXMLEnumMapEntry aTemplateDisplayMap[] =
+static const SvXMLEnumMapEntry<sal_uInt16> aTemplateDisplayMap[] =
{
{ XML_FULL, TemplateDisplayFormat::FULL },
{ XML_PATH, TemplateDisplayFormat::PATH },
@@ -2154,7 +2148,7 @@ void XMLTemplateNameImportContext::PrepareField(
// import chapter fields
-static const SvXMLEnumMapEntry aChapterDisplayMap[] =
+static const SvXMLEnumMapEntry<sal_uInt16> aChapterDisplayMap[] =
{
{ XML_NAME, ChapterFormat::NAME },
{ XML_NUMBER, ChapterFormat::NUMBER },
@@ -2560,7 +2554,7 @@ XMLReferenceFieldImportContext::XMLReferenceFieldImportContext(
{
}
-static SvXMLEnumMapEntry const lcl_aReferenceTypeTokenMap[] =
+static SvXMLEnumMapEntry<sal_uInt16> const lcl_aReferenceTypeTokenMap[] =
{
{ XML_PAGE, ReferenceFieldPart::PAGE},
{ XML_CHAPTER, ReferenceFieldPart::CHAPTER },
@@ -3040,7 +3034,7 @@ XMLBibliographyFieldImportContext::XMLBibliographyFieldImportContext(
}
// TODO: this is the same map as is used in the text field export
-static SvXMLEnumMapEntry const aBibliographyDataTypeMap[] =
+static SvXMLEnumMapEntry<sal_uInt16> const aBibliographyDataTypeMap[] =
{
{ XML_ARTICLE, BibliographyDataType::ARTICLE },
{ XML_BOOK, BibliographyDataType::BOOK },
diff --git a/xmloff/source/text/txtprhdl.cxx b/xmloff/source/text/txtprhdl.cxx
index d29452b7de3a..b3712ea3fb7f 100644
--- a/xmloff/source/text/txtprhdl.cxx
+++ b/xmloff/source/text/txtprhdl.cxx
@@ -68,7 +68,7 @@ using namespace ::xmloff::token;
//UUUU
using namespace ::com::sun::star::drawing;
-static SvXMLEnumMapEntry const pXML_HoriPos_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_HoriPos_Enum[] =
{
{ XML_FROM_LEFT, HoriOrientation::NONE },
{ XML_FROM_INSIDE, HoriOrientation::NONE }, // import only
@@ -80,7 +80,7 @@ static SvXMLEnumMapEntry const pXML_HoriPos_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_HoriPosMirrored_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_HoriPosMirrored_Enum[] =
{
{ XML_FROM_INSIDE, HoriOrientation::NONE },
{ XML_INSIDE, HoriOrientation::LEFT },
@@ -89,7 +89,7 @@ static SvXMLEnumMapEntry const pXML_HoriPosMirrored_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_HoriRel_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_HoriRel_Enum[] =
{
{ XML_PARAGRAPH, RelOrientation::FRAME },
{ XML_PARAGRAPH_CONTENT, RelOrientation::PRINT_AREA },
@@ -107,7 +107,7 @@ static SvXMLEnumMapEntry const pXML_HoriRel_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_HoriRelFrame_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_HoriRelFrame_Enum[] =
{
{ XML_FRAME, RelOrientation::FRAME },
{ XML_FRAME_CONTENT, RelOrientation::PRINT_AREA },
@@ -121,19 +121,19 @@ static SvXMLEnumMapEntry const pXML_HoriRelFrame_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_HoriMirror_Enum[] =
+static SvXMLEnumMapEntry<bool> const pXML_HoriMirror_Enum[] =
{
- { XML_FROM_LEFT, sal_uInt16(false) },
- { XML_FROM_INSIDE, sal_uInt16(true) },
- { XML_LEFT, sal_uInt16(false) },
- { XML_INSIDE, sal_uInt16(true) },
- { XML_CENTER, sal_uInt16(false) },
- { XML_RIGHT, sal_uInt16(false) },
- { XML_OUTSIDE, sal_uInt16(true) },
- { XML_TOKEN_INVALID, 0 }
+ { XML_FROM_LEFT, false },
+ { XML_FROM_INSIDE, true },
+ { XML_LEFT, false },
+ { XML_INSIDE, true },
+ { XML_CENTER, false },
+ { XML_RIGHT, false },
+ { XML_OUTSIDE, true },
+ { XML_TOKEN_INVALID, false }
};
-static SvXMLEnumMapEntry const pXML_VertPosAtChar_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_VertPosAtChar_Enum[] =
{
{ XML_FROM_TOP, VertOrientation::NONE },
{ XML_TOP, VertOrientation::TOP },
@@ -148,7 +148,7 @@ static SvXMLEnumMapEntry const pXML_VertPosAtChar_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_VertRel_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_VertRel_Enum[] =
{
{ XML_PARAGRAPH, RelOrientation::FRAME },
{ XML_PARAGRAPH_CONTENT, RelOrientation::PRINT_AREA },
@@ -163,7 +163,7 @@ static SvXMLEnumMapEntry const pXML_VertRel_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_VertRelPage_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_VertRelPage_Enum[] =
{
{ XML_PAGE, RelOrientation::FRAME },
{ XML_PAGE_CONTENT, RelOrientation::PRINT_AREA },
@@ -172,14 +172,14 @@ static SvXMLEnumMapEntry const pXML_VertRelPage_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_VertRelFrame_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_VertRelFrame_Enum[] =
{
{ XML_FRAME, RelOrientation::FRAME },
{ XML_FRAME_CONTENT, RelOrientation::PRINT_AREA },
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_VertRelAsChar_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_VertRelAsChar_Enum[] =
{
{ XML_BASELINE, VertOrientation::TOP },
{ XML_BASELINE, VertOrientation::CENTER }, // export only
@@ -193,17 +193,17 @@ static SvXMLEnumMapEntry const pXML_VertRelAsChar_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_RubyAdjust_Enum[] =
+static SvXMLEnumMapEntry<RubyAdjust> const pXML_RubyAdjust_Enum[] =
{
{ XML_LEFT, RubyAdjust_LEFT },
{ XML_CENTER, RubyAdjust_CENTER },
{ XML_RIGHT, RubyAdjust_RIGHT },
{ XML_DISTRIBUTE_LETTER, RubyAdjust_BLOCK },
{ XML_DISTRIBUTE_SPACE, RubyAdjust_INDENT_BLOCK },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (RubyAdjust)0 }
};
-static SvXMLEnumMapEntry const pXML_FontRelief_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_FontRelief_Enum[] =
{
{ XML_NONE, FontRelief::NONE },
{ XML_ENGRAVED, FontRelief::ENGRAVED },
@@ -211,7 +211,7 @@ static SvXMLEnumMapEntry const pXML_FontRelief_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_ParaVerticalAlign_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_ParaVerticalAlign_Enum[] =
{
{ XML_TOP, ParagraphVertAlign::TOP },
{ XML_MIDDLE, ParagraphVertAlign::CENTER },
@@ -222,7 +222,7 @@ static SvXMLEnumMapEntry const pXML_ParaVerticalAlign_Enum[] =
};
// OD 2004-05-05 #i28701#
-static SvXMLEnumMapEntry const pXML_WrapInfluenceOnPosition_Enum[] =
+static SvXMLEnumMapEntry<sal_uInt16> const pXML_WrapInfluenceOnPosition_Enum[] =
{
// Tokens have been renamed and <XML_ITERATIVE> has been added (#i35017#)
{ XML_ONCE_SUCCESSIVE, WrapInfluenceOnPosition::ONCE_SUCCESSIVE },
@@ -231,13 +231,13 @@ static SvXMLEnumMapEntry const pXML_WrapInfluenceOnPosition_Enum[] =
{ XML_TOKEN_INVALID, 0 }
};
-static SvXMLEnumMapEntry const pXML_VerticalAlign_Enum[] =
+static SvXMLEnumMapEntry<drawing::TextVerticalAdjust> const pXML_VerticalAlign_Enum[] =
{
{ XML_TOP, drawing::TextVerticalAdjust_TOP },
{ XML_MIDDLE, drawing::TextVerticalAdjust_CENTER },
{ XML_BOTTOM, drawing::TextVerticalAdjust_BOTTOM },
{ XML_JUSTIFY, drawing::TextVerticalAdjust_BLOCK },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (drawing::TextVerticalAdjust)0 }
};
class XMLDropCapPropHdl_Impl : public XMLPropertyHandler
@@ -425,7 +425,7 @@ bool XMLParagraphOnlyPropHdl_Impl::exportXML(
return true;
}
-SvXMLEnumMapEntry const pXML_Wrap_Enum[] =
+SvXMLEnumMapEntry<WrapTextMode> const pXML_Wrap_Enum[] =
{
{ XML_NONE, WrapTextMode_NONE },
{ XML_RUN_THROUGH, WrapTextMode_THROUGHT },
@@ -433,7 +433,7 @@ SvXMLEnumMapEntry const pXML_Wrap_Enum[] =
{ XML_DYNAMIC, WrapTextMode_DYNAMIC },
{ XML_LEFT, WrapTextMode_LEFT },
{ XML_RIGHT, WrapTextMode_RIGHT },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (WrapTextMode)0 }
};
class XMLWrapPropHdl_Impl : public XMLPropertyHandler
@@ -454,12 +454,12 @@ bool XMLWrapPropHdl_Impl::importXML(
Any& rValue,
const SvXMLUnitConverter& ) const
{
- sal_uInt16 nWrap;
+ WrapTextMode nWrap;
bool bRet = SvXMLUnitConverter::convertEnum( nWrap, rStrImpValue,
pXML_Wrap_Enum );
if( bRet )
- rValue <<= (WrapTextMode)nWrap;
+ rValue <<= nWrap;
return bRet;
}
@@ -552,14 +552,14 @@ bool XMLFrameProtectPropHdl_Impl::exportXML(
return true;
}
-SvXMLEnumMapEntry const pXML_Anchor_Enum[] =
+SvXMLEnumMapEntry<TextContentAnchorType> const pXML_Anchor_Enum[] =
{
- { XML_CHAR, TextContentAnchorType_AT_CHARACTER },
- { XML_PAGE, TextContentAnchorType_AT_PAGE },
- { XML_FRAME, TextContentAnchorType_AT_FRAME },
- { XML_PARAGRAPH, TextContentAnchorType_AT_PARAGRAPH },
- { XML_AS_CHAR, TextContentAnchorType_AS_CHARACTER },
- { XML_TOKEN_INVALID, 0 }
+ { XML_CHAR, TextContentAnchorType_AT_CHARACTER },
+ { XML_PAGE, TextContentAnchorType_AT_PAGE },
+ { XML_FRAME, TextContentAnchorType_AT_FRAME },
+ { XML_PARAGRAPH, TextContentAnchorType_AT_PARAGRAPH },
+ { XML_AS_CHAR, TextContentAnchorType_AS_CHARACTER },
+ { XML_TOKEN_INVALID, (TextContentAnchorType)0 }
};
bool XMLAnchorTypePropHdl::importXML(
@@ -567,12 +567,12 @@ bool XMLAnchorTypePropHdl::importXML(
Any& rValue,
const SvXMLUnitConverter& ) const
{
- sal_uInt16 nAnchor;
+ TextContentAnchorType nAnchor;
bool bRet = SvXMLUnitConverter::convertEnum( nAnchor, rStrImpValue,
pXML_Anchor_Enum );
if( bRet )
- rValue <<= (TextContentAnchorType)nAnchor;
+ rValue <<= nAnchor;
return bRet;
}
@@ -601,11 +601,11 @@ XMLAnchorTypePropHdl::~XMLAnchorTypePropHdl()
bool XMLAnchorTypePropHdl::convert( const OUString& rStrImpValue,
TextContentAnchorType& rType )
{
- sal_uInt16 nAnchor;
+ TextContentAnchorType nAnchor;
bool bRet = SvXMLUnitConverter::convertEnum( nAnchor, rStrImpValue,
pXML_Anchor_Enum );
if( bRet )
- rType = (TextContentAnchorType)nAnchor;
+ rType = nAnchor;
return bRet;
}
@@ -686,13 +686,13 @@ bool XMLHoriMirrorPropHdl_Impl::importXML(
Any& rValue,
const SvXMLUnitConverter& ) const
{
- sal_uInt16 nHoriMirror;
+ bool nHoriMirror;
bool bRet = SvXMLUnitConverter::convertEnum( nHoriMirror, rStrImpValue,
pXML_HoriMirror_Enum );
if( bRet )
{
- rValue <<= (nHoriMirror != 0);
+ rValue <<= nHoriMirror;
}
return bRet;
@@ -793,7 +793,7 @@ bool XMLGrfMirrorPropHdl_Impl::exportXML(
return true;
}
-SvXMLEnumMapEntry const pXML_Emphasize_Enum[] =
+SvXMLEnumMapEntry<sal_uInt16> const pXML_Emphasize_Enum[] =
{
{ XML_NONE, FontEmphasis::NONE },
{ XML_DOT, FontEmphasis::DOT_ABOVE },
@@ -871,7 +871,7 @@ bool XMLTextEmphasizePropHdl_Impl::exportXML(
{
OUStringBuffer aOut( 15 );
bool bRet = true;
- sal_Int16 nType = sal_Int16();
+ sal_uInt16 nType = sal_uInt16();
if( rValue >>= nType )
{
bool bBelow = false;
@@ -1297,7 +1297,7 @@ static const XMLPropertyHandler *GetPropertyHandler
//UUUU
case XML_SW_TYPE_FILLSTYLE:
- pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap, cppu::UnoType<FillStyle>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap);
break;
case XML_SW_TYPE_FILLBITMAPSIZE:
pHdl = new XMLFillBitmapSizePropertyHandler();
@@ -1306,10 +1306,10 @@ static const XMLPropertyHandler *GetPropertyHandler
pHdl = new XMLBitmapLogicalSizePropertyHandler();
break;
case XML_SW_TYPE_BITMAP_REFPOINT:
- pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap, cppu::UnoType<RectanglePoint>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap);
break;
case XML_SW_TYPE_BITMAP_MODE:
- pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap, cppu::UnoType<BitmapMode>::get());
+ pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap);
break;
case XML_SW_TYPE_BITMAPREPOFFSETX:
case XML_SW_TYPE_BITMAPREPOFFSETY:
diff --git a/xmloff/source/text/txtstyli.cxx b/xmloff/source/text/txtstyli.cxx
index 8df44e21c744..7c3a11913b19 100644
--- a/xmloff/source/text/txtstyli.cxx
+++ b/xmloff/source/text/txtstyli.cxx
@@ -67,7 +67,7 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::container;
using namespace ::xmloff::token;
-static const SvXMLEnumMapEntry aCategoryMap[] =
+static const SvXMLEnumMapEntry<sal_uInt16> aCategoryMap[] =
{
{ XML_TEXT, ParagraphStyleCategory::TEXT },
{ XML_CHAPTER, ParagraphStyleCategory::CHAPTER },
diff --git a/xmloff/source/text/txtvfldi.cxx b/xmloff/source/text/txtvfldi.cxx
index 66bd617e6762..6825a737cccf 100644
--- a/xmloff/source/text/txtvfldi.cxx
+++ b/xmloff/source/text/txtvfldi.cxx
@@ -1078,7 +1078,7 @@ enum ValueType
XML_VALUE_TYPE_BOOLEAN
};
-static SvXMLEnumMapEntry const aValueTypeMap[] =
+static SvXMLEnumMapEntry<ValueType> const aValueTypeMap[] =
{
{ XML_FLOAT, XML_VALUE_TYPE_FLOAT },
{ XML_CURRENCY, XML_VALUE_TYPE_CURRENCY },
@@ -1087,7 +1087,7 @@ static SvXMLEnumMapEntry const aValueTypeMap[] =
{ XML_TIME, XML_VALUE_TYPE_TIME },
{ XML_BOOLEAN, XML_VALUE_TYPE_BOOLEAN },
{ XML_STRING, XML_VALUE_TYPE_STRING },
- { XML_TOKEN_INVALID, 0 }
+ { XML_TOKEN_INVALID, (ValueType)0 }
};
XMLValueImportHelper::XMLValueImportHelper(
@@ -1124,13 +1124,11 @@ void XMLValueImportHelper::ProcessAttribute(
case XML_TOK_TEXTFIELD_VALUE_TYPE:
{
// convert enum
- sal_uInt16 nTmp = 0;
+ ValueType eValueType = XML_VALUE_TYPE_STRING;
bool bRet = SvXMLUnitConverter::convertEnum(
- nTmp, sAttrValue, aValueTypeMap);
+ eValueType, sAttrValue, aValueTypeMap);
if (bRet) {
- ValueType eValueType = (ValueType)nTmp;
-
bTypeOK = true;
switch (eValueType)