summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2016-05-15 17:55:48 +0200
committerNoel Grandin <noelgrandin@gmail.com>2016-05-16 06:43:19 +0000
commit52372ae0370cb755ed810eead456d75c8cb1adf3 (patch)
tree6415c4f1d284229ef8a308af31bb1f4210a1f963
parentb852642ecdcba105d14b1927309cfb176fb7d417 (diff)
convert NUMERICFORMATTER to scoped enum
Change-Id: Ia6762153a73f01a237bfc03bf9a95a4117d1d998 Reviewed-on: https://gerrit.libreoffice.org/25010 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
-rw-r--r--include/tools/rc.h17
-rw-r--r--rsc/source/parser/rscicpx.cxx13
-rw-r--r--vcl/source/control/field.cxx15
3 files changed, 21 insertions, 24 deletions
diff --git a/include/tools/rc.h b/include/tools/rc.h
index dbf028da388e..1aed99554c59 100644
--- a/include/tools/rc.h
+++ b/include/tools/rc.h
@@ -94,13 +94,16 @@ namespace o3tl {
// For "Field" resources:
-#define NUMERICFORMATTER_MIN 0x01
-#define NUMERICFORMATTER_MAX 0x02
-#define NUMERICFORMATTER_STRICTFORMAT 0x04
-//#define NUMERICFORMATTER_I12 0x08 // removed (2005-06-17)
-#define NUMERICFORMATTER_DECIMALDIGITS 0x10
-#define NUMERICFORMATTER_VALUE 0x20
-#define NUMERICFORMATTER_NOTHOUSANDSEP 0x40
+enum class RscNumFormatterFlags {
+ Min = 0x01,
+ Max = 0x02,
+ StrictFormat = 0x04,
+ DecimalDigits = 0x10,
+ Value = 0x20,
+};
+namespace o3tl {
+ template<> struct typed_flags<RscNumFormatterFlags> : is_typed_flags<RscNumFormatterFlags, 0x37> {};
+}
#define METRICFORMATTER_UNIT 0x01
#define METRICFORMATTER_CUSTOMUNITTEXT 0x02
diff --git a/rsc/source/parser/rscicpx.cxx b/rsc/source/parser/rscicpx.cxx
index fc13647fb4c0..9bd53b558e1a 100644
--- a/rsc/source/parser/rscicpx.cxx
+++ b/rsc/source/parser/rscicpx.cxx
@@ -862,22 +862,19 @@ RscTop * RscTypCont::InitClassNumericFormatter( RscTop * pSuper )
// initialize variables
nId = aNmTb.Put( "Minimum", VARNAME );
pClassNumeric->SetVariable( nId, &aIdLong, nullptr,
- 0, NUMERICFORMATTER_MIN );
+ 0, (sal_uInt32)RscNumFormatterFlags::Min );
nId = aNmTb.Put( "Maximum", VARNAME );
pClassNumeric->SetVariable( nId, &aIdLong, nullptr,
- 0, NUMERICFORMATTER_MAX );
+ 0, (sal_uInt32)RscNumFormatterFlags::Max );
nId = aNmTb.Put( "StrictFormat", VARNAME );
pClassNumeric->SetVariable( nId, &aBool, nullptr,
- 0, NUMERICFORMATTER_STRICTFORMAT );
+ 0, (sal_uInt32)RscNumFormatterFlags::StrictFormat );
nId = aNmTb.Put( "DecimalDigits", VARNAME );
pClassNumeric->SetVariable( nId, &aUShort, nullptr,
- 0, NUMERICFORMATTER_DECIMALDIGITS );
+ 0, (sal_uInt32)RscNumFormatterFlags::DecimalDigits );
nId = aNmTb.Put( "Value", VARNAME );
pClassNumeric->SetVariable( nId, &aIdLong, nullptr,
- 0, NUMERICFORMATTER_VALUE );
- nId = aNmTb.Put( "NoThousandSep", VARNAME );
- pClassNumeric->SetVariable( nId, &aBool, nullptr,
- 0, NUMERICFORMATTER_NOTHOUSANDSEP );
+ 0, (sal_uInt32)RscNumFormatterFlags::Value );
return pClassNumeric;
}
diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 849f2f05f1ad..4ae94361f07a 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -531,28 +531,25 @@ void NumericFormatter::ImplLoadRes( const ResId& rResId )
if( pMgr )
{
- sal_uLong nMask = pMgr->ReadLong();
+ RscNumFormatterFlags nMask = (RscNumFormatterFlags)pMgr->ReadLong();
- if ( NUMERICFORMATTER_MIN & nMask )
+ if ( RscNumFormatterFlags::Min & nMask )
mnMin = pMgr->ReadLong();
- if ( NUMERICFORMATTER_MAX & nMask )
+ if ( RscNumFormatterFlags::Max & nMask )
mnMax = pMgr->ReadLong();
- if ( NUMERICFORMATTER_STRICTFORMAT & nMask )
+ if ( RscNumFormatterFlags::StrictFormat & nMask )
SetStrictFormat( pMgr->ReadShort() != 0 );
- if ( NUMERICFORMATTER_DECIMALDIGITS & nMask )
+ if ( RscNumFormatterFlags::DecimalDigits & nMask )
SetDecimalDigits( pMgr->ReadShort() );
- if ( NUMERICFORMATTER_VALUE & nMask )
+ if ( RscNumFormatterFlags::Value & nMask )
{
mnFieldValue = ClipAgainstMinMax(pMgr->ReadLong());
mnLastValue = mnFieldValue;
}
-
- if ( NUMERICFORMATTER_NOTHOUSANDSEP & nMask )
- SetUseThousandSep( pMgr->ReadShort() == 0 );
}
}