summaryrefslogtreecommitdiff
path: root/vcl/source/treelist
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-07-03 20:29:28 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-07-08 10:10:11 +0200
commit8d8e6c84e512c1a8b33aac75965b84481d1a1d13 (patch)
tree9ed209d057081d4283eb44b51c0d9af18f976eab /vcl/source/treelist
parent911ac42485b690df5cbbff6e3c04b111c1723aca (diff)
[API CHANGE] Drop css::accessibility::XAccessibleStateSet
which is internal API, unused (as far as I can tell) by external users. This state is purely a bitset (as implemented by utl::AccessibleStateSetHelper) so we can just return it as a 64-bit value. This shaves significant time off the performance profiles of code that loads very complex shapes, because this state is frequently used, and we no longer need to allocate a return value on the heap for every call. Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136786 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/source/treelist')
-rw-r--r--vcl/source/treelist/svtabbx.cxx49
-rw-r--r--vcl/source/treelist/treelistbox.cxx21
2 files changed, 34 insertions, 36 deletions
diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx
index ec403682a35d..d4fb5db37c39 100644
--- a/vcl/source/treelist/svtabbx.cxx
+++ b/vcl/source/treelist/svtabbx.cxx
@@ -23,7 +23,6 @@
#include <vcl/headbar.hxx>
#include <vcl/toolkit/svlbitm.hxx>
#include <vcl/toolkit/treelistentry.hxx>
-#include <unotools/accessiblestatesethelper.hxx>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <rtl/ustrbuf.hxx>
#include <sal/log.hxx>
@@ -921,30 +920,30 @@ OUString SvHeaderTabListBox::GetAccessibleObjectDescription( AccessibleBrowseBox
return aRetText;
}
-void SvHeaderTabListBox::FillAccessibleStateSet( ::utl::AccessibleStateSetHelper& _rStateSet, AccessibleBrowseBoxObjType _eType ) const
+void SvHeaderTabListBox::FillAccessibleStateSet( sal_Int64& _rStateSet, AccessibleBrowseBoxObjType _eType ) const
{
switch( _eType )
{
case AccessibleBrowseBoxObjType::BrowseBox:
case AccessibleBrowseBoxObjType::Table:
{
- _rStateSet.AddState( AccessibleStateType::FOCUSABLE );
+ _rStateSet |= AccessibleStateType::FOCUSABLE;
if ( HasFocus() )
- _rStateSet.AddState( AccessibleStateType::FOCUSED );
+ _rStateSet |= AccessibleStateType::FOCUSED;
if ( IsActive() )
- _rStateSet.AddState( AccessibleStateType::ACTIVE );
+ _rStateSet |= AccessibleStateType::ACTIVE;
if ( IsEnabled() )
{
- _rStateSet.AddState( AccessibleStateType::ENABLED );
- _rStateSet.AddState( AccessibleStateType::SENSITIVE );
+ _rStateSet |= AccessibleStateType::ENABLED;
+ _rStateSet |= AccessibleStateType::SENSITIVE;
}
if ( IsReallyVisible() )
- _rStateSet.AddState( AccessibleStateType::VISIBLE );
+ _rStateSet |= AccessibleStateType::VISIBLE;
if ( _eType == AccessibleBrowseBoxObjType::Table )
{
- _rStateSet.AddState( AccessibleStateType::MANAGES_DESCENDANTS );
- _rStateSet.AddState( AccessibleStateType::MULTI_SELECTABLE );
+ _rStateSet |= AccessibleStateType::MANAGES_DESCENDANTS;
+ _rStateSet |= AccessibleStateType::MULTI_SELECTABLE;
}
break;
}
@@ -954,21 +953,21 @@ void SvHeaderTabListBox::FillAccessibleStateSet( ::utl::AccessibleStateSetHelper
sal_Int32 nCurRow = GetCurrRow();
sal_uInt16 nCurColumn = GetCurrColumn();
if ( IsCellVisible( nCurRow, nCurColumn ) )
- _rStateSet.AddState( AccessibleStateType::VISIBLE );
+ _rStateSet |= AccessibleStateType::VISIBLE;
if ( IsEnabled() )
- _rStateSet.AddState( AccessibleStateType::ENABLED );
- _rStateSet.AddState( AccessibleStateType::TRANSIENT );
+ _rStateSet |= AccessibleStateType::ENABLED;
+ _rStateSet |= AccessibleStateType::TRANSIENT;
break;
}
case AccessibleBrowseBoxObjType::RowHeaderCell:
case AccessibleBrowseBoxObjType::ColumnHeaderCell:
{
- _rStateSet.AddState( AccessibleStateType::VISIBLE );
- _rStateSet.AddState( AccessibleStateType::FOCUSABLE );
- _rStateSet.AddState( AccessibleStateType::TRANSIENT );
+ _rStateSet |= AccessibleStateType::VISIBLE;
+ _rStateSet |= AccessibleStateType::FOCUSABLE;
+ _rStateSet |= AccessibleStateType::TRANSIENT;
if ( IsEnabled() )
- _rStateSet.AddState( AccessibleStateType::ENABLED );
+ _rStateSet |= AccessibleStateType::ENABLED;
break;
}
default:
@@ -976,24 +975,24 @@ void SvHeaderTabListBox::FillAccessibleStateSet( ::utl::AccessibleStateSetHelper
}
}
-void SvHeaderTabListBox::FillAccessibleStateSetForCell( ::utl::AccessibleStateSetHelper& _rStateSet, sal_Int32 _nRow, sal_uInt16 _nColumn ) const
+void SvHeaderTabListBox::FillAccessibleStateSetForCell( sal_Int64& _rStateSet, sal_Int32 _nRow, sal_uInt16 _nColumn ) const
{
- _rStateSet.AddState( AccessibleStateType::SELECTABLE );
- _rStateSet.AddState( AccessibleStateType::TRANSIENT );
+ _rStateSet |= AccessibleStateType::SELECTABLE;
+ _rStateSet |= AccessibleStateType::TRANSIENT;
if ( IsCellVisible( _nRow, _nColumn ) )
{
- _rStateSet.AddState( AccessibleStateType::VISIBLE );
- _rStateSet.AddState( AccessibleStateType::ENABLED );
+ _rStateSet |= AccessibleStateType::VISIBLE;
+ _rStateSet |= AccessibleStateType::ENABLED;
}
if ( IsRowSelected( _nRow ) )
{
- _rStateSet.AddState( AccessibleStateType::ACTIVE );
- _rStateSet.AddState( AccessibleStateType::SELECTED );
+ _rStateSet |= AccessibleStateType::ACTIVE;
+ _rStateSet |= AccessibleStateType::SELECTED;
}
if ( IsEnabled() )
- _rStateSet.AddState( AccessibleStateType::ENABLED );
+ _rStateSet |= AccessibleStateType::ENABLED;
}
void SvHeaderTabListBox::GrabTableFocus()
diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx
index 7260cb69f078..4328895c1c6c 100644
--- a/vcl/source/treelist/treelistbox.cxx
+++ b/vcl/source/treelist/treelistbox.cxx
@@ -34,7 +34,6 @@
#include <vcl/decoview.hxx>
#include <vcl/uitest/uiobject.hxx>
#include <sot/formats.hxx>
-#include <unotools/accessiblestatesethelper.hxx>
#include <comphelper/string.hxx>
#include <sal/log.hxx>
#include <tools/debug.hxx>
@@ -3479,31 +3478,31 @@ css::uno::Reference< XAccessible > SvTreeListBox::CreateAccessible()
return xAccessible;
}
-void SvTreeListBox::FillAccessibleEntryStateSet( SvTreeListEntry* pEntry, ::utl::AccessibleStateSetHelper& rStateSet ) const
+void SvTreeListBox::FillAccessibleEntryStateSet( SvTreeListEntry* pEntry, sal_Int64& rStateSet ) const
{
assert(pEntry && "SvTreeListBox::FillAccessibleEntryStateSet: invalid entry");
if ( pEntry->HasChildrenOnDemand() || pEntry->HasChildren() )
{
- rStateSet.AddState( AccessibleStateType::EXPANDABLE );
+ rStateSet |= AccessibleStateType::EXPANDABLE;
if ( IsExpanded( pEntry ) )
- rStateSet.AddState( sal_Int16(AccessibleStateType::EXPANDED) );
+ rStateSet |= AccessibleStateType::EXPANDED;
}
if ( GetCheckButtonState( pEntry ) == SvButtonState::Checked )
- rStateSet.AddState( AccessibleStateType::CHECKED );
+ rStateSet |= AccessibleStateType::CHECKED;
if ( IsEntryVisible( pEntry ) )
- rStateSet.AddState( AccessibleStateType::VISIBLE );
+ rStateSet |= AccessibleStateType::VISIBLE;
if ( IsSelected( pEntry ) )
- rStateSet.AddState( AccessibleStateType::SELECTED );
+ rStateSet |= AccessibleStateType::SELECTED;
if ( IsEnabled() )
{
- rStateSet.AddState( AccessibleStateType::ENABLED );
- rStateSet.AddState( AccessibleStateType::FOCUSABLE );
- rStateSet.AddState( AccessibleStateType::SELECTABLE );
+ rStateSet |= AccessibleStateType::ENABLED;
+ rStateSet |= AccessibleStateType::FOCUSABLE;
+ rStateSet |= AccessibleStateType::SELECTABLE;
SvViewDataEntry* pViewDataNewCur = GetViewDataEntry(pEntry);
if (pViewDataNewCur && pViewDataNewCur->HasFocus())
- rStateSet.AddState( AccessibleStateType::FOCUSED );
+ rStateSet |= AccessibleStateType::FOCUSED;
}
}