Kaydet (Commit) aa9ff28e authored tarafından Kurt Zenker's avatar Kurt Zenker

CWS-TOOLING: integrate CWS gridcontrol_03

...@@ -56,7 +56,7 @@ protected: ...@@ -56,7 +56,7 @@ protected:
AccessibleGridControl( AccessibleGridControl(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent, const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxCreator, const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxCreator,
::svt::table::IAccessibleTable& _rTable ::svt::table::IAccessibleTable& _rTable
); );
virtual ~AccessibleGridControl(); virtual ~AccessibleGridControl();
...@@ -177,8 +177,7 @@ private: ...@@ -177,8 +177,7 @@ private:
<p>The instance holds it's XAccessibleContext with a hard reference, while <p>The instance holds it's XAccessibleContext with a hard reference, while
the contxt holds this instance weak.</p> the contxt holds this instance weak.</p>
*/ */
typedef ::cppu::WeakImplHelper1 < ::com::sun::star::accessibility::XAccessible typedef ::cppu::WeakImplHelper1 < ::com::sun::star::accessibility::XAccessible > AccessibleGridControlAccess_Base;
> AccessibleGridControlAccess_Base;
class AccessibleGridControlAccess :public AccessibleGridControlAccess_Base class AccessibleGridControlAccess :public AccessibleGridControlAccess_Base
,public ::svt::table::IAccessibleTableControl ,public ::svt::table::IAccessibleTableControl
...@@ -191,7 +190,7 @@ private: ...@@ -191,7 +190,7 @@ private:
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
m_xContext; m_xContext;
AccessibleGridControl* m_pContext; AccessibleGridControl* m_pContext;
// note that this pointer is valid as long as m_xContext is valid! // note that this pointer is valid as long as m_xContext is valid!
public: public:
...@@ -253,7 +252,7 @@ protected: ...@@ -253,7 +252,7 @@ protected:
private: private:
AccessibleGridControlAccess(); // never implemented AccessibleGridControlAccess(); // never implemented
AccessibleGridControlAccess( const AccessibleGridControlAccess& ); // never implemented AccessibleGridControlAccess( const AccessibleGridControlAccess& ); // never implemented
AccessibleGridControlAccess& operator=( const AccessibleGridControlAccess& ); // never implemented AccessibleGridControlAccess& operator=( const AccessibleGridControlAccess& ); // never implemented
}; };
......
...@@ -96,8 +96,8 @@ public: ...@@ -96,8 +96,8 @@ public:
@param eDescrText The constant for the description text. */ @param eDescrText The constant for the description text. */
AccessibleGridControlBase( AccessibleGridControlBase(
const ::com::sun::star::uno::Reference< const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible >& rxParent, ::com::sun::star::accessibility::XAccessible >& rxParent,
::svt::table::IAccessibleTable& rTable, ::svt::table::IAccessibleTable& rTable,
::svt::table::AccessibleTableControlObjType eObjType ); ::svt::table::AccessibleTableControlObjType eObjType );
protected: protected:
...@@ -135,14 +135,14 @@ public: ...@@ -135,14 +135,14 @@ public:
The relation set (the GridControl does not have one). The relation set (the GridControl does not have one).
*/ */
virtual ::com::sun::star::uno::Reference< virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL
getAccessibleRelationSet() getAccessibleRelationSet()
throw ( ::com::sun::star::uno::RuntimeException ); throw ( ::com::sun::star::uno::RuntimeException );
/** @return The set of current states. */ /** @return The set of current states. */
virtual ::com::sun::star::uno::Reference< virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL
getAccessibleStateSet() getAccessibleStateSet()
throw ( ::com::sun::star::uno::RuntimeException ); throw ( ::com::sun::star::uno::RuntimeException );
/** @return The parent's locale. */ /** @return The parent's locale. */
...@@ -407,7 +407,7 @@ protected: ...@@ -407,7 +407,7 @@ protected:
private: private:
GridControlAccessibleElement(); // never implemented GridControlAccessibleElement(); // never implemented
GridControlAccessibleElement( const GridControlAccessibleElement& ); // never implemented GridControlAccessibleElement( const GridControlAccessibleElement& ); // never implemented
GridControlAccessibleElement& operator=( const GridControlAccessibleElement& ); // never implemented GridControlAccessibleElement& operator=( const GridControlAccessibleElement& ); // never implemented
}; };
......
...@@ -51,7 +51,7 @@ public: ...@@ -51,7 +51,7 @@ public:
AccessibleGridControlHeader( AccessibleGridControlHeader(
const ::com::sun::star::uno::Reference< const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible >& rxParent, ::com::sun::star::accessibility::XAccessible >& rxParent,
::svt::table::IAccessibleTable& rTable, ::svt::table::IAccessibleTable& rTable,
::svt::table::AccessibleTableControlObjType eObjType ); ::svt::table::AccessibleTableControlObjType eObjType );
protected: protected:
......
...@@ -36,9 +36,9 @@ namespace accessibility ...@@ -36,9 +36,9 @@ namespace accessibility
sal_Int32 m_nColumnRowId; sal_Int32 m_nColumnRowId;
public: public:
AccessibleGridControlHeaderCell(sal_Int32 _nColumnRowId, AccessibleGridControlHeaderCell(sal_Int32 _nColumnRowId,
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent, const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
::svt::table::IAccessibleTable& _rTable, ::svt::table::IAccessibleTable& _rTable,
::svt::table::AccessibleTableControlObjType _eObjType); ::svt::table::AccessibleTableControlObjType _eObjType);
/** @return The count of visible children. */ /** @return The count of visible children. */
virtual sal_Int32 SAL_CALL getAccessibleChildCount() throw ( ::com::sun::star::uno::RuntimeException ); virtual sal_Int32 SAL_CALL getAccessibleChildCount() throw ( ::com::sun::star::uno::RuntimeException );
...@@ -56,8 +56,8 @@ namespace accessibility ...@@ -56,8 +56,8 @@ namespace accessibility
/** Queries for a new interface. */ /** Queries for a new interface. */
::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Any SAL_CALL queryInterface(
const ::com::sun::star::uno::Type& rType ) const ::com::sun::star::uno::Type& rType )
throw ( ::com::sun::star::uno::RuntimeException ); throw ( ::com::sun::star::uno::RuntimeException );
/** Aquires the object (calls acquire() on base class). */ /** Aquires the object (calls acquire() on base class). */
virtual void SAL_CALL acquire() throw (); virtual void SAL_CALL acquire() throw ();
......
...@@ -57,9 +57,9 @@ public: ...@@ -57,9 +57,9 @@ public:
@param eDescrText The constant for the description text. */ @param eDescrText The constant for the description text. */
AccessibleGridControlTableBase( AccessibleGridControlTableBase(
const ::com::sun::star::uno::Reference< const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible >& rxParent, ::com::sun::star::accessibility::XAccessible >& rxParent,
::svt::table::IAccessibleTable& rTable, ::svt::table::IAccessibleTable& rTable,
::svt::table::AccessibleTableControlObjType eObjType ); ::svt::table::AccessibleTableControlObjType eObjType );
protected: protected:
virtual ~AccessibleGridControlTableBase(); virtual ~AccessibleGridControlTableBase();
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include <svtools/accessibletable.hxx> #include <svtools/accessibletable.hxx>
#include <comphelper/types.hxx> #include <comphelper/types.hxx>
#include <toolkit/helper/vclunohelper.hxx> #include <toolkit/helper/vclunohelper.hxx>
//#include "svtools/table/tablecontrol.hxx"
// ============================================================================ // ============================================================================
...@@ -61,21 +60,19 @@ public: ...@@ -61,21 +60,19 @@ public:
/** The data table child. */ /** The data table child. */
Reference< Reference<
::com::sun::star::accessibility::XAccessible > m_xTable; ::com::sun::star::accessibility::XAccessible > m_xTable;
AccessibleGridControlTable* m_pTable; AccessibleGridControlTable* m_pTable;
/** The header bar for rows. */ /** The header bar for rows. */
Reference< Reference<
::com::sun::star::accessibility::XAccessible > m_xRowHeaderBar; ::com::sun::star::accessibility::XAccessible > m_xRowHeaderBar;
AccessibleGridControlHeader* m_pRowHeaderBar; AccessibleGridControlHeader* m_pRowHeaderBar;
/** The header bar for columns (first row of the table). */ /** The header bar for columns (first row of the table). */
Reference< Reference<
::com::sun::star::accessibility::XAccessible > m_xColumnHeaderBar; ::com::sun::star::accessibility::XAccessible > m_xColumnHeaderBar;
AccessibleGridControlHeader* m_pColumnHeaderBar; AccessibleGridControlHeader* m_pColumnHeaderBar;
}; };
// Ctor/Dtor/disposing --------------------------------------------------------
DBG_NAME( AccessibleGridControl ) DBG_NAME( AccessibleGridControl )
AccessibleGridControl::AccessibleGridControl( AccessibleGridControl::AccessibleGridControl(
...@@ -83,7 +80,6 @@ AccessibleGridControl::AccessibleGridControl( ...@@ -83,7 +80,6 @@ AccessibleGridControl::AccessibleGridControl(
IAccessibleTable& _rTable ) IAccessibleTable& _rTable )
: AccessibleGridControlBase( _rxParent, _rTable, TCTYPE_GRIDCONTROL ) : AccessibleGridControlBase( _rxParent, _rTable, TCTYPE_GRIDCONTROL )
{ {
// DBG_CTOR( AccessibleTableControl, NULL );
m_pImpl.reset( new AccessibleGridControl_Impl() ); m_pImpl.reset( new AccessibleGridControl_Impl() );
m_pImpl->m_aCreator = _rxCreator; m_pImpl->m_aCreator = _rxCreator;
} }
...@@ -91,7 +87,6 @@ AccessibleGridControl::AccessibleGridControl( ...@@ -91,7 +87,6 @@ AccessibleGridControl::AccessibleGridControl(
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
AccessibleGridControl::~AccessibleGridControl() AccessibleGridControl::~AccessibleGridControl()
{ {
DBG_DTOR( AccessibleGridControl, NULL );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -99,7 +94,7 @@ void SAL_CALL AccessibleGridControl::disposing() ...@@ -99,7 +94,7 @@ void SAL_CALL AccessibleGridControl::disposing()
{ {
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
m_pImpl->m_pTable = NULL; m_pImpl->m_pTable = NULL;
m_pImpl->m_pColumnHeaderBar = NULL; m_pImpl->m_pColumnHeaderBar = NULL;
m_pImpl->m_pRowHeaderBar = NULL; m_pImpl->m_pRowHeaderBar = NULL;
m_pImpl->m_aCreator = Reference< XAccessible >(); m_pImpl->m_aCreator = Reference< XAccessible >();
...@@ -143,7 +138,8 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 nChildIndex ) ...@@ -143,7 +138,8 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 nChildIndex )
{ {
if(nChildIndex == 0 && m_aTable.HasColHeader()) if(nChildIndex == 0 && m_aTable.HasColHeader())
{ {
if(!m_pImpl->m_xColumnHeaderBar.is()){ if(!m_pImpl->m_xColumnHeaderBar.is())
{
AccessibleGridControlHeader* pColHeaderBar = new AccessibleGridControlHeader(m_pImpl->m_aCreator, m_aTable, svt::table::TCTYPE_COLUMNHEADERBAR); AccessibleGridControlHeader* pColHeaderBar = new AccessibleGridControlHeader(m_pImpl->m_aCreator, m_aTable, svt::table::TCTYPE_COLUMNHEADERBAR);
m_pImpl->m_xColumnHeaderBar = pColHeaderBar; m_pImpl->m_xColumnHeaderBar = pColHeaderBar;
} }
...@@ -151,7 +147,8 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 nChildIndex ) ...@@ -151,7 +147,8 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 nChildIndex )
} }
else if(m_aTable.HasRowHeader() && (nChildIndex == 1 || nChildIndex == 0)) else if(m_aTable.HasRowHeader() && (nChildIndex == 1 || nChildIndex == 0))
{ {
if(!m_pImpl->m_xRowHeaderBar.is()){ if(!m_pImpl->m_xRowHeaderBar.is())
{
AccessibleGridControlHeader* pRowHeaderBar = new AccessibleGridControlHeader(m_pImpl->m_aCreator, m_aTable, svt::table::TCTYPE_ROWHEADERBAR); AccessibleGridControlHeader* pRowHeaderBar = new AccessibleGridControlHeader(m_pImpl->m_aCreator, m_aTable, svt::table::TCTYPE_ROWHEADERBAR);
m_pImpl->m_xRowHeaderBar = pRowHeaderBar; m_pImpl->m_xRowHeaderBar = pRowHeaderBar;
} }
...@@ -164,7 +161,6 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 nChildIndex ) ...@@ -164,7 +161,6 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 nChildIndex )
xChild = m_pImpl->m_xTable; xChild = m_pImpl->m_xTable;
} }
} }
return xChild; return xChild;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -200,11 +196,11 @@ AccessibleGridControl::getAccessibleAtPoint( const awt::Point& rPoint ) ...@@ -200,11 +196,11 @@ AccessibleGridControl::getAccessibleAtPoint( const awt::Point& rPoint )
{ {
Reference< XAccessible > xCurrChild( implGetFixedChild( nIndex ) ); Reference< XAccessible > xCurrChild( implGetFixedChild( nIndex ) );
Reference< XAccessibleComponent > Reference< XAccessibleComponent >
xCurrChildComp( xCurrChild, uno::UNO_QUERY ); xCurrChildComp( xCurrChild, uno::UNO_QUERY );
if( xCurrChildComp.is() && if( xCurrChildComp.is() &&
VCLRectangle( xCurrChildComp->getBounds() ).IsInside( aPoint ) ) VCLRectangle( xCurrChildComp->getBounds() ).IsInside( aPoint ) )
xChild = xCurrChild; xChild = xCurrChild;
} }
} }
return xChild; return xChild;
...@@ -217,7 +213,7 @@ void SAL_CALL AccessibleGridControl::grabFocus() ...@@ -217,7 +213,7 @@ void SAL_CALL AccessibleGridControl::grabFocus()
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
m_aTable.GrabFocus(); m_aTable.GrabFocus();
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -260,7 +256,6 @@ Reference< XAccessible > AccessibleGridControl::implGetTable() ...@@ -260,7 +256,6 @@ Reference< XAccessible > AccessibleGridControl::implGetTable()
{ {
m_pImpl->m_pTable = createAccessibleTable(); m_pImpl->m_pTable = createAccessibleTable();
m_pImpl->m_xTable = m_pImpl->m_pTable; m_pImpl->m_xTable = m_pImpl->m_pTable;
} }
return m_pImpl->m_xTable; return m_pImpl->m_xTable;
} }
...@@ -302,7 +297,7 @@ AccessibleGridControl::implGetFixedChild( sal_Int32 nChildIndex ) ...@@ -302,7 +297,7 @@ AccessibleGridControl::implGetFixedChild( sal_Int32 nChildIndex )
Reference< XAccessible > xRet; Reference< XAccessible > xRet;
switch( nChildIndex ) switch( nChildIndex )
{ {
case TCINDEX_COLUMNHEADERBAR: case TCINDEX_COLUMNHEADERBAR:
xRet = implGetHeaderBar( TCTYPE_COLUMNHEADERBAR ); xRet = implGetHeaderBar( TCTYPE_COLUMNHEADERBAR );
break; break;
case TCINDEX_ROWHEADERBAR: case TCINDEX_ROWHEADERBAR:
...@@ -318,7 +313,7 @@ AccessibleGridControl::implGetFixedChild( sal_Int32 nChildIndex ) ...@@ -318,7 +313,7 @@ AccessibleGridControl::implGetFixedChild( sal_Int32 nChildIndex )
AccessibleGridControlTable* AccessibleGridControl::createAccessibleTable() AccessibleGridControlTable* AccessibleGridControl::createAccessibleTable()
{ {
Reference< XAccessible > xCreator = (Reference< XAccessible >)m_pImpl->m_aCreator; Reference< XAccessible > xCreator = (Reference< XAccessible >)m_pImpl->m_aCreator;
DBG_ASSERT( xCreator.is(), "accessibility/extended/AccessibleGirdControl::createAccessibleTable: my creator died - how this?" ); DBG_ASSERT( xCreator.is(), "accessibility/extended/AccessibleGirdControl::createAccessibleTable: my creator died - how this?" );
return new AccessibleGridControlTable( xCreator, m_aTable, TCTYPE_TABLE ); return new AccessibleGridControlTable( xCreator, m_aTable, TCTYPE_TABLE );
} }
// ============================================================================ // ============================================================================
...@@ -331,13 +326,11 @@ AccessibleGridControlAccess::AccessibleGridControlAccess( const Reference< XAcce ...@@ -331,13 +326,11 @@ AccessibleGridControlAccess::AccessibleGridControlAccess( const Reference< XAcce
,m_rTable( _rTable ) ,m_rTable( _rTable )
,m_pContext( NULL ) ,m_pContext( NULL )
{ {
DBG_CTOR( AccessibleGridControlAccess, NULL );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
AccessibleGridControlAccess::~AccessibleGridControlAccess() AccessibleGridControlAccess::~AccessibleGridControlAccess()
{ {
DBG_DTOR( AccessibleGridControlAccess, NULL );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -57,8 +57,6 @@ namespace accessibility { ...@@ -57,8 +57,6 @@ namespace accessibility {
using namespace com::sun::star::accessibility::AccessibleStateType; using namespace com::sun::star::accessibility::AccessibleStateType;
// ============================================================================ // ============================================================================
// Ctor/Dtor/disposing --------------------------------------------------------
DBG_NAME( AccessibleGridControlBase ) DBG_NAME( AccessibleGridControlBase )
AccessibleGridControlBase::AccessibleGridControlBase( AccessibleGridControlBase::AccessibleGridControlBase(
...@@ -73,13 +71,10 @@ AccessibleGridControlBase::AccessibleGridControlBase( ...@@ -73,13 +71,10 @@ AccessibleGridControlBase::AccessibleGridControlBase(
m_aDescription( rTable.GetAccessibleObjectDescription( eObjType ) ), m_aDescription( rTable.GetAccessibleObjectDescription( eObjType ) ),
m_aClientId(0) m_aClientId(0)
{ {
DBG_CTOR( AccessibleGridControlBase, NULL );
} }
AccessibleGridControlBase::~AccessibleGridControlBase() AccessibleGridControlBase::~AccessibleGridControlBase()
{ {
// DBG_DTOR( AccessibleGridControlBase, NULL );
if( isAlive() ) if( isAlive() )
{ {
// increment ref count to prevent double call of Dtor // increment ref count to prevent double call of Dtor
...@@ -122,20 +117,19 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getAccessibleIndexInParent() ...@@ -122,20 +117,19 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getAccessibleIndexInParent()
xParentContext( m_xParent->getAccessibleContext() ); xParentContext( m_xParent->getAccessibleContext() );
if( xParentContext.is() ) if( xParentContext.is() )
{ {
Reference< uno::XInterface > xChild; Reference< uno::XInterface > xChild;
sal_Int32 nChildCount = xParentContext->getAccessibleChildCount(); sal_Int32 nChildCount = xParentContext->getAccessibleChildCount();
for( sal_Int32 nChild = 0; nChild < nChildCount; ++nChild ) for( sal_Int32 nChild = 0; nChild < nChildCount; ++nChild )
{ {
xChild = xChild.query( xParentContext->getAccessibleChild( nChild ) ); xChild = xChild.query( xParentContext->getAccessibleChild( nChild ) );
if ( xMeMyselfAndI.get() == xChild.get() )
if ( xMeMyselfAndI.get() == xChild.get() ) {
{ nRet = nChild;
nRet = nChild; break;
break;
}
} }
} }
}
} }
return nRet; return nRet;
} }
...@@ -160,9 +154,9 @@ Reference< XAccessibleRelationSet > SAL_CALL ...@@ -160,9 +154,9 @@ Reference< XAccessibleRelationSet > SAL_CALL
AccessibleGridControlBase::getAccessibleRelationSet() AccessibleGridControlBase::getAccessibleRelationSet()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
ensureIsAlive(); ensureIsAlive();
// GridControl does not have relations. // GridControl does not have relations.
return new utl::AccessibleRelationSetHelper; return new utl::AccessibleRelationSetHelper;
} }
Reference< XAccessibleStateSet > SAL_CALL Reference< XAccessibleStateSet > SAL_CALL
...@@ -185,7 +179,7 @@ lang::Locale SAL_CALL AccessibleGridControlBase::getLocale() ...@@ -185,7 +179,7 @@ lang::Locale SAL_CALL AccessibleGridControlBase::getLocale()
Reference< XAccessibleContext > Reference< XAccessibleContext >
xParentContext( m_xParent->getAccessibleContext() ); xParentContext( m_xParent->getAccessibleContext() );
if( xParentContext.is() ) if( xParentContext.is() )
return xParentContext->getLocale(); return xParentContext->getLocale();
} }
throw IllegalAccessibleComponentStateException(); throw IllegalAccessibleComponentStateException();
} }
...@@ -268,19 +262,18 @@ void SAL_CALL AccessibleGridControlBase::removeEventListener( ...@@ -268,19 +262,18 @@ void SAL_CALL AccessibleGridControlBase::removeEventListener(
{ {
if( _rxListener.is() && getClientId( ) ) if( _rxListener.is() && getClientId( ) )
{ {
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
sal_Int32 nListenerCount = AccessibleEventNotifier::removeEventListener( getClientId( ), _rxListener ); sal_Int32 nListenerCount = AccessibleEventNotifier::removeEventListener( getClientId( ), _rxListener );
if ( !nListenerCount ) if ( !nListenerCount )
{ {
// no listeners anymore // no listeners anymore
// -> revoke ourself. This may lead to the notifier thread dying (if we were the last client), // -> revoke ourself. This may lead to the notifier thread dying (if we were the last client),
// and at least to us not firing any events anymore, in case somebody calls // and at least to us not firing any events anymore, in case somebody calls
// NotifyAccessibleEvent, again // NotifyAccessibleEvent, again
AccessibleEventNotifier::TClientId nId( getClientId( ) );
AccessibleEventNotifier::TClientId nId( getClientId( ) ); setClientId( 0 );
setClientId( 0 ); AccessibleEventNotifier::revokeClient( nId );
AccessibleEventNotifier::revokeClient( nId ); }
}
} }
} }
...@@ -310,7 +303,6 @@ sal_Bool SAL_CALL AccessibleGridControlBase::supportsService( ...@@ -310,7 +303,6 @@ sal_Bool SAL_CALL AccessibleGridControlBase::supportsService(
for( ; ( pString != pArrEnd ) && ( rServiceName != *pString ); ++pString ) for( ; ( pString != pArrEnd ) && ( rServiceName != *pString ); ++pString )
; ;
return pString != pArrEnd; return pString != pArrEnd;
} }
...@@ -351,7 +343,6 @@ sal_Bool AccessibleGridControlBase::implIsShowing() ...@@ -351,7 +343,6 @@ sal_Bool AccessibleGridControlBase::implIsShowing()
} }
else else
pStateSetHelper->AddState( AccessibleStateType::DEFUNC ); pStateSetHelper->AddState( AccessibleStateType::DEFUNC );
return pStateSetHelper; return pStateSetHelper;
} }
...@@ -382,7 +373,7 @@ Rectangle AccessibleGridControlBase::getBoundingBox() ...@@ -382,7 +373,7 @@ Rectangle AccessibleGridControlBase::getBoundingBox()
} }
return aRect; return aRect;
} }
//
Rectangle AccessibleGridControlBase::getBoundingBoxOnScreen() Rectangle AccessibleGridControlBase::getBoundingBoxOnScreen()
throw ( lang::DisposedException ) throw ( lang::DisposedException )
{ {
...@@ -436,22 +427,22 @@ sal_Int16 SAL_CALL AccessibleGridControlBase::getAccessibleRole() ...@@ -436,22 +427,22 @@ sal_Int16 SAL_CALL AccessibleGridControlBase::getAccessibleRole()
switch ( m_eObjType ) switch ( m_eObjType )
{ {
case TCTYPE_ROWHEADERCELL: case TCTYPE_ROWHEADERCELL:
nRole = AccessibleRole::ROW_HEADER; nRole = AccessibleRole::ROW_HEADER;
break; break;
case TCTYPE_COLUMNHEADERCELL: case TCTYPE_COLUMNHEADERCELL:
nRole = AccessibleRole::COLUMN_HEADER; nRole = AccessibleRole::COLUMN_HEADER;
break; break;
case TCTYPE_COLUMNHEADERBAR: case TCTYPE_COLUMNHEADERBAR:
case TCTYPE_ROWHEADERBAR: case TCTYPE_ROWHEADERBAR:
case TCTYPE_TABLE: case TCTYPE_TABLE:
nRole = AccessibleRole::TABLE; nRole = AccessibleRole::TABLE;
break; break;
case TCTYPE_TABLECELL: case TCTYPE_TABLECELL:
nRole = AccessibleRole::TABLE_CELL; nRole = AccessibleRole::TABLE_CELL;
break; break;
case TCTYPE_GRIDCONTROL: case TCTYPE_GRIDCONTROL:
nRole = AccessibleRole::PANEL; nRole = AccessibleRole::PANEL;
break; break;
} }
return nRole; return nRole;
} }
...@@ -480,17 +471,16 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getForeground( ) throw (::com::su ...@@ -480,17 +471,16 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getForeground( ) throw (::com::su
{ {
if ( pInst->IsControlForeground() ) if ( pInst->IsControlForeground() )
nColor = pInst->GetControlForeground().GetColor(); nColor = pInst->GetControlForeground().GetColor();
else
{
Font aFont;
if ( pInst->IsControlFont() )
aFont = pInst->GetControlFont();
else else
{ aFont = pInst->GetFont();
Font aFont; nColor = aFont.GetColor().GetColor();
if ( pInst->IsControlFont() ) }
aFont = pInst->GetControlFont();
else
aFont = pInst->GetFont();
nColor = aFont.GetColor().GetColor();
}
} }
return nColor; return nColor;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -505,20 +495,18 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getBackground( ) throw (::com::su ...@@ -505,20 +495,18 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getBackground( ) throw (::com::su
{ {
if ( pInst->IsControlBackground() ) if ( pInst->IsControlBackground() )
nColor = pInst->GetControlBackground().GetColor(); nColor = pInst->GetControlBackground().GetColor();
else else
nColor = pInst->GetBackground().GetColor().GetColor(); nColor = pInst->GetBackground().GetColor().GetColor();
} }
return nColor; return nColor;
} }
//// ============================================================================ //// ============================================================================
GridControlAccessibleElement::GridControlAccessibleElement( const Reference< XAccessible >& rxParent, GridControlAccessibleElement::GridControlAccessibleElement( const Reference< XAccessible >& rxParent,
IAccessibleTable& rTable, IAccessibleTable& rTable,
AccessibleTableControlObjType eObjType ) AccessibleTableControlObjType eObjType )
:AccessibleGridControlBase( rxParent, rTable, eObjType ) :AccessibleGridControlBase( rxParent, rTable, eObjType )
{ {
// DBG_CTOR( GridControlAccessibleElement, NULL );
} }
// XInterface ----------------------------------------------------------------- // XInterface -----------------------------------------------------------------
...@@ -537,7 +525,6 @@ Reference< XAccessibleContext > SAL_CALL GridControlAccessibleElement::getAccess ...@@ -537,7 +525,6 @@ Reference< XAccessibleContext > SAL_CALL GridControlAccessibleElement::getAccess
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
GridControlAccessibleElement::~GridControlAccessibleElement( ) GridControlAccessibleElement::~GridControlAccessibleElement( )
{ {
// DBG_DTOR( GridControlAccessibleElement, NULL );
} }
// ============================================================================ // ============================================================================
......
...@@ -56,8 +56,6 @@ namespace accessibility { ...@@ -56,8 +56,6 @@ namespace accessibility {
// ============================================================================ // ============================================================================
// Ctor/Dtor/disposing --------------------------------------------------------
DBG_NAME( AccessibleGridControlHeader ) DBG_NAME( AccessibleGridControlHeader )
AccessibleGridControlHeader::AccessibleGridControlHeader( AccessibleGridControlHeader::AccessibleGridControlHeader(
...@@ -66,15 +64,12 @@ AccessibleGridControlHeader::AccessibleGridControlHeader( ...@@ -66,15 +64,12 @@ AccessibleGridControlHeader::AccessibleGridControlHeader(
::svt::table::AccessibleTableControlObjType eObjType): ::svt::table::AccessibleTableControlObjType eObjType):
AccessibleGridControlTableBase( rxParent, rTable, eObjType ) AccessibleGridControlTableBase( rxParent, rTable, eObjType )
{ {
// DBG_CTOR( AccessibleGridControlHeaderBar, NULL );
DBG_ASSERT( isRowBar() || isColumnBar(), DBG_ASSERT( isRowBar() || isColumnBar(),
"accessibility/extended/AccessibleGridControlHeaderBar - invalid object type" ); "accessibility/extended/AccessibleGridControlHeaderBar - invalid object type" );
} }
AccessibleGridControlHeader::~AccessibleGridControlHeader() AccessibleGridControlHeader::~AccessibleGridControlHeader()
{ {
// DBG_DTOR( AccessibleGridControlHeader, NULL );
} }
// XAccessibleContext --------------------------------------------------------- // XAccessibleContext ---------------------------------------------------------
...@@ -83,11 +78,11 @@ Reference< XAccessible > SAL_CALL ...@@ -83,11 +78,11 @@ Reference< XAccessible > SAL_CALL
AccessibleGridControlHeader::getAccessibleChild( sal_Int32 nChildIndex ) AccessibleGridControlHeader::getAccessibleChild( sal_Int32 nChildIndex )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
if (nChildIndex<0 || nChildIndex>=getAccessibleChildCount()) if (nChildIndex<0 || nChildIndex>=getAccessibleChildCount())
throw IndexOutOfBoundsException(); throw IndexOutOfBoundsException();
ensureIsAlive(); ensureIsAlive();
Reference< XAccessible > xChild; Reference< XAccessible > xChild;
if(m_eObjType == svt::table::TCTYPE_COLUMNHEADERBAR) if(m_eObjType == svt::table::TCTYPE_COLUMNHEADERBAR)
...@@ -106,11 +101,11 @@ AccessibleGridControlHeader::getAccessibleChild( sal_Int32 nChildIndex ) ...@@ -106,11 +101,11 @@ AccessibleGridControlHeader::getAccessibleChild( sal_Int32 nChildIndex )
sal_Int32 SAL_CALL AccessibleGridControlHeader::getAccessibleIndexInParent() sal_Int32 SAL_CALL AccessibleGridControlHeader::getAccessibleIndexInParent()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
ensureIsAlive(); ensureIsAlive();
if(m_eObjType == svt::table::TCTYPE_ROWHEADERBAR && m_aTable.HasColHeader()) if(m_eObjType == svt::table::TCTYPE_ROWHEADERBAR && m_aTable.HasColHeader())
return 1; return 1;
else else
return 0; return 0;
} }
// XAccessibleComponent ------------------------------------------------------- // XAccessibleComponent -------------------------------------------------------
...@@ -126,8 +121,8 @@ AccessibleGridControlHeader::getAccessibleAtPoint( const awt::Point& rPoint ) ...@@ -126,8 +121,8 @@ AccessibleGridControlHeader::getAccessibleAtPoint( const awt::Point& rPoint )
sal_Int32 nRow = 0; sal_Int32 nRow = 0;
sal_Int32 nColumnPos = 0; sal_Int32 nColumnPos = 0;
sal_Bool bConverted = isRowBar() ? sal_Bool bConverted = isRowBar() ?
m_aTable.ConvertPointToCellAddress( nRow, nColumnPos, VCLPoint( rPoint ) ) : m_aTable.ConvertPointToCellAddress( nRow, nColumnPos, VCLPoint( rPoint ) ) :
m_aTable.ConvertPointToCellAddress( nRow, nColumnPos, VCLPoint( rPoint ) ); m_aTable.ConvertPointToCellAddress( nRow, nColumnPos, VCLPoint( rPoint ) );
return bConverted ? implGetChild( nRow, nColumnPos ) : Reference< XAccessible >(); return bConverted ? implGetChild( nRow, nColumnPos ) : Reference< XAccessible >();
} }
...@@ -181,35 +176,24 @@ Reference< XAccessibleTable > SAL_CALL AccessibleGridControlHeader::getAccessibl ...@@ -181,35 +176,24 @@ Reference< XAccessibleTable > SAL_CALL AccessibleGridControlHeader::getAccessibl
ensureIsAlive(); ensureIsAlive();
return NULL; // no headers in headers return NULL; // no headers in headers
} }
//not selectable
Sequence< sal_Int32 > SAL_CALL AccessibleGridControlHeader::getSelectedAccessibleRows() Sequence< sal_Int32 > SAL_CALL AccessibleGridControlHeader::getSelectedAccessibleRows()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; Sequence< sal_Int32 > aSelSeq(0);
::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive();
Sequence< sal_Int32 > aSelSeq;
// row of column header bar not selectable
if( isRowBar() )
implGetSelectedRows( aSelSeq );
return aSelSeq; return aSelSeq;
} }
//columns aren't selectable //columns aren't selectable
Sequence< sal_Int32 > SAL_CALL AccessibleGridControlHeader::getSelectedAccessibleColumns() Sequence< sal_Int32 > SAL_CALL AccessibleGridControlHeader::getSelectedAccessibleColumns()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
return NULL; Sequence< sal_Int32 > aSelSeq(0);
return aSelSeq;
} }
//To Do - not yet implemented //row headers not selectable
sal_Bool SAL_CALL AccessibleGridControlHeader::isAccessibleRowSelected( sal_Int32 nRow ) sal_Bool SAL_CALL AccessibleGridControlHeader::isAccessibleRowSelected( sal_Int32 /*nRow*/ )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive();
ensureIsValidRow( nRow );
//return isRowBar() ? implIsRowSelected( nRow ) : sal_False;
return sal_False; return sal_False;
} }
//columns aren't selectable //columns aren't selectable
...@@ -219,28 +203,19 @@ sal_Bool SAL_CALL AccessibleGridControlHeader::isAccessibleColumnSelected( sal_I ...@@ -219,28 +203,19 @@ sal_Bool SAL_CALL AccessibleGridControlHeader::isAccessibleColumnSelected( sal_I
(void)nColumn; (void)nColumn;
return sal_False; return sal_False;
} }
//not implemented
Reference< XAccessible > SAL_CALL AccessibleGridControlHeader::getAccessibleCellAt( Reference< XAccessible > SAL_CALL AccessibleGridControlHeader::getAccessibleCellAt(
sal_Int32 nRow, sal_Int32 nColumn ) sal_Int32 /*nRow*/, sal_Int32 /*nColumn*/ )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; return NULL;
::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive();
ensureIsValidAddress( nRow, nColumn );
return implGetChild( nRow, implToVCLColumnPos( nColumn ) );
} }
// TO DO - not implemented yet // not selectable
sal_Bool SAL_CALL AccessibleGridControlHeader::isAccessibleSelected( sal_Bool SAL_CALL AccessibleGridControlHeader::isAccessibleSelected(
sal_Int32 nRow, sal_Int32 nColumn ) sal_Int32 /*nRow*/, sal_Int32 /*nColumn */)
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; return sal_False;
::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive();
ensureIsValidAddress( nRow, nColumn );
return FALSE;
// return isRowBar() ? implIsRowSelected( nRow ) : implIsColumnSelected( nColumn );
} }
// XServiceInfo --------------------------------------------------------------- // XServiceInfo ---------------------------------------------------------------
......
...@@ -51,8 +51,6 @@ namespace accessibility { ...@@ -51,8 +51,6 @@ namespace accessibility {
// ============================================================================ // ============================================================================
// Ctor/Dtor/disposing --------------------------------------------------------
DBG_NAME( AccessibleGridControlTable ) DBG_NAME( AccessibleGridControlTable )
AccessibleGridControlTable::AccessibleGridControlTable( AccessibleGridControlTable::AccessibleGridControlTable(
...@@ -61,12 +59,10 @@ AccessibleGridControlTable::AccessibleGridControlTable( ...@@ -61,12 +59,10 @@ AccessibleGridControlTable::AccessibleGridControlTable(
AccessibleTableControlObjType _eType) : AccessibleTableControlObjType _eType) :
AccessibleGridControlTableBase( rxParent, rTable, _eType ) AccessibleGridControlTableBase( rxParent, rTable, _eType )
{ {
DBG_CTOR( AccessibleGridControlTable, NULL );
} }
AccessibleGridControlTable::~AccessibleGridControlTable() AccessibleGridControlTable::~AccessibleGridControlTable()
{ {
DBG_DTOR( AccessibleGridControlTable, NULL );
} }
// XAccessibleContext --------------------------------------------------------- // XAccessibleContext ---------------------------------------------------------
...@@ -92,7 +88,6 @@ sal_Int32 SAL_CALL AccessibleGridControlTable::getAccessibleIndexInParent() ...@@ -92,7 +88,6 @@ sal_Int32 SAL_CALL AccessibleGridControlTable::getAccessibleIndexInParent()
return 1; return 1;
else else
return 2; return 2;
} }
// XAccessibleComponent ------------------------------------------------------- // XAccessibleComponent -------------------------------------------------------
...@@ -177,7 +172,6 @@ Sequence< sal_Int32 > SAL_CALL AccessibleGridControlTable::getSelectedAccessible ...@@ -177,7 +172,6 @@ Sequence< sal_Int32 > SAL_CALL AccessibleGridControlTable::getSelectedAccessible
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
Sequence< sal_Int32 > aSelSeq; Sequence< sal_Int32 > aSelSeq;
implGetSelectedRows( aSelSeq ); implGetSelectedRows( aSelSeq );
return aSelSeq; return aSelSeq;
...@@ -187,38 +181,34 @@ Sequence< sal_Int32 > SAL_CALL AccessibleGridControlTable::getSelectedAccessible ...@@ -187,38 +181,34 @@ Sequence< sal_Int32 > SAL_CALL AccessibleGridControlTable::getSelectedAccessible
Sequence< sal_Int32 > SAL_CALL AccessibleGridControlTable::getSelectedAccessibleColumns() Sequence< sal_Int32 > SAL_CALL AccessibleGridControlTable::getSelectedAccessibleColumns()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
// TCSolarGuard aSolarGuard; Sequence< sal_Int32 > aSelSeq(0);
// ::osl::MutexGuard aGuard( getOslMutex() ); return aSelSeq;
// ensureIsAlive();
//
// Sequence< sal_Int32 > aSelSeq;
// implGetSelectedColumns( aSelSeq );
// return aSelSeq;
return NULL;
} }
//To Do: not implemented yet
sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleRowSelected( sal_Int32 nRow ) sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleRowSelected( sal_Int32 nRow )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
//TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
//::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
//ensureIsAlive(); ensureIsAlive();
//ensureIsValidRow( nRow ); ensureIsValidRow( nRow );
//return implIsRowSelected( nRow ); sal_Bool bSelected = sal_False;
(void) nRow; Sequence< sal_Int32 > selectedRows = getSelectedAccessibleRows();
return sal_False; for(int i=0; i<selectedRows.getLength(); i++)
{
if(nRow == selectedRows[i])
{
bSelected = sal_True;
continue;
}
}
return bSelected;
} }
//columns aren't selectable //columns aren't selectable
sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleColumnSelected( sal_Int32 nColumn ) sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleColumnSelected( sal_Int32 nColumn )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
/*TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive();
ensureIsValidColumn( nColumn );
return implIsColumnSelected( nColumn );*/
(void) nColumn; (void) nColumn;
return sal_False; return sal_False;
} }
...@@ -238,16 +228,14 @@ sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleSelected( ...@@ -238,16 +228,14 @@ sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleSelected(
sal_Int32 nRow, sal_Int32 nColumn ) sal_Int32 nRow, sal_Int32 nColumn )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
/*TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
ensureIsValidAddress( nRow, nColumn ); ensureIsValidAddress( nRow, nColumn );
return implIsRowSelected( nRow ) || implIsColumnSelected( nColumn );*/
(void) nRow;
(void) nColumn; (void) nColumn;
return sal_False; //selection of single cells not possible, so if row is selected, the cell will be selected too
return isAccessibleRowSelected(nRow);
} }
//To Do: not implemented yet
void SAL_CALL AccessibleGridControlTable::selectAccessibleChild( sal_Int32 nChildIndex ) void SAL_CALL AccessibleGridControlTable::selectAccessibleChild( sal_Int32 nChildIndex )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
...@@ -255,48 +243,51 @@ void SAL_CALL AccessibleGridControlTable::selectAccessibleChild( sal_Int32 nChil ...@@ -255,48 +243,51 @@ void SAL_CALL AccessibleGridControlTable::selectAccessibleChild( sal_Int32 nChil
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
ensureIsValidIndex( nChildIndex ); ensureIsValidIndex( nChildIndex );
//if( isRowBar() ) sal_Int32 nColumns = m_aTable.GetColumnCount();
// implSelectRow( nChildIndex, sal_True ); sal_Int32 nRow = (nChildIndex / nColumns);
//else std::vector< sal_Int32 > selectedRows = m_aTable.GetSelectedRows();
// implSelectColumn( implToVCLColumnPos( nChildIndex ), sal_True ); selectedRows.push_back(nRow);
} }
//To Do - not implemented yet
sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleChildSelected( sal_Int32 nChildIndex ) sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleChildSelected( sal_Int32 nChildIndex )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
{ {
// using interface methods - no mutex TCSolarGuard aSolarGuard;
/*return isRowBar() ? ::osl::MutexGuard aGuard( getOslMutex() );
isAccessibleRowSelected( nChildIndex ) : ensureIsAlive();
isAccessibleColumnSelected( nChildIndex );*/ ensureIsValidIndex( nChildIndex );
(void)nChildIndex; sal_Int32 nColumns = m_aTable.GetColumnCount();
return FALSE; sal_Int32 nRow = (nChildIndex / nColumns);
return isAccessibleRowSelected(nRow);
} }
//To Do - not implemented yet
void SAL_CALL AccessibleGridControlTable::clearAccessibleSelection() void SAL_CALL AccessibleGridControlTable::clearAccessibleSelection()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
for(unsigned int i=0;i<m_aTable.GetSelectedRows().size();i++)
m_aTable.RemoveSelectedRow((sal_Int32)i);
} }
//To Do - not implemented yet
void SAL_CALL AccessibleGridControlTable::selectAllAccessibleChildren() void SAL_CALL AccessibleGridControlTable::selectAllAccessibleChildren()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
Sequence< sal_Int32 > selectedRows = getSelectedAccessibleRows();
for(int i=0;i<m_aTable.GetRowCount();i++)
selectedRows[i]=i;
} }
//To Do - not implemented yet
sal_Int32 SAL_CALL AccessibleGridControlTable::getSelectedAccessibleChildCount() sal_Int32 SAL_CALL AccessibleGridControlTable::getSelectedAccessibleChildCount()
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
{ {
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
return 0; Sequence< sal_Int32 > selectedRows = getSelectedAccessibleRows();
sal_Int32 nColumns = m_aTable.GetColumnCount();
return selectedRows.getLength()*nColumns;
} }
//To Do - not implemented yet
Reference< XAccessible > SAL_CALL Reference< XAccessible > SAL_CALL
AccessibleGridControlTable::getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) AccessibleGridControlTable::getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
...@@ -304,10 +295,12 @@ AccessibleGridControlTable::getSelectedAccessibleChild( sal_Int32 nSelectedChild ...@@ -304,10 +295,12 @@ AccessibleGridControlTable::getSelectedAccessibleChild( sal_Int32 nSelectedChild
TCSolarGuard aSolarGuard; TCSolarGuard aSolarGuard;
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
(void)nSelectedChildIndex; if(isAccessibleChildSelected(nSelectedChildIndex))
return NULL; return getAccessibleChild(nSelectedChildIndex);
else
return NULL;
} }
//To Do - not implemented yet //not implemented yet, because only row selection possible
void SAL_CALL AccessibleGridControlTable::deselectAccessibleChild( void SAL_CALL AccessibleGridControlTable::deselectAccessibleChild(
sal_Int32 nSelectedChildIndex ) sal_Int32 nSelectedChildIndex )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException ) throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
...@@ -316,14 +309,6 @@ void SAL_CALL AccessibleGridControlTable::deselectAccessibleChild( ...@@ -316,14 +309,6 @@ void SAL_CALL AccessibleGridControlTable::deselectAccessibleChild(
::osl::MutexGuard aGuard( getOslMutex() ); ::osl::MutexGuard aGuard( getOslMutex() );
ensureIsAlive(); ensureIsAlive();
(void)nSelectedChildIndex; (void)nSelectedChildIndex;
// method may throw lang::IndexOutOfBoundsException
//if ( isAccessibleChildSelected(nSelectedChildIndex) )
//{
// if( isRowBar() )
// implSelectRow( nSelectedChildIndex, sal_False );
// else
// implSelectColumn( implToVCLColumnPos( nSelectedChildIndex ), sal_False );
//}
} }
// XInterface ----------------------------------------------------------------- // XInterface -----------------------------------------------------------------
...@@ -364,14 +349,6 @@ Rectangle AccessibleGridControlTable::implGetBoundingBoxOnScreen() ...@@ -364,14 +349,6 @@ Rectangle AccessibleGridControlTable::implGetBoundingBoxOnScreen()
return m_aTable.calcTableRect(); return m_aTable.calcTableRect();
} }
// internal helper methods ---------------------------------------------------- // internal helper methods ----------------------------------------------------
//To Do - not implemented yet
//sal_Int32 AccessibleGridControlTable::implGetChildIndexFromSelectedIndex(
// sal_Int32 nSelectedChildIndex )
// throw ( lang::IndexOutOfBoundsException )
//{
// (void)nSelectedChildIndex;
// return 0;
//}
Reference< XAccessibleTable > AccessibleGridControlTable::implGetHeaderBar( Reference< XAccessibleTable > AccessibleGridControlTable::implGetHeaderBar(
sal_Int32 nChildIndex ) sal_Int32 nChildIndex )
throw ( uno::RuntimeException ) throw ( uno::RuntimeException )
......
...@@ -53,8 +53,6 @@ namespace accessibility { ...@@ -53,8 +53,6 @@ namespace accessibility {
// ============================================================================ // ============================================================================
// Ctor/Dtor/disposing --------------------------------------------------------
DBG_NAME( AccessibleGridControlTableBase ) DBG_NAME( AccessibleGridControlTableBase )
AccessibleGridControlTableBase::AccessibleGridControlTableBase( AccessibleGridControlTableBase::AccessibleGridControlTableBase(
...@@ -63,12 +61,10 @@ AccessibleGridControlTableBase::AccessibleGridControlTableBase( ...@@ -63,12 +61,10 @@ AccessibleGridControlTableBase::AccessibleGridControlTableBase(
AccessibleTableControlObjType eObjType ) : AccessibleTableControlObjType eObjType ) :
GridControlAccessibleElement( rxParent, rTable, eObjType ) GridControlAccessibleElement( rxParent, rTable, eObjType )
{ {
DBG_CTOR( AccessibleGridControlTableBase, NULL );
} }
AccessibleGridControlTableBase::~AccessibleGridControlTableBase() AccessibleGridControlTableBase::~AccessibleGridControlTableBase()
{ {
DBG_DTOR( AccessibleGridControlTableBase, NULL );
} }
// XAccessibleContext --------------------------------------------------------- // XAccessibleContext ---------------------------------------------------------
......
...@@ -65,7 +65,6 @@ namespace accessibility ...@@ -65,7 +65,6 @@ namespace accessibility
// ============================================================================= // =============================================================================
// = AccessibleGridControlCell // = AccessibleGridControlCell
// ============================================================================= // =============================================================================
//DBG_NAME( svt_AccessibleGridControlCell )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
AccessibleGridControlCell::AccessibleGridControlCell( AccessibleGridControlCell::AccessibleGridControlCell(
const Reference< XAccessible >& _rxParent, IAccessibleTable& _rTable, const Reference< XAccessible >& _rxParent, IAccessibleTable& _rTable,
...@@ -74,7 +73,6 @@ namespace accessibility ...@@ -74,7 +73,6 @@ namespace accessibility
,m_nRowPos( _nRowPos ) ,m_nRowPos( _nRowPos )
,m_nColPos( _nColPos ) ,m_nColPos( _nColPos )
{ {
// DBG_CTOR( svt_AccessibleGridControlCell, NULL );
// set accessible name here, because for that we need the position of the cell // set accessible name here, because for that we need the position of the cell
// and so the base class isn't capable of doing this // and so the base class isn't capable of doing this
::rtl::OUString aAccName; ::rtl::OUString aAccName;
...@@ -104,8 +102,7 @@ namespace accessibility ...@@ -104,8 +102,7 @@ namespace accessibility
::rtl::OUString AccessibleGridControlTableCell::implGetText() ::rtl::OUString AccessibleGridControlTableCell::implGetText()
{ {
ensureIsAlive(); ensureIsAlive();
//return mpTable->GetAccessibleCellText( getRowPos(), static_cast< USHORT >( getColumnPos() ) ); return m_aTable.GetAccessibleCellText( getRowPos(), getColumnPos() );
return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "test" ));
} }
::com::sun::star::lang::Locale AccessibleGridControlTableCell::implGetLocale() ::com::sun::star::lang::Locale AccessibleGridControlTableCell::implGetLocale()
...@@ -166,10 +163,7 @@ namespace accessibility ...@@ -166,10 +163,7 @@ namespace accessibility
::com::sun::star::awt::Rectangle aRect; ::com::sun::star::awt::Rectangle aRect;
if ( &m_aTable ) if ( &m_aTable )
{
aRect = AWTRectangle( m_aTable.GetFieldCharacterBounds( getRowPos(), getColumnPos(), nIndex ) ); aRect = AWTRectangle( m_aTable.GetFieldCharacterBounds( getRowPos(), getColumnPos(), nIndex ) );
}
return aRect; return aRect;
} }
...@@ -363,12 +357,12 @@ namespace accessibility ...@@ -363,12 +357,12 @@ namespace accessibility
//!!! don't know how to put a string into the clipboard //!!! don't know how to put a string into the clipboard
return sal_False; return sal_False;
} }
Rectangle AccessibleGridControlTableCell::implGetBoundingBox() Rectangle AccessibleGridControlTableCell::implGetBoundingBox()
{ {
return Rectangle(Point(0,0),Point(0,0));//To Do - return headercell rectangle return Rectangle(Point(0,0),Point(0,0));//To Do - return headercell rectangle
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
Rectangle AccessibleGridControlTableCell::implGetBoundingBoxOnScreen() Rectangle AccessibleGridControlTableCell::implGetBoundingBoxOnScreen()
{ {
return Rectangle(Point(0,0),Point(0,0));//To Do - return headercell rectangle return Rectangle(Point(0,0),Point(0,0));//To Do - return headercell rectangle
......
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
#define RC_Profile ( M_SOFFICE | M_MOZILLA | 9 ) #define RC_Profile ( M_SOFFICE | M_MOZILLA | 9 )
// (Popup)Menu // (Popup)Menu
#define RC_MenuSelect ( M_SOFFICE | M_MOZILLA | 10 ) #define RC_MenuSelect ( M_SOFFICE | M_MOZILLA | 10 )
#define RC_SetControlType ( M_SOFFICE | 11 ) #define RC_SetControlType ( M_SOFFICE | 11 ) // deprecated since RTTI
// RemoteFileAccess // RemoteFileAccess
#define RC_Kill ( M_SOFFICE | 12 ) #define RC_Kill ( M_SOFFICE | 12 )
#define RC_RmDir ( M_SOFFICE | 13 ) #define RC_RmDir ( M_SOFFICE | 13 )
...@@ -429,14 +429,14 @@ ...@@ -429,14 +429,14 @@
// Konstanten die im Basic zur Verfgung stehen sollen // Constants which are available in VCLTestTool scripts
// Verschiedene Typen von Controls fr den Befehl SetControlType // Different types of controls recognized via RTTI
// !!!!!!!!!!! Mssen alle bei SetControlType eingetragen werden !!!!!!!!!!!!
#define CONST_CTBrowseBox 100 #define CONST_CTBrowseBox 100
#define CONST_CTValueSet 103 #define CONST_CTValueSet 103
#define CONST_CTORoadmap 104 #define CONST_CTORoadmap 104
#define CONST_CTIExtensionListBox 105 #define CONST_CTIExtensionListBox 105
#define CONST_CTTableControl 106
#define CONST_CTUnknown 199 #define CONST_CTUnknown 199
// Konstanten fr das ALignment des gesuchten Splitters // Konstanten fr das ALignment des gesuchten Splitters
......
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
#include <svtools/valueset.hxx> #include <svtools/valueset.hxx>
#include <svtools/roadmap.hxx> #include <svtools/roadmap.hxx>
#include <svtools/extensionlistbox.hxx> #include <svtools/extensionlistbox.hxx>
#include <svtools/table/tablecontrol.hxx>
#define WINDOW_ANYTYPE WINDOW_BASE #define WINDOW_ANYTYPE WINDOW_BASE
...@@ -999,6 +1000,8 @@ String StatementList::ClientTree(Window *pBase, int Indent) ...@@ -999,6 +1000,8 @@ String StatementList::ClientTree(Window *pBase, int Indent)
WRITEc("/RoadMap") WRITEc("/RoadMap")
else if ( dynamic_cast< svt::IExtensionListBox* >(pBase) ) else if ( dynamic_cast< svt::IExtensionListBox* >(pBase) )
WRITEc("/ExtensionListBox") WRITEc("/ExtensionListBox")
else if ( dynamic_cast< svt::table::TableControl* >(pBase) )
WRITEc("/TableControl")
else else
WRITEc("/Unknown") WRITEc("/Unknown")
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment