framework/inc/properties.h          |   15 +++--
 framework/source/services/frame.cxx |   91 +++++++++++++++++-------------------
 2 files changed, 52 insertions(+), 54 deletions(-)

New commits:
commit e9f18286c6f5ad6e1b8c8229c6e2506ec640ee23
Author:     siddhi <[email protected]>
AuthorDate: Thu Oct 16 12:23:30 2025 +0530
Commit:     Hossein <[email protected]>
CommitDate: Fri Oct 24 16:03:53 2025 +0200

    tdf#145614 convert #define statements to enum class
    
    Replaced #define statements with an enum class FramePropHandle in
    properties.h, updated frame.cxx to use this enum class.
    
    Change-Id: Ib7f1eff43ec4196176de8a6af80a7dd9c0a1b2ee
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192468
    Tested-by: Jenkins
    Reviewed-by: Hossein <[email protected]>

diff --git a/framework/inc/properties.h b/framework/inc/properties.h
index c4eef829af0f..1b766b337140 100644
--- a/framework/inc/properties.h
+++ b/framework/inc/properties.h
@@ -34,12 +34,15 @@ inline constexpr OUString FRAME_PROPNAME_ASCII_URL = 
u"URL"_ustr;
 
 // Please add new entries alphabetical sorted and correct all other handles!
 // Start counting with 0, so it can be used as direct index into an array too.
-#define FRAME_PROPHANDLE_DISPATCHRECORDERSUPPLIER       0
-#define FRAME_PROPHANDLE_ISHIDDEN                       1
-#define FRAME_PROPHANDLE_LAYOUTMANAGER                  2
-#define FRAME_PROPHANDLE_TITLE                          3
-#define FRAME_PROPHANDLE_INDICATORINTERCEPTION          4
-#define FRAME_PROPHANDLE_URL 5
+enum class FramePropHandle : sal_Int32
+{
+    DispatchRecorderSupplier = 0,
+    IsHidden = 1,
+    LayoutManager = 2,
+    Title = 3,
+    IndicatorInterception = 4,
+    Url = 5
+};
 
 /** properties for "LayoutManager" class */
 
diff --git a/framework/source/services/frame.cxx 
b/framework/source/services/frame.cxx
index 8d1dbb331e01..1e628f61f5ba 100644
--- a/framework/source/services/frame.cxx
+++ b/framework/source/services/frame.cxx
@@ -327,8 +327,7 @@ private:
      *          The owner of this class has to be sure, that no new property
      *          clashes with an existing one.
      */
-    void impl_addPropertyInfo(const css::beans::Property& aProperty);
-
+    void impl_addPropertyInfo(const OUString& rName, FramePropHandle eHandle, 
const css::uno::Type& rType, sal_Int16 nAttributes);
     /** mark the object as "dead".
      */
     void impl_disablePropertySet();
@@ -517,38 +516,35 @@ void XFrameImpl::initListeners()
     // set information about all supported properties
     impl_setPropertyChangeBroadcaster(*this);
     impl_addPropertyInfo(
-        css::beans::Property(
-            FRAME_PROPNAME_ASCII_DISPATCHRECORDERSUPPLIER,
-            FRAME_PROPHANDLE_DISPATCHRECORDERSUPPLIER,
-            cppu::UnoType<css::frame::XDispatchRecorderSupplier>::get(),
-            css::beans::PropertyAttribute::TRANSIENT));
+        FRAME_PROPNAME_ASCII_DISPATCHRECORDERSUPPLIER,
+        FramePropHandle::DispatchRecorderSupplier,
+        cppu::UnoType<css::frame::XDispatchRecorderSupplier>::get(),
+        css::beans::PropertyAttribute::TRANSIENT);
+    impl_addPropertyInfo(
+        FRAME_PROPNAME_ASCII_INDICATORINTERCEPTION,
+        FramePropHandle::IndicatorInterception,
+        cppu::UnoType<css::task::XStatusIndicator>::get(),
+        css::beans::PropertyAttribute::TRANSIENT);
     impl_addPropertyInfo(
-        css::beans::Property(
-            FRAME_PROPNAME_ASCII_INDICATORINTERCEPTION,
-            FRAME_PROPHANDLE_INDICATORINTERCEPTION,
-            cppu::UnoType<css::task::XStatusIndicator>::get(),
-            css::beans::PropertyAttribute::TRANSIENT));
+        FRAME_PROPNAME_ASCII_ISHIDDEN,
+        FramePropHandle::IsHidden,
+        cppu::UnoType<bool>::get(),
+        css::beans::PropertyAttribute::TRANSIENT | 
css::beans::PropertyAttribute::READONLY);
     impl_addPropertyInfo(
-        css::beans::Property(
-            FRAME_PROPNAME_ASCII_ISHIDDEN,
-            FRAME_PROPHANDLE_ISHIDDEN,
-            cppu::UnoType<bool>::get(),
-            css::beans::PropertyAttribute::TRANSIENT | 
css::beans::PropertyAttribute::READONLY));
+        FRAME_PROPNAME_ASCII_LAYOUTMANAGER,
+        FramePropHandle::LayoutManager,
+        cppu::UnoType<css::frame::XLayoutManager>::get(),
+        css::beans::PropertyAttribute::TRANSIENT);
     impl_addPropertyInfo(
-        css::beans::Property(
-            FRAME_PROPNAME_ASCII_LAYOUTMANAGER,
-            FRAME_PROPHANDLE_LAYOUTMANAGER,
-            cppu::UnoType<css::frame::XLayoutManager>::get(),
-            css::beans::PropertyAttribute::TRANSIENT));
+        FRAME_PROPNAME_ASCII_TITLE,
+        FramePropHandle::Title,
+        cppu::UnoType<OUString>::get(),
+        css::beans::PropertyAttribute::TRANSIENT);
     impl_addPropertyInfo(
-        css::beans::Property(
-            FRAME_PROPNAME_ASCII_TITLE,
-            FRAME_PROPHANDLE_TITLE,
-            cppu::UnoType<OUString>::get(),
-            css::beans::PropertyAttribute::TRANSIENT));
-    impl_addPropertyInfo(css::beans::Property(FRAME_PROPNAME_ASCII_URL, 
FRAME_PROPHANDLE_URL,
-                                              cppu::UnoType<OUString>::get(),
-                                              
css::beans::PropertyAttribute::TRANSIENT));
+        FRAME_PROPNAME_ASCII_URL,
+        FramePropHandle::Url,
+        cppu::UnoType<OUString>::get(),
+        css::beans::PropertyAttribute::TRANSIENT);
 }
 
 
/*-************************************************************************************************************
@@ -2735,9 +2731,9 @@ void XFrameImpl::impl_setPropertyValue(sal_Int32 nHandle,
                   properties have a unique handle. That must be guaranteed
                   inside method initListeners()!
     */
-    switch (nHandle)
+    switch (static_cast<FramePropHandle>(nHandle))
     {
-        case FRAME_PROPHANDLE_TITLE :
+        case FramePropHandle::Title :
                 {
                     OUString sExternalTitle;
                     aValue >>= sExternalTitle;
@@ -2745,11 +2741,11 @@ void XFrameImpl::impl_setPropertyValue(sal_Int32 
nHandle,
                 }
                 break;
 
-        case FRAME_PROPHANDLE_DISPATCHRECORDERSUPPLIER :
+        case FramePropHandle::DispatchRecorderSupplier :
                 aValue >>= m_xDispatchRecorderSupplier;
                 break;
 
-        case FRAME_PROPHANDLE_LAYOUTMANAGER :
+        case FramePropHandle::LayoutManager :
                 {
                     css::uno::Reference< css::frame::XLayoutManager2 > 
xOldLayoutManager = m_xLayoutManager;
                     css::uno::Reference< css::frame::XLayoutManager2 > 
xNewLayoutManager;
@@ -2766,7 +2762,7 @@ void XFrameImpl::impl_setPropertyValue(sal_Int32 nHandle,
                 }
                 break;
 
-        case FRAME_PROPHANDLE_INDICATORINTERCEPTION :
+        case FramePropHandle::IndicatorInterception :
                 {
                     css::uno::Reference< css::task::XStatusIndicator > 
xProgress;
                     aValue >>= xProgress;
@@ -2774,7 +2770,7 @@ void XFrameImpl::impl_setPropertyValue(sal_Int32 nHandle,
                 }
                 break;
 
-        case FRAME_PROPHANDLE_URL:
+        case FramePropHandle::Url:
         {
             aValue >>= m_aURL;
         }
@@ -2796,25 +2792,25 @@ css::uno::Any 
XFrameImpl::impl_getPropertyValue(sal_Int32 nHandle)
                   inside method initListeners()!
     */
     css::uno::Any aValue;
-    switch (nHandle)
+    switch (static_cast<FramePropHandle>(nHandle))
     {
-        case FRAME_PROPHANDLE_TITLE :
+        case FramePropHandle::Title :
                 aValue <<= getTitle ();
                 break;
 
-        case FRAME_PROPHANDLE_DISPATCHRECORDERSUPPLIER :
+        case FramePropHandle::DispatchRecorderSupplier :
                 aValue <<= m_xDispatchRecorderSupplier;
                 break;
 
-        case FRAME_PROPHANDLE_ISHIDDEN :
+        case FramePropHandle::IsHidden :
                 aValue <<= m_bIsHidden;
                 break;
 
-        case FRAME_PROPHANDLE_LAYOUTMANAGER :
+        case FramePropHandle::LayoutManager :
                 aValue <<= m_xLayoutManager;
                 break;
 
-        case FRAME_PROPHANDLE_INDICATORINTERCEPTION :
+        case FramePropHandle::IndicatorInterception :
                 {
                     css::uno::Reference< css::task::XStatusIndicator > 
xProgress(m_xIndicatorInterception.get(),
                                                                                
  css::uno::UNO_QUERY);
@@ -2822,7 +2818,7 @@ css::uno::Any XFrameImpl::impl_getPropertyValue(sal_Int32 
nHandle)
                 }
                 break;
 
-        case FRAME_PROPHANDLE_URL:
+        case FramePropHandle::Url:
         {
             aValue <<= m_aURL;
         }
@@ -2841,15 +2837,14 @@ void 
XFrameImpl::impl_setPropertyChangeBroadcaster(XFrameImpl& xBroadcaster)
     m_xBroadcaster = &xBroadcaster;
 }
 
-void XFrameImpl::impl_addPropertyInfo(const css::beans::Property& aProperty)
+void XFrameImpl::impl_addPropertyInfo(const OUString& rName, FramePropHandle 
eHandle, const css::uno::Type& rType, sal_Int16 nAttributes)
 {
     SolarMutexGuard g;
-
-    TPropInfoHash::const_iterator pIt = m_lProps.find(aProperty.Name);
+    css::beans::Property aProperty(rName, static_cast<sal_Int32>(eHandle), 
rType, nAttributes);
+    TPropInfoHash::const_iterator pIt = m_lProps.find(rName);
     if (pIt != m_lProps.end())
         throw css::beans::PropertyExistException();
-
-    m_lProps[aProperty.Name] = aProperty;
+    m_lProps[rName] = aProperty;
 }
 
 void XFrameImpl::impl_disablePropertySet()

Reply via email to