sc/inc/optuno.hxx               |   28 +++++++++++----------
 sc/source/ui/unoobj/docuno.cxx  |   24 +++++++++---------
 sc/source/ui/unoobj/funcuno.cxx |   24 +++++++++---------
 sc/source/ui/unoobj/optuno.cxx  |   52 ++++++++++++++++++++--------------------
 4 files changed, 65 insertions(+), 63 deletions(-)

New commits:
commit d782bc73a39a2834ce5fa0be9a5cbdeba8ad0df4
Author:     Swarnadeep Paul <[email protected]>
AuthorDate: Thu Jan 29 12:45:35 2026 +0530
Commit:     Ilmari Lauhakangas <[email protected]>
CommitDate: Thu Feb 19 15:18:22 2026 +0100

    tdf#145614 Convert #define to enum class
    
    The #define in sc/inc/optuno.hxx has been converted
    to enum class, and corresponding usage in other 3 files
    in sc/source/ui/unoobj has been statically casted
    
    Change-Id: I63e49b13e70c1e904db8f69b07cdf72c86dd3ad9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198334
    Reviewed-by: Ilmari Lauhakangas <[email protected]>
    Tested-by: Jenkins

diff --git a/sc/inc/optuno.hxx b/sc/inc/optuno.hxx
index 27b0c3d6dc56..e53f35acf296 100644
--- a/sc/inc/optuno.hxx
+++ b/sc/inc/optuno.hxx
@@ -22,19 +22,21 @@
 #include "docuno.hxx"
 #include "docoptio.hxx"
 
-#define PROP_UNO_CALCASSHOWN    1
-#define PROP_UNO_DEFTABSTOP     2
-#define PROP_UNO_IGNORECASE     3
-#define PROP_UNO_ITERENABLED    4
-#define PROP_UNO_ITERCOUNT      5
-#define PROP_UNO_ITEREPSILON    6
-#define PROP_UNO_LOOKUPLABELS   7
-#define PROP_UNO_MATCHWHOLE     8
-#define PROP_UNO_NULLDATE       9
-#define PROP_UNO_STANDARDDEC    10
-#define PROP_UNO_REGEXENABLED   11
-#define PROP_UNO_WILDCARDSENABLED 12
-
+enum class ScPropUnoId
+{
+    CalcAsShown      = 1,
+    DefTabStop       = 2,
+    IgnoreCase       = 3,
+    IterEnabled      = 4,
+    IterCount        = 5,
+    IterEpsilon      = 6,
+    LookupLabels     = 7,
+    MatchWhole       = 8,
+    NullDate         = 9,
+    StandardDec      = 10,
+    RegexEnabled     = 11,
+    WildcardsEnabled = 12
+};
 class ScDocOptionsHelper
 {
 public:
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index ddbf286d9d44..36864d1c266e 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -162,32 +162,32 @@ static std::span<const SfxItemPropertyMapEntry> 
lcl_GetDocOptPropertyMap()
         { SC_UNO_BASICLIBRARIES,          0, 
cppu::UnoType<script::XLibraryContainer>::get(),     
beans::PropertyAttribute::READONLY, 0},
         { SC_UNO_DIALOGLIBRARIES,         0, 
cppu::UnoType<script::XLibraryContainer>::get(),     
beans::PropertyAttribute::READONLY, 0},
         { SC_UNO_VBAGLOBNAME,             0, cppu::UnoType<OUString>::get(),   
               beans::PropertyAttribute::READONLY, 0},
-        { SC_UNO_CALCASSHOWN,             PROP_UNO_CALCASSHOWN, 
cppu::UnoType<bool>::get(),                          0, 0},
+        { SC_UNO_CALCASSHOWN,             
static_cast<sal_uInt16>(ScPropUnoId::CalcAsShown), cppu::UnoType<bool>::get(),  
                        0, 0},
         { SC_UNONAME_CLOCAL,              0, 
cppu::UnoType<lang::Locale>::get(),                                    0, 0},
         { SC_UNO_CJK_CLOCAL,              0, 
cppu::UnoType<lang::Locale>::get(),                                    0, 0},
         { SC_UNO_CTL_CLOCAL,              0, 
cppu::UnoType<lang::Locale>::get(),                                    0, 0},
         { SC_UNO_COLLABELRNG,             0, 
cppu::UnoType<sheet::XLabelRanges>::get(),             0, 0},
         { SC_UNO_DDELINKS,                0, 
cppu::UnoType<container::XNameAccess>::get(),          0, 0},
-        { SC_UNO_DEFTABSTOP,              PROP_UNO_DEFTABSTOP, 
cppu::UnoType<sal_Int16>::get(),                     0, 0},
+        { SC_UNO_DEFTABSTOP,              
static_cast<sal_uInt16>(ScPropUnoId::DefTabStop), 
cppu::UnoType<sal_Int16>::get(),                     0, 0},
         { SC_UNO_EXTERNALDOCLINKS,        0, 
cppu::UnoType<sheet::XExternalDocLinks>::get(),        0, 0},
         { SC_UNO_FORBIDDEN,               0, 
cppu::UnoType<i18n::XForbiddenCharacters>::get(),      
beans::PropertyAttribute::READONLY, 0},
         { SC_UNO_HASDRAWPAGES,            0, cppu::UnoType<bool>::get(),       
                                      beans::PropertyAttribute::READONLY, 0},
-        { SC_UNO_IGNORECASE,              PROP_UNO_IGNORECASE, 
cppu::UnoType<bool>::get(),                           0, 0},
-        { SC_UNO_ITERENABLED,             PROP_UNO_ITERENABLED, 
cppu::UnoType<bool>::get(),                          0, 0},
-        { SC_UNO_ITERCOUNT,               PROP_UNO_ITERCOUNT, 
cppu::UnoType<sal_Int32>::get(),                      0, 0},
-        { SC_UNO_ITEREPSILON,             PROP_UNO_ITEREPSILON, 
cppu::UnoType<double>::get(),                       0, 0},
-        { SC_UNO_LOOKUPLABELS,            PROP_UNO_LOOKUPLABELS, 
cppu::UnoType<bool>::get(),                         0, 0},
-        { SC_UNO_MATCHWHOLE,              PROP_UNO_MATCHWHOLE, 
cppu::UnoType<bool>::get(),                           0, 0},
+        { SC_UNO_IGNORECASE,              
static_cast<sal_uInt16>(ScPropUnoId::IgnoreCase), cppu::UnoType<bool>::get(),   
                        0, 0},
+        { SC_UNO_ITERENABLED,             
static_cast<sal_uInt16>(ScPropUnoId::IterEnabled), cppu::UnoType<bool>::get(),  
                        0, 0},
+        { SC_UNO_ITERCOUNT,               
static_cast<sal_uInt16>(ScPropUnoId::IterCount), 
cppu::UnoType<sal_Int32>::get(),                      0, 0},
+        { SC_UNO_ITEREPSILON,             
static_cast<sal_uInt16>(ScPropUnoId::IterEpsilon), 
cppu::UnoType<double>::get(),                       0, 0},
+        { SC_UNO_LOOKUPLABELS,            
static_cast<sal_uInt16>(ScPropUnoId::LookupLabels), cppu::UnoType<bool>::get(), 
                        0, 0},
+        { SC_UNO_MATCHWHOLE,              
static_cast<sal_uInt16>(ScPropUnoId::MatchWhole), cppu::UnoType<bool>::get(),   
                        0, 0},
         { SC_UNO_NAMEDRANGES,             0, 
cppu::UnoType<sheet::XNamedRanges>::get(),             0, 0},
         { SC_UNO_THEME,                   0, 
cppu::UnoType<util::XTheme>::get(), 0,  0},
         { SC_UNO_DATABASERNG,             0, 
cppu::UnoType<sheet::XDatabaseRanges>::get(),          0, 0},
-        { SC_UNO_NULLDATE,                PROP_UNO_NULLDATE, 
cppu::UnoType<util::Date>::get(),                      0, 0},
+        { SC_UNO_NULLDATE,                
static_cast<sal_uInt16>(ScPropUnoId::NullDate), 
cppu::UnoType<util::Date>::get(),                      0, 0},
         { SC_UNO_ROWLABELRNG,             0, 
cppu::UnoType<sheet::XLabelRanges>::get(),             0, 0},
         { SC_UNO_SHEETLINKS,              0, 
cppu::UnoType<container::XNameAccess>::get(),          0, 0},
         { SC_UNO_SPELLONLINE,             0, cppu::UnoType<bool>::get(),       
                     0, 0},
-        { SC_UNO_STANDARDDEC,             PROP_UNO_STANDARDDEC, 
cppu::UnoType<sal_Int16>::get(),                    0, 0},
-        { SC_UNO_REGEXENABLED,            PROP_UNO_REGEXENABLED, 
cppu::UnoType<bool>::get(),                         0, 0},
-        { SC_UNO_WILDCARDSENABLED,        PROP_UNO_WILDCARDSENABLED, 
cppu::UnoType<bool>::get(),                         0, 0},
+        { SC_UNO_STANDARDDEC,             
static_cast<sal_uInt16>(ScPropUnoId::StandardDec), 
cppu::UnoType<sal_Int16>::get(),                    0, 0},
+        { SC_UNO_REGEXENABLED,            
static_cast<sal_uInt16>(ScPropUnoId::RegexEnabled), cppu::UnoType<bool>::get(), 
                        0, 0},
+        { SC_UNO_WILDCARDSENABLED,        
static_cast<sal_uInt16>(ScPropUnoId::WildcardsEnabled), 
cppu::UnoType<bool>::get(),                         0, 0},
         { SC_UNO_RUNTIMEUID,              0, cppu::UnoType<OUString>::get(),   
               beans::PropertyAttribute::READONLY, 0},
         { SC_UNO_HASVALIDSIGNATURES,      0, cppu::UnoType<bool>::get(),       
                                      beans::PropertyAttribute::READONLY, 0},
         { SC_UNO_ALLOWLINKUPDATE,         0, cppu::UnoType<bool>::get(),       
                                      beans::PropertyAttribute::READONLY, 0},
diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx
index 3998ecb3a104..52839c51c2f1 100644
--- a/sc/source/ui/unoobj/funcuno.cxx
+++ b/sc/source/ui/unoobj/funcuno.cxx
@@ -173,20 +173,20 @@ namespace
     {
         static const SfxItemPropertyMapEntry aMap[] =
         {
-            { SC_UNO_CALCASSHOWN,  PROP_UNO_CALCASSHOWN ,  
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_DEFTABSTOP,   PROP_UNO_DEFTABSTOP  ,  
cppu::UnoType<sal_Int16>::get(),    0, 0},
-            { SC_UNO_IGNORECASE,   PROP_UNO_IGNORECASE  ,  
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_ITERENABLED,  PROP_UNO_ITERENABLED ,  
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_ITERCOUNT,    PROP_UNO_ITERCOUNT   ,  
cppu::UnoType<sal_Int32>::get(),    0, 0},
-            { SC_UNO_ITEREPSILON,  PROP_UNO_ITEREPSILON ,  
cppu::UnoType<double>::get(),       0, 0},
-            { SC_UNO_LOOKUPLABELS, PROP_UNO_LOOKUPLABELS,  
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_MATCHWHOLE,   PROP_UNO_MATCHWHOLE  ,  
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_NULLDATE,     PROP_UNO_NULLDATE    ,  
cppu::UnoType<util::Date>::get(),   0, 0},
+            { SC_UNO_CALCASSHOWN,  
static_cast<sal_uInt16>(ScPropUnoId::CalcAsShown) ,  
cppu::UnoType<bool>::get(),          0, 0},
+            { SC_UNO_DEFTABSTOP,   
static_cast<sal_uInt16>(ScPropUnoId::DefTabStop)  ,  
cppu::UnoType<sal_Int16>::get(),    0, 0},
+            { SC_UNO_IGNORECASE,   
static_cast<sal_uInt16>(ScPropUnoId::IgnoreCase)  ,  
cppu::UnoType<bool>::get(),          0, 0},
+            { SC_UNO_ITERENABLED,  
static_cast<sal_uInt16>(ScPropUnoId::IterEnabled) ,  
cppu::UnoType<bool>::get(),          0, 0},
+            { SC_UNO_ITERCOUNT,    
static_cast<sal_uInt16>(ScPropUnoId::IterCount)   ,  
cppu::UnoType<sal_Int32>::get(),    0, 0},
+            { SC_UNO_ITEREPSILON,  
static_cast<sal_uInt16>(ScPropUnoId::IterEpsilon) ,  
cppu::UnoType<double>::get(),       0, 0},
+            { SC_UNO_LOOKUPLABELS, 
static_cast<sal_uInt16>(ScPropUnoId::LookupLabels),  
cppu::UnoType<bool>::get(),          0, 0},
+            { SC_UNO_MATCHWHOLE,   
static_cast<sal_uInt16>(ScPropUnoId::MatchWhole)  ,  
cppu::UnoType<bool>::get(),          0, 0},
+            { SC_UNO_NULLDATE,     
static_cast<sal_uInt16>(ScPropUnoId::NullDate)    ,  
cppu::UnoType<util::Date>::get(),   0, 0},
             // SpreadsheetDocumentSettings supports "SpellOnline" so we must 
claim to support this here too
             { SC_UNO_SPELLONLINE,  0 ,                     
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_STANDARDDEC,  PROP_UNO_STANDARDDEC ,  
cppu::UnoType<sal_Int16>::get(),    0, 0},
-            { SC_UNO_REGEXENABLED, PROP_UNO_REGEXENABLED,  
cppu::UnoType<bool>::get(),          0, 0},
-            { SC_UNO_WILDCARDSENABLED, PROP_UNO_WILDCARDSENABLED, 
cppu::UnoType<bool>::get(),  0, 0},
+            { SC_UNO_STANDARDDEC,  
static_cast<sal_uInt16>(ScPropUnoId::StandardDec),  
cppu::UnoType<sal_Int16>::get(),    0, 0},
+            { SC_UNO_REGEXENABLED, 
static_cast<sal_uInt16>(ScPropUnoId::RegexEnabled),  
cppu::UnoType<bool>::get(),          0, 0},
+            { SC_UNO_WILDCARDSENABLED, 
static_cast<sal_uInt16>(ScPropUnoId::WildcardsEnabled), 
cppu::UnoType<bool>::get(),  0, 0},
         };
         return aMap;
     }
diff --git a/sc/source/ui/unoobj/optuno.cxx b/sc/source/ui/unoobj/optuno.cxx
index ce885684a254..6b2ea947d523 100644
--- a/sc/source/ui/unoobj/optuno.cxx
+++ b/sc/source/ui/unoobj/optuno.cxx
@@ -37,62 +37,62 @@ bool ScDocOptionsHelper::setPropertyValue( ScDocOptions& 
rOptions,
     const SfxItemPropertyMapEntry* pEntry = rPropMap.getByName(aPropertyName );
     if( !pEntry || !pEntry->nWID )
         return false;
-    switch( pEntry->nWID )
+    switch( static_cast<ScPropUnoId>(pEntry->nWID) )
     {
-        case PROP_UNO_CALCASSHOWN :
+        case ScPropUnoId::CalcAsShown:
             rOptions.SetCalcAsShown( ScUnoHelpFunctions::GetBoolFromAny( 
aValue ) );
         break;
-        case PROP_UNO_DEFTABSTOP  :
+        case ScPropUnoId::DefTabStop:
         {
             sal_Int16 nIntVal = 0;
             if ( aValue >>= nIntVal )
                 rOptions.SetTabDistance( nIntVal );
         }
         break;
-        case PROP_UNO_IGNORECASE  :
+        case ScPropUnoId::IgnoreCase:
             rOptions.SetIgnoreCase( ScUnoHelpFunctions::GetBoolFromAny( aValue 
) );
         break;
-        case PROP_UNO_ITERENABLED:
+        case ScPropUnoId::IterEnabled:
             rOptions.SetIter( ScUnoHelpFunctions::GetBoolFromAny( aValue ) );
         break;
-        case PROP_UNO_ITERCOUNT   :
+        case ScPropUnoId::IterCount:
         {
             sal_Int32 nIntVal = 0;
             if ( aValue >>= nIntVal )
                 rOptions.SetIterCount( static_cast<sal_uInt16>(nIntVal) );
         }
         break;
-        case PROP_UNO_ITEREPSILON :
+        case ScPropUnoId::IterEpsilon:
         {
             double fDoubleVal = 0;
             if ( aValue >>= fDoubleVal )
                 rOptions.SetIterEps( fDoubleVal );
         }
         break;
-        case PROP_UNO_LOOKUPLABELS :
+        case ScPropUnoId::LookupLabels:
             rOptions.SetLookUpColRowNames( ScUnoHelpFunctions::GetBoolFromAny( 
aValue ) );
         break;
-        case PROP_UNO_MATCHWHOLE  :
+        case ScPropUnoId::MatchWhole:
             rOptions.SetMatchWholeCell( ScUnoHelpFunctions::GetBoolFromAny( 
aValue ) );
         break;
-        case PROP_UNO_NULLDATE:
+        case ScPropUnoId::NullDate:
         {
             util::Date aDate;
             if ( aValue >>= aDate )
                 rOptions.SetDate( aDate.Day, aDate.Month, aDate.Year );
         }
         break;
-        case PROP_UNO_STANDARDDEC:
+        case ScPropUnoId::StandardDec:
         {
             sal_Int16 nIntVal = 0;
             if ( aValue >>= nIntVal )
                 rOptions.SetStdPrecision( nIntVal );
         }
         break;
-        case PROP_UNO_REGEXENABLED:
+        case ScPropUnoId::RegexEnabled:
             rOptions.SetFormulaRegexEnabled( 
ScUnoHelpFunctions::GetBoolFromAny( aValue ) );
         break;
-        case PROP_UNO_WILDCARDSENABLED:
+        case ScPropUnoId::WildcardsEnabled:
             rOptions.SetFormulaWildcardsEnabled( 
ScUnoHelpFunctions::GetBoolFromAny( aValue ) );
         break;
         default:;
@@ -109,33 +109,33 @@ uno::Any ScDocOptionsHelper::getPropertyValue(
     const SfxItemPropertyMapEntry* pEntry = rPropMap.getByName( aPropertyName 
);
     if( !pEntry || !pEntry->nWID )
         return aRet;
-    switch( pEntry->nWID )
+    switch( static_cast<ScPropUnoId>(pEntry->nWID) )
     {
-        case PROP_UNO_CALCASSHOWN :
+        case ScPropUnoId::CalcAsShown:
             aRet <<= rOptions.IsCalcAsShown();
         break;
-        case PROP_UNO_DEFTABSTOP :
+        case ScPropUnoId::DefTabStop:
             aRet <<= static_cast<sal_Int16>( rOptions.GetTabDistance() );
         break;
-        case PROP_UNO_IGNORECASE :
+        case ScPropUnoId::IgnoreCase:
             aRet <<= rOptions.IsIgnoreCase();
         break;
-        case PROP_UNO_ITERENABLED:
+        case ScPropUnoId::IterEnabled:
             aRet <<= rOptions.IsIter();
         break;
-        case PROP_UNO_ITERCOUNT:
+        case ScPropUnoId::IterCount:
             aRet <<= static_cast<sal_Int32>( rOptions.GetIterCount() );
         break;
-        case PROP_UNO_ITEREPSILON:
+        case ScPropUnoId::IterEpsilon:
             aRet <<= rOptions.GetIterEps();
         break;
-        case PROP_UNO_LOOKUPLABELS:
+        case ScPropUnoId::LookupLabels:
             aRet <<= rOptions.IsLookUpColRowNames();
         break;
-        case PROP_UNO_MATCHWHOLE:
+        case ScPropUnoId::MatchWhole:
             aRet <<= rOptions.IsMatchWholeCell();
         break;
-        case PROP_UNO_NULLDATE:
+        case ScPropUnoId::NullDate:
         {
             sal_uInt16 nD, nM;
             sal_Int16 nY;
@@ -144,13 +144,13 @@ uno::Any ScDocOptionsHelper::getPropertyValue(
             aRet <<= aDate;
         }
         break;
-        case PROP_UNO_STANDARDDEC :
+        case ScPropUnoId::StandardDec:
             aRet <<= static_cast<sal_Int16>( rOptions.GetStdPrecision() );
         break;
-        case PROP_UNO_REGEXENABLED:
+        case ScPropUnoId::RegexEnabled:
             aRet <<= rOptions.IsFormulaRegexEnabled();
         break;
-        case PROP_UNO_WILDCARDSENABLED:
+        case ScPropUnoId::WildcardsEnabled:
             aRet <<= rOptions.IsFormulaWildcardsEnabled();
         break;
         default:;

Reply via email to