summaryrefslogtreecommitdiff
path: root/accessibility
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2021-07-28 11:26:16 +0200
committerMichael Weghorn <m.weghorn@posteo.de>2021-07-28 15:45:28 +0200
commitb5ada12ffd0b6b8677430fce117c4c1e38cc9159 (patch)
treea96fd46a243216c2d9a1a2b98f88a5e6cfa7a023 /accessibility
parent349a8801b9ee98f4f9ee1d35f7d28e17baedf7cc (diff)
a11y: Add XAccessibleValue::getMinimumIncrement method
Add a method 'getMinimumIncrement' to the XAccessibleValue interface. The method returns the minimal increment by which the value represented by the object can be adjusted. The main motivation is to expose this to AT-SPI, so it can be retrieved e.g. by libatspi's 'atspi_value_get_minimum_increment' function [1], s. the note in Change-Id: I8af326c2d24c1801147a56ea2e2a886ab42ac634 "a11y: Expose FormattedField as spinbox" for more details. The implementation relevant for the 'FormattedField' class is in 'SVTXAccessibleNumericField::getMinimumIncrement', which returns the spin size. While at it, also move the comment in sw/source/core/access/acccell.hxx mentioning what methods are overriden for the 'XAccessibleValue' interface to the right place. [1] https://developer.gnome.org/libatspi/stable/libatspi-atspi-value.html#atspi-value-get-minimum-increment Change-Id: Ie148a4e1cedbdbb5964f8565c81611d3480465cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119596 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'accessibility')
-rw-r--r--accessibility/inc/extended/AccessibleBrowseBoxCheckBoxCell.hxx1
-rw-r--r--accessibility/inc/extended/accessiblelistboxentry.hxx3
-rw-r--r--accessibility/inc/standard/svtaccessiblenumericfield.hxx1
-rw-r--r--accessibility/inc/standard/vclxaccessiblebox.hxx2
-rw-r--r--accessibility/inc/standard/vclxaccessiblebutton.hxx1
-rw-r--r--accessibility/inc/standard/vclxaccessiblecheckbox.hxx1
-rw-r--r--accessibility/inc/standard/vclxaccessiblemenuitem.hxx1
-rw-r--r--accessibility/inc/standard/vclxaccessibleradiobutton.hxx1
-rw-r--r--accessibility/inc/standard/vclxaccessiblescrollbar.hxx1
-rw-r--r--accessibility/inc/standard/vclxaccessibletoolboxitem.hxx1
-rw-r--r--accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx8
-rw-r--r--accessibility/source/extended/accessiblelistboxentry.cxx17
-rw-r--r--accessibility/source/standard/svtaccessiblenumericfield.cxx12
-rw-r--r--accessibility/source/standard/vclxaccessiblebox.cxx5
-rw-r--r--accessibility/source/standard/vclxaccessiblebutton.cxx10
-rw-r--r--accessibility/source/standard/vclxaccessiblecheckbox.cxx10
-rw-r--r--accessibility/source/standard/vclxaccessiblemenuitem.cxx8
-rw-r--r--accessibility/source/standard/vclxaccessibleradiobutton.cxx10
-rw-r--r--accessibility/source/standard/vclxaccessiblescrollbar.cxx7
-rw-r--r--accessibility/source/standard/vclxaccessibletoolboxitem.cxx5
20 files changed, 105 insertions, 0 deletions
diff --git a/accessibility/inc/extended/AccessibleBrowseBoxCheckBoxCell.hxx b/accessibility/inc/extended/AccessibleBrowseBoxCheckBoxCell.hxx
index a550eed5e220..76c70344096c 100644
--- a/accessibility/inc/extended/AccessibleBrowseBoxCheckBoxCell.hxx
+++ b/accessibility/inc/extended/AccessibleBrowseBoxCheckBoxCell.hxx
@@ -70,6 +70,7 @@ namespace accessibility
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
// internal
void SetChecked( bool _bChecked );
diff --git a/accessibility/inc/extended/accessiblelistboxentry.hxx b/accessibility/inc/extended/accessiblelistboxentry.hxx
index 279978a34ccf..449803bc35b5 100644
--- a/accessibility/inc/extended/accessiblelistboxentry.hxx
+++ b/accessibility/inc/extended/accessiblelistboxentry.hxx
@@ -202,10 +202,13 @@ namespace accessibility
sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) override;
css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) override;
void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) override;
+
+ // XAccessibleValue
virtual css::uno::Any SAL_CALL getCurrentValue( ) override;
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
css::uno::Reference< css::accessibility::XAccessible > implGetParentAccessible( ) const;
SvTreeListEntry* GetRealChild(sal_Int32 nIndex);
diff --git a/accessibility/inc/standard/svtaccessiblenumericfield.hxx b/accessibility/inc/standard/svtaccessiblenumericfield.hxx
index 940f72fa03f2..30688979c8a9 100644
--- a/accessibility/inc/standard/svtaccessiblenumericfield.hxx
+++ b/accessibility/inc/standard/svtaccessiblenumericfield.hxx
@@ -45,6 +45,7 @@ public:
virtual ::sal_Bool SAL_CALL setCurrentValue(const css::uno::Any& aNumber) override;
virtual ::css::uno::Any SAL_CALL getMaximumValue() override;
virtual ::css::uno::Any SAL_CALL getMinimumValue() override;
+ virtual ::css::uno::Any SAL_CALL getMinimumIncrement() override;
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/accessibility/inc/standard/vclxaccessiblebox.hxx b/accessibility/inc/standard/vclxaccessiblebox.hxx
index 4971078fcbc0..e92ab2bb2c24 100644
--- a/accessibility/inc/standard/vclxaccessiblebox.hxx
+++ b/accessibility/inc/standard/vclxaccessiblebox.hxx
@@ -108,6 +108,8 @@ public:
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
protected:
/** Specifies whether the box is a combo box or a list box. List boxes
have multi selection.
diff --git a/accessibility/inc/standard/vclxaccessiblebutton.hxx b/accessibility/inc/standard/vclxaccessiblebutton.hxx
index c96e098f6766..a786f8e0a778 100644
--- a/accessibility/inc/standard/vclxaccessiblebutton.hxx
+++ b/accessibility/inc/standard/vclxaccessiblebutton.hxx
@@ -68,6 +68,7 @@ public:
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
};
diff --git a/accessibility/inc/standard/vclxaccessiblecheckbox.hxx b/accessibility/inc/standard/vclxaccessiblecheckbox.hxx
index 766400bb3e7f..f64f5ab980ea 100644
--- a/accessibility/inc/standard/vclxaccessiblecheckbox.hxx
+++ b/accessibility/inc/standard/vclxaccessiblecheckbox.hxx
@@ -77,6 +77,7 @@ public:
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
};
diff --git a/accessibility/inc/standard/vclxaccessiblemenuitem.hxx b/accessibility/inc/standard/vclxaccessiblemenuitem.hxx
index 2c32418c525a..646f87aa02c9 100644
--- a/accessibility/inc/standard/vclxaccessiblemenuitem.hxx
+++ b/accessibility/inc/standard/vclxaccessiblemenuitem.hxx
@@ -101,6 +101,7 @@ public:
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
};
diff --git a/accessibility/inc/standard/vclxaccessibleradiobutton.hxx b/accessibility/inc/standard/vclxaccessibleradiobutton.hxx
index b4773946d31f..a9b93b7ac67f 100644
--- a/accessibility/inc/standard/vclxaccessibleradiobutton.hxx
+++ b/accessibility/inc/standard/vclxaccessibleradiobutton.hxx
@@ -66,6 +66,7 @@ public:
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
};
diff --git a/accessibility/inc/standard/vclxaccessiblescrollbar.hxx b/accessibility/inc/standard/vclxaccessiblescrollbar.hxx
index 8d81c60cc7db..0a9e0368ff8e 100644
--- a/accessibility/inc/standard/vclxaccessiblescrollbar.hxx
+++ b/accessibility/inc/standard/vclxaccessiblescrollbar.hxx
@@ -65,6 +65,7 @@ public:
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
// XAccessibleContext
OUString SAL_CALL getAccessibleName( ) override;
diff --git a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx
index a8de1b43231c..6c60bf4a87c6 100644
--- a/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx
+++ b/accessibility/inc/standard/vclxaccessibletoolboxitem.hxx
@@ -145,6 +145,7 @@ public:
virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) override;
virtual css::uno::Any SAL_CALL getMaximumValue( ) override;
virtual css::uno::Any SAL_CALL getMinimumValue( ) override;
+ virtual css::uno::Any SAL_CALL getMinimumIncrement( ) override;
};
diff --git a/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx b/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx
index e798cb954ec0..2b29547bad92 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx
@@ -115,6 +115,14 @@ namespace accessibility
return aValue;
}
+ Any SAL_CALL AccessibleCheckBoxCell::getMinimumIncrement( )
+ {
+ Any aValue;
+ aValue <<= sal_Int32(1);
+
+ return aValue;
+ }
+
// XAccessibleContext
sal_Int32 SAL_CALL AccessibleCheckBoxCell::getAccessibleChildCount( )
{
diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx b/accessibility/source/extended/accessiblelistboxentry.cxx
index 32c77a3d11db..ceacee0b4489 100644
--- a/accessibility/source/extended/accessiblelistboxentry.cxx
+++ b/accessibility/source/extended/accessiblelistboxentry.cxx
@@ -1177,6 +1177,23 @@ namespace accessibility
return aValue;
}
+ Any AccessibleListBoxEntry::getMinimumIncrement( )
+ {
+ ::osl::MutexGuard aGuard( m_aMutex );
+
+ Any aValue;
+ switch(getAccessibleRole())
+ {
+ case AccessibleRole::CHECK_BOX:
+ aValue <<= sal_Int32(1);
+ break;
+ case AccessibleRole::LABEL:
+ default:
+ break;
+ }
+
+ return aValue;
+ }
SvTreeListEntry* AccessibleListBoxEntry::GetRealChild(sal_Int32 nIndex)
{
diff --git a/accessibility/source/standard/svtaccessiblenumericfield.cxx b/accessibility/source/standard/svtaccessiblenumericfield.cxx
index 114bf71802fe..729966eb8fef 100644
--- a/accessibility/source/standard/svtaccessiblenumericfield.cxx
+++ b/accessibility/source/standard/svtaccessiblenumericfield.cxx
@@ -90,4 +90,16 @@ css::uno::Any SAL_CALL SVTXAccessibleNumericField::getMinimumValue()
return css::uno::Any(dValue);
}
+css::uno::Any SAL_CALL SVTXAccessibleNumericField::getMinimumIncrement()
+{
+ OExternalLockGuard aGuard(this);
+
+ double dValue = 0;
+ SVTXNumericField* pField = static_cast<SVTXNumericField*>(GetVCLXWindow());
+ if (pField)
+ dValue = pField->getSpinSize();
+
+ return css::uno::Any(dValue);
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/accessibility/source/standard/vclxaccessiblebox.cxx b/accessibility/source/standard/vclxaccessiblebox.cxx
index 50bb06247509..ce81c254c59a 100644
--- a/accessibility/source/standard/vclxaccessiblebox.cxx
+++ b/accessibility/source/standard/vclxaccessiblebox.cxx
@@ -486,6 +486,11 @@ Any VCLXAccessibleBox::getMinimumValue( )
return aAny;
}
+Any VCLXAccessibleBox::getMinimumIncrement( )
+{
+ return Any();
+}
+
// Set the INDETERMINATE state when there is no selected item for combobox
void VCLXAccessibleBox::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet )
{
diff --git a/accessibility/source/standard/vclxaccessiblebutton.cxx b/accessibility/source/standard/vclxaccessiblebutton.cxx
index 50e81669b86a..d5ffb68bbf2e 100644
--- a/accessibility/source/standard/vclxaccessiblebutton.cxx
+++ b/accessibility/source/standard/vclxaccessiblebutton.cxx
@@ -296,5 +296,15 @@ Any VCLXAccessibleButton::getMinimumValue( )
return aValue;
}
+Any VCLXAccessibleButton::getMinimumIncrement( )
+{
+ OExternalLockGuard aGuard( this );
+
+ Any aValue;
+ aValue <<= sal_Int32(1);
+
+ return aValue;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/accessibility/source/standard/vclxaccessiblecheckbox.cxx b/accessibility/source/standard/vclxaccessiblecheckbox.cxx
index f38bc3881b87..20cf2138bc06 100644
--- a/accessibility/source/standard/vclxaccessiblecheckbox.cxx
+++ b/accessibility/source/standard/vclxaccessiblecheckbox.cxx
@@ -328,5 +328,15 @@ Any VCLXAccessibleCheckBox::getMinimumValue( )
return aValue;
}
+Any VCLXAccessibleCheckBox::getMinimumIncrement( )
+{
+ OExternalLockGuard aGuard( this );
+
+ Any aValue;
+ aValue <<= sal_Int32(1);
+
+ return aValue;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/accessibility/source/standard/vclxaccessiblemenuitem.cxx b/accessibility/source/standard/vclxaccessiblemenuitem.cxx
index c12fdc985f7a..f8b125c1400e 100644
--- a/accessibility/source/standard/vclxaccessiblemenuitem.cxx
+++ b/accessibility/source/standard/vclxaccessiblemenuitem.cxx
@@ -554,5 +554,13 @@ Any VCLXAccessibleMenuItem::getMinimumValue( )
return aValue;
}
+Any VCLXAccessibleMenuItem::getMinimumIncrement( )
+{
+ Any aValue;
+ aValue <<= sal_Int32(1);
+
+ return aValue;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/accessibility/source/standard/vclxaccessibleradiobutton.cxx b/accessibility/source/standard/vclxaccessibleradiobutton.cxx
index 49901a8fbe17..c1a23ede2ede 100644
--- a/accessibility/source/standard/vclxaccessibleradiobutton.cxx
+++ b/accessibility/source/standard/vclxaccessibleradiobutton.cxx
@@ -267,5 +267,15 @@ Any VCLXAccessibleRadioButton::getMinimumValue( )
return aValue;
}
+Any VCLXAccessibleRadioButton::getMinimumIncrement( )
+{
+ OExternalLockGuard aGuard( this );
+
+ Any aValue;
+ aValue <<= sal_Int32(1);
+
+ return aValue;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/accessibility/source/standard/vclxaccessiblescrollbar.cxx b/accessibility/source/standard/vclxaccessiblescrollbar.cxx
index 329aaec906bc..9ddb5e12a8c3 100644
--- a/accessibility/source/standard/vclxaccessiblescrollbar.cxx
+++ b/accessibility/source/standard/vclxaccessiblescrollbar.cxx
@@ -244,6 +244,13 @@ Any VCLXAccessibleScrollBar::getMinimumValue( )
return aValue;
}
+Any VCLXAccessibleScrollBar::getMinimumIncrement( )
+{
+ OExternalLockGuard aGuard( this );
+
+ return Any();
+}
+
OUString VCLXAccessibleScrollBar::getAccessibleName( )
{
diff --git a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
index d290430975ba..dd2a4462854d 100644
--- a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
@@ -725,5 +725,10 @@ Any VCLXAccessibleToolBoxItem::getMinimumValue( )
return Any(sal_Int32(0));
}
+Any VCLXAccessibleToolBoxItem::getMinimumIncrement( )
+{
+ return Any(sal_Int32(1));
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */