accessibility/inc/standard/vclxaccessibletabcontrol.hxx    |    4 
 accessibility/inc/standard/vclxaccessibletoolbox.hxx       |    6 -
 accessibility/source/standard/vclxaccessibletabcontrol.cxx |   67 ++++---------
 accessibility/source/standard/vclxaccessibletoolbox.cxx    |   33 ++----
 4 files changed, 39 insertions(+), 71 deletions(-)

New commits:
commit a3f77a61c03340b79930e89d5c4045d814b93edf
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Aug 30 14:43:18 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Aug 30 22:16:36 2023 +0200

    use concrete type for VCLXAccessibleTabControl::m_aAccessibleChildren
    
    avoid some unnecessary casting
    
    Change-Id: I2f6ed71fbffbcdfad18ed03dd45c12ea1f52fff6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156291
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/accessibility/inc/standard/vclxaccessibletabcontrol.hxx 
b/accessibility/inc/standard/vclxaccessibletabcontrol.hxx
index dcf515775bd7..32565c6d80ad 100644
--- a/accessibility/inc/standard/vclxaccessibletabcontrol.hxx
+++ b/accessibility/inc/standard/vclxaccessibletabcontrol.hxx
@@ -27,7 +27,7 @@
 
 #include <vector>
 
-
+class VCLXAccessibleTabPage;
 
 
 class VCLXAccessibleTabControl final : public cppu::ImplInheritanceHelper<
@@ -35,7 +35,7 @@ class VCLXAccessibleTabControl final : public 
cppu::ImplInheritanceHelper<
                                            
css::accessibility::XAccessibleSelection>
 {
 private:
-    typedef std::vector< css::uno::Reference< css::accessibility::XAccessible 
> > AccessibleChildren;
+    typedef std::vector< rtl::Reference< VCLXAccessibleTabPage > > 
AccessibleChildren;
 
     AccessibleChildren      m_aAccessibleChildren;
     VclPtr<TabControl>      m_pTabControl;
diff --git a/accessibility/source/standard/vclxaccessibletabcontrol.cxx 
b/accessibility/source/standard/vclxaccessibletabcontrol.cxx
index 9963b51aef5f..0855b0f177aa 100644
--- a/accessibility/source/standard/vclxaccessibletabcontrol.cxx
+++ b/accessibility/source/standard/vclxaccessibletabcontrol.cxx
@@ -52,20 +52,16 @@ VCLXAccessibleTabControl::VCLXAccessibleTabControl( 
VCLXWindow* pVCLXWindow )
         m_pTabControl.clear();
         return;
     }
-    m_aAccessibleChildren.assign( m_pTabControl->GetPageCount(), Reference< 
XAccessible >() );
+    m_aAccessibleChildren.assign( m_pTabControl->GetPageCount(), 
rtl::Reference< VCLXAccessibleTabPage >() );
 }
 
 
 void VCLXAccessibleTabControl::UpdateFocused()
 {
-    for (const Reference<XAccessible>& xChild : m_aAccessibleChildren)
+    for (const rtl::Reference<VCLXAccessibleTabPage>& pVCLXAccessibleTabPage : 
m_aAccessibleChildren)
     {
-        if ( xChild.is() )
-        {
-            VCLXAccessibleTabPage* pVCLXAccessibleTabPage = static_cast< 
VCLXAccessibleTabPage* >( xChild.get() );
-            if ( pVCLXAccessibleTabPage )
-                pVCLXAccessibleTabPage->SetFocused( 
pVCLXAccessibleTabPage->IsFocused() );
-        }
+        if ( pVCLXAccessibleTabPage )
+            pVCLXAccessibleTabPage->SetFocused( 
pVCLXAccessibleTabPage->IsFocused() );
     }
 }
 
@@ -74,13 +70,9 @@ void VCLXAccessibleTabControl::UpdateSelected( sal_Int32 i, 
bool bSelected )
 {
     if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() )
     {
-        Reference< XAccessible > xChild( m_aAccessibleChildren[i] );
-        if ( xChild.is() )
-        {
-            VCLXAccessibleTabPage* pVCLXAccessibleTabPage = static_cast< 
VCLXAccessibleTabPage* >( xChild.get() );
-            if ( pVCLXAccessibleTabPage )
-                pVCLXAccessibleTabPage->SetSelected( bSelected );
-        }
+        rtl::Reference< VCLXAccessibleTabPage > pVCLXAccessibleTabPage( 
m_aAccessibleChildren[i] );
+        if ( pVCLXAccessibleTabPage )
+            pVCLXAccessibleTabPage->SetSelected( bSelected );
     }
 }
 
@@ -89,13 +81,9 @@ void VCLXAccessibleTabControl::UpdatePageText( sal_Int32 i )
 {
     if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() )
     {
-        Reference< XAccessible > xChild( m_aAccessibleChildren[i] );
-        if ( xChild.is() )
-        {
-            VCLXAccessibleTabPage* pVCLXAccessibleTabPage = static_cast< 
VCLXAccessibleTabPage* >( xChild.get() );
-            if ( pVCLXAccessibleTabPage )
-                pVCLXAccessibleTabPage->SetPageText( 
pVCLXAccessibleTabPage->GetPageText() );
-        }
+        rtl::Reference< VCLXAccessibleTabPage > pVCLXAccessibleTabPage( 
m_aAccessibleChildren[i] );
+        if ( pVCLXAccessibleTabPage )
+            pVCLXAccessibleTabPage->SetPageText( 
pVCLXAccessibleTabPage->GetPageText() );
     }
 }
 
@@ -104,13 +92,9 @@ void VCLXAccessibleTabControl::UpdateTabPage( sal_Int32 i, 
bool bNew )
 {
     if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() )
     {
-        Reference< XAccessible > xChild( m_aAccessibleChildren[i] );
-        if ( xChild.is() )
-        {
-            VCLXAccessibleTabPage* pVCLXAccessibleTabPage = static_cast< 
VCLXAccessibleTabPage* >( xChild.get() );
-            if ( pVCLXAccessibleTabPage )
-                pVCLXAccessibleTabPage->Update( bNew );
-        }
+        rtl::Reference< VCLXAccessibleTabPage > pVCLXAccessibleTabPage( 
m_aAccessibleChildren[i] );
+        if ( pVCLXAccessibleTabPage )
+            pVCLXAccessibleTabPage->Update( bNew );
     }
 }
 
@@ -121,7 +105,7 @@ void VCLXAccessibleTabControl::InsertChild( sal_Int32 i )
         return;
 
     // insert entry in child list
-    m_aAccessibleChildren.insert( m_aAccessibleChildren.begin() + i, 
Reference< XAccessible >() );
+    m_aAccessibleChildren.insert( m_aAccessibleChildren.begin() + i, 
rtl::Reference< VCLXAccessibleTabPage >() );
 
     // send accessible child event
     Reference< XAccessible > xChild( getAccessibleChild( i ) );
@@ -140,7 +124,7 @@ void VCLXAccessibleTabControl::RemoveChild( sal_Int32 i )
         return;
 
     // get the accessible of the removed page
-    Reference< XAccessible > xChild( m_aAccessibleChildren[i] );
+    rtl::Reference< VCLXAccessibleTabPage > xChild( m_aAccessibleChildren[i] );
 
     // remove entry in child list
     m_aAccessibleChildren.erase( m_aAccessibleChildren.begin() + i );
@@ -149,12 +133,10 @@ void VCLXAccessibleTabControl::RemoveChild( sal_Int32 i )
     if ( xChild.is() )
     {
         Any aOldValue, aNewValue;
-        aOldValue <<= xChild;
+        aOldValue <<= uno::Reference<XAccessible>(xChild);
         NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue 
);
 
-        Reference< XComponent > xComponent( xChild, UNO_QUERY );
-        if ( xComponent.is() )
-            xComponent->dispose();
+        xChild->dispose();
     }
 }
 
@@ -235,12 +217,8 @@ void VCLXAccessibleTabControl::ProcessWindowEvent( const 
VclWindowEvent& rVclWin
                 m_pTabControl = nullptr;
 
                 // dispose all tab pages
-                for (const Reference<XAccessible>& i : m_aAccessibleChildren)
-                {
-                    Reference< XComponent > xComponent( i, UNO_QUERY );
-                    if ( xComponent.is() )
-                        xComponent->dispose();
-                }
+                for (const rtl::Reference<VCLXAccessibleTabPage>& i : 
m_aAccessibleChildren)
+                    i->dispose();
                 m_aAccessibleChildren.clear();
             }
 
@@ -304,12 +282,9 @@ void VCLXAccessibleTabControl::disposing()
     m_pTabControl = nullptr;
 
     // dispose all tab pages
-    for (const Reference<XAccessible>& i : m_aAccessibleChildren)
-    {
-        Reference< XComponent > xComponent( i, UNO_QUERY );
+    for (const rtl::Reference<VCLXAccessibleTabPage>& xComponent : 
m_aAccessibleChildren)
         if ( xComponent.is() )
             xComponent->dispose();
-    }
     m_aAccessibleChildren.clear();
 }
 
@@ -352,7 +327,7 @@ Reference< XAccessible > 
VCLXAccessibleTabControl::getAccessibleChild( sal_Int64
 
 Reference< XAccessible > VCLXAccessibleTabControl::implGetAccessibleChild( 
sal_Int64 i )
 {
-    Reference< XAccessible > xChild = m_aAccessibleChildren[i];
+    rtl::Reference< VCLXAccessibleTabPage > xChild = m_aAccessibleChildren[i];
     if ( !xChild.is() )
     {
         sal_uInt16 nPageId = m_pTabControl ? 
m_pTabControl->GetPageId(static_cast<sal_uInt16>(i)) : 0;
commit af08e6c2f46a6d99b2e18fe176c15ec2b6edb2fd
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Aug 30 14:02:11 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Aug 30 22:16:23 2023 +0200

    use concrete type for ToolBoxItemsMap
    
    avoid some unnecessary casting
    
    Change-Id: I582144f0654837ac8864679b38c3d2676d1089b2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156290
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/accessibility/inc/standard/vclxaccessibletoolbox.hxx 
b/accessibility/inc/standard/vclxaccessibletoolbox.hxx
index 2fba09d80e79..4918e511ba2a 100644
--- a/accessibility/inc/standard/vclxaccessibletoolbox.hxx
+++ b/accessibility/inc/standard/vclxaccessibletoolbox.hxx
@@ -25,13 +25,11 @@
 #include <cppuhelper/implbase.hxx>
 
 
-
-
-typedef std::map< sal_Int32, css::uno::Reference< 
css::accessibility::XAccessible > > ToolBoxItemsMap;
-
 class VCLXAccessibleToolBoxItem;
 class ToolBox;
 
+typedef std::map< sal_Int32, rtl::Reference< VCLXAccessibleToolBoxItem > > 
ToolBoxItemsMap;
+
 class VCLXAccessibleToolBox final : public 
cppu::ImplInheritanceHelper<VCLXAccessibleComponent, 
css::accessibility::XAccessibleSelection>
 {
 private:
diff --git a/accessibility/source/standard/vclxaccessibletoolbox.cxx 
b/accessibility/source/standard/vclxaccessibletoolbox.cxx
index aaea955d10f6..a3ea0ec99d72 100644
--- a/accessibility/source/standard/vclxaccessibletoolbox.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolbox.cxx
@@ -137,7 +137,7 @@ VCLXAccessibleToolBoxItem* 
VCLXAccessibleToolBox::GetItem_Impl( ToolBox::ImplToo
             //TODO: ToolBox::ImplToolItems::size_type -> sal_Int32!
         // returns only toolbox buttons, not windows
         if ( aIter != m_aAccessibleChildren.end()  && aIter->second.is())
-            pItem = static_cast< VCLXAccessibleToolBoxItem* >( 
aIter->second.get() );
+            pItem = aIter->second.get();
     }
 
     return pItem;
@@ -173,8 +173,7 @@ void VCLXAccessibleToolBox::UpdateFocus_Impl()
 
         if ( rxChild.is() )
         {
-            VCLXAccessibleToolBoxItem* pItem =
-                static_cast< VCLXAccessibleToolBoxItem* >( rxChild.get() );
+            VCLXAccessibleToolBoxItem* pItem = rxChild.get();
             if ( pItem->HasFocus() && nItemId != nHighlightItemId )
             {
                 // reset the old focused item
@@ -203,8 +202,7 @@ void VCLXAccessibleToolBox::ReleaseFocus_Impl( 
ToolBox::ImplToolItems::size_type
             //TODO: ToolBox::ImplToolItems::size_type -> sal_Int32!
         if ( aIter != m_aAccessibleChildren.end() && aIter->second.is() )
         {
-            VCLXAccessibleToolBoxItem* pItem =
-                static_cast< VCLXAccessibleToolBoxItem* >( aIter->second.get() 
);
+            VCLXAccessibleToolBoxItem* pItem = aIter->second.get();
             if ( pItem->HasFocus() )
                 pItem->SetFocus( false );
         }
@@ -224,8 +222,7 @@ void VCLXAccessibleToolBox::UpdateChecked_Impl( 
ToolBox::ImplToolItems::size_typ
     {
             ToolBoxItemId nItemId = pToolBox->GetItemId( rPos );
 
-            VCLXAccessibleToolBoxItem* pItem =
-                static_cast< VCLXAccessibleToolBoxItem* >( rxChild.get() );
+            VCLXAccessibleToolBoxItem* pItem = rxChild.get();
             pItem->SetChecked( pToolBox->IsItemChecked( nItemId ) );
             if ( nItemId == nFocusId )
                 pFocusItem = pItem;
@@ -247,8 +244,7 @@ void VCLXAccessibleToolBox::UpdateIndeterminate_Impl( 
ToolBox::ImplToolItems::si
         //TODO: ToolBox::ImplToolItems::size_type -> sal_Int32!
     if ( aIter != m_aAccessibleChildren.end() && aIter->second.is() )
     {
-        VCLXAccessibleToolBoxItem* pItem =
-            static_cast< VCLXAccessibleToolBoxItem* >( aIter->second.get() );
+        VCLXAccessibleToolBoxItem* pItem = aIter->second.get();
         if ( pItem )
             pItem->SetIndeterminate( pToolBox->GetItemState( nItemId ) == 
TRISTATE_INDET );
     }
@@ -646,7 +642,7 @@ Reference< XAccessible > SAL_CALL 
VCLXAccessibleToolBox::getAccessibleChild( sal
     if ( (!pToolBox) || i < 0 || o3tl::make_unsigned(i) >= 
pToolBox->GetItemCount() )
         throw IndexOutOfBoundsException();
 
-    Reference< XAccessible > xChild;
+    rtl::Reference< VCLXAccessibleToolBoxItem > xChild;
     // search for the child
     ToolBoxItemsMap::iterator aIter = m_aAccessibleChildren.find(i);
     if ( m_aAccessibleChildren.end() == aIter )
@@ -655,21 +651,20 @@ Reference< XAccessible > SAL_CALL 
VCLXAccessibleToolBox::getAccessibleChild( sal
         ToolBoxItemId nHighlightItemId = pToolBox->GetHighlightItemId();
         vcl::Window* pItemWindow = pToolBox->GetItemWindow( nItemId );
         // not found -> create a new child
-        rtl::Reference<VCLXAccessibleToolBoxItem> pChild = new 
VCLXAccessibleToolBoxItem( pToolBox, i );
-        Reference< XAccessible> xParent = pChild;
+        xChild = new VCLXAccessibleToolBoxItem( pToolBox, i );
         if ( pItemWindow )
         {
-            xChild = new 
OToolBoxWindowItem(0,::comphelper::getProcessComponentContext(),pItemWindow->GetAccessible(),xParent);
-            pItemWindow->SetAccessible(xChild);
-            pChild->SetChild( xChild );
+            Reference< XAccessible> xParent = xChild;
+            rtl::Reference<OToolBoxWindowItem> xChild2( new 
OToolBoxWindowItem(0,::comphelper::getProcessComponentContext(),pItemWindow->GetAccessible(),xParent)
 );
+            pItemWindow->SetAccessible(xChild2);
+            xChild->SetChild( xChild2 );
         }
-        xChild = pChild;
         if ( nHighlightItemId > ToolBoxItemId(0) && nItemId == 
nHighlightItemId )
-            pChild->SetFocus( true );
+            xChild->SetFocus( true );
         if ( pToolBox->IsItemChecked( nItemId ) )
-            pChild->SetChecked( true );
+            xChild->SetChecked( true );
         if ( pToolBox->GetItemState( nItemId ) == TRISTATE_INDET )
-            pChild->SetIndeterminate( true );
+            xChild->SetIndeterminate( true );
         m_aAccessibleChildren.emplace( i, xChild );
     }
     else

Reply via email to