summaryrefslogtreecommitdiff
path: root/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx')
-rw-r--r--accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx31
1 files changed, 28 insertions, 3 deletions
diff --git a/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx b/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx
index 0ff3de306e6c..4eff637f39ab 100644
--- a/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx
+++ b/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx
@@ -31,9 +31,11 @@
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <cppuhelper/compbase8.hxx>
+#include <com/sun/star/accessibility/XAccessibleValue.hpp>
+#include <cppuhelper/compbase9.hxx>
#include <comphelper/broadcasthelper.hxx>
#include <comphelper/accessibletexthelper.hxx>
+#include <svtools/treelistentry.hxx>
#include <tools/gen.hxx>
#include "accessibility/extended/listboxaccessible.hxx"
@@ -55,7 +57,7 @@ namespace accessibility
//........................................................................
// class AccessibleListBoxEntry ------------------------------------------
-
+/*
typedef ::cppu::WeakAggComponentImplHelper8< ::com::sun::star::accessibility::XAccessible
, ::com::sun::star::accessibility::XAccessibleContext
, ::com::sun::star::accessibility::XAccessibleComponent
@@ -64,6 +66,16 @@ namespace accessibility
, ::com::sun::star::accessibility::XAccessibleSelection
, ::com::sun::star::accessibility::XAccessibleText
, ::com::sun::star::lang::XServiceInfo > AccessibleListBoxEntry_BASE;
+*/
+ typedef ::cppu::WeakAggComponentImplHelper9< ::com::sun::star::accessibility::XAccessible
+ , ::com::sun::star::accessibility::XAccessibleContext
+ , ::com::sun::star::accessibility::XAccessibleComponent
+ , ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ , ::com::sun::star::accessibility::XAccessibleAction
+ , ::com::sun::star::accessibility::XAccessibleSelection
+ , ::com::sun::star::accessibility::XAccessibleText
+ , ::com::sun::star::accessibility::XAccessibleValue
+ , ::com::sun::star::lang::XServiceInfo > AccessibleListBoxEntry_BASE;
/** the class AccessibleListBoxEntry represents the class for an accessible object of a listbox entry */
class AccessibleListBoxEntry:public ::comphelper::OBaseMutex
@@ -76,6 +88,8 @@ namespace accessibility
private:
/** The treelistbox control */
::std::deque< sal_Int32 > m_aEntryPath;
+ SvTreeListEntry* m_pSvLBoxEntry; // Needed for a11y focused item...
+
protected:
/// client id in the AccessibleEventNotifier queue
@@ -94,6 +108,8 @@ namespace accessibility
Rectangle GetBoundingBoxOnScreen() throw ( ::com::sun::star::lang::DisposedException );
void EnsureIsAlive() const throw ( ::com::sun::star::lang::DisposedException );
+ void NotifyAccessibleEvent( sal_Int16 _nEventId, const ::com::sun::star::uno::Any& _aOldValue, const ::com::sun::star::uno::Any& _aNewValue );
+
protected:
virtual ~AccessibleListBoxEntry();
@@ -122,6 +138,9 @@ namespace accessibility
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible >& _xParent );
+ SvTreeListEntry* GetSvLBoxEntry() const { return m_pSvLBoxEntry; }
+
+
protected:
// XTypeProvider
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException);
@@ -199,9 +218,15 @@ namespace accessibility
sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
-
+ virtual ::com::sun::star::uno::Any SAL_CALL getCurrentValue( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL setCurrentValue( const ::com::sun::star::uno::Any& aNumber ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getMaximumValue( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getMinimumValue( ) throw (::com::sun::star::uno::RuntimeException);
private:
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > implGetParentAccessible( ) const;
+ SvTreeListEntry* GetRealChild(sal_Int32 nIndex);
+ public:
+ sal_Int32 SAL_CALL getRoleType();
};
//........................................................................