From 2095b2e1d44a158418d17836019352ed92f95d21 Mon Sep 17 00:00:00 2001 From: Norbert Thiebaud Date: Fri, 31 Aug 2012 00:46:39 -0500 Subject: gridfixes: copied #i112562#'s fix from CWS gridcontrol06 herein Change-Id: Ifa29a8b3c027970d46844b428a3529e680c0b09c Reviewed-on: https://gerrit.libreoffice.org/541 Reviewed-by: Miklos Vajna Tested-by: Miklos Vajna --- .../extended/AccessibleGridControl.hxx | 37 +++++++++++++++++++++- .../extended/AccessibleGridControlBase.hxx | 1 - .../extended/AccessibleGridControlTable.hxx | 10 +++++- .../extended/AccessibleGridControlTableBase.hxx | 8 +++++ 4 files changed, 53 insertions(+), 3 deletions(-) (limited to 'accessibility/inc/accessibility/extended') diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx index 9df2f960cf2b..81bdf2a7cd8b 100644 --- a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx +++ b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx @@ -35,7 +35,6 @@ #include #include - #include using namespace ::svt::table; @@ -112,6 +111,28 @@ protected: public: // helper functions + + /** commitCellEvent commit the event at all listeners of the table + @param nEventId + the event id + @param rNewValue + the new value + @param rOldValue + the old value + */ + void commitCellEvent(sal_Int16 nEventId, const ::com::sun::star::uno::Any& rNewValue, + const ::com::sun::star::uno::Any& rOldValue); + + /** commitTableEvent commit the event at all listeners of the table + @param nEventId + the event id + @param rNewValue + the new value + @param rOldValue + the old value + */ + void commitTableEvent(sal_Int16 nEventId, const ::com::sun::star::uno::Any& rNewValue, + const ::com::sun::star::uno::Any& rOldValue); /** returns the accessible object for the row or the column header bar */ inline ::com::sun::star::uno::Reference< @@ -243,6 +264,20 @@ protected: xAccessible = pContext->getTable(); return xAccessible; } + virtual void commitCellEvent( sal_Int16 nEventId, + const ::com::sun::star::uno::Any& rNewValue, const ::com::sun::star::uno::Any& rOldValue ) + { + AccessibleGridControl* pContext( getContext() ); + if ( pContext ) + pContext->commitCellEvent( nEventId, rNewValue, rOldValue ); + } + virtual void commitTableEvent( sal_Int16 nEventId, + const ::com::sun::star::uno::Any& rNewValue, const ::com::sun::star::uno::Any& rOldValue ) + { + AccessibleGridControl* pContext( getContext() ); + if ( pContext ) + pContext->commitTableEvent( nEventId, rNewValue, rOldValue ); + } virtual void commitEvent( sal_Int16 nEventId, const ::com::sun::star::uno::Any& rNewValue, const ::com::sun::star::uno::Any& rOldValue ) { diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx index 7c4d22ed720a..c032e38d3959 100644 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx +++ b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx @@ -47,7 +47,6 @@ #include #include #include -#include #include #include diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx index 65d573a3d128..95acb0d31371 100644 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx +++ b/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx @@ -33,6 +33,7 @@ #include "accessibility/extended/AccessibleGridControlTableBase.hxx" #include #include +#include // ============================================================================ @@ -56,7 +57,9 @@ public: protected: virtual ~AccessibleGridControlTable(); - +private: + std::vector< AccessibleGridControlTableCell* > m_pCellVector; + std::vector< com::sun::star::uno::Reference< com::sun::star::accessibility::XAccessible> > m_pAccessCellVector; public: // XAccessibleContext ----------------------------------------------------- @@ -197,6 +200,11 @@ public: virtual OUString SAL_CALL getImplementationName() throw ( ::com::sun::star::uno::RuntimeException ); + /**@return m_pCellVector*/ + std::vector< AccessibleGridControlTableCell* >& getCellVector(); + /**@return m_xAccessCellVector*/ + std::vector< com::sun::star::uno::Reference< com::sun::star::accessibility::XAccessible > >& getAccessibleCellVector(); + protected: // internal virtual methods ----------------------------------------------- diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx index daa6fd179ef6..54491c24272e 100644 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx +++ b/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx @@ -174,6 +174,14 @@ public: protected: // internal helper methods ------------------------------------------------ +// /** @attention This method requires locked mutex's and a living object. +// @param nColumn +// the position of the column in the Accessible world +// @return +// the position of the column in VCL the Accessible world +// */ +// sal_uInt16 implToVCLColumnPos( sal_Int32 nColumn ) const; + /** @attention This method requires locked mutex's and a living object. @return The number of cells of the table. */ sal_Int32 implGetChildCount() const; -- cgit v1.2.1