summaryrefslogtreecommitdiff
path: root/vcl/source/accessibility/accessibleeditbrowseboxcell.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/accessibility/accessibleeditbrowseboxcell.cxx')
-rw-r--r--vcl/source/accessibility/accessibleeditbrowseboxcell.cxx337
1 files changed, 167 insertions, 170 deletions
diff --git a/vcl/source/accessibility/accessibleeditbrowseboxcell.cxx b/vcl/source/accessibility/accessibleeditbrowseboxcell.cxx
index afd4e514a368..9fdb8a24df7b 100644
--- a/vcl/source/accessibility/accessibleeditbrowseboxcell.cxx
+++ b/vcl/source/accessibility/accessibleeditbrowseboxcell.cxx
@@ -25,216 +25,213 @@
#include <utility>
#include <comphelper/diagnose_ex.hxx>
-namespace accessibility
-{
- using namespace com::sun::star::accessibility;
- using namespace ::com::sun::star::uno;
- using namespace ::com::sun::star::lang;
- using namespace ::com::sun::star::awt;
- using namespace ::comphelper;
-
- EditBrowseBoxTableCell::EditBrowseBoxTableCell(
- const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
- const css::uno::Reference< css::accessibility::XAccessible >& _rxOwningAccessible,
- const css::uno::Reference< css::accessibility::XAccessibleContext >& _xControlChild,
- ::vcl::IAccessibleTableProvider& _rBrowseBox,
- const css::uno::Reference< css::awt::XWindow >& _xFocusWindow,
- sal_Int32 _nRowPos,
- sal_uInt16 _nColPos)
- :AccessibleBrowseBoxCell( _rxParent, _rBrowseBox, _xFocusWindow, _nRowPos, _nColPos )
- ,OAccessibleContextWrapperHelper( ::comphelper::getProcessComponentContext(), rBHelper, _xControlChild, _rxOwningAccessible, _rxParent )
- {
- aggregateProxy( m_refCount, *this );
- }
+using namespace com::sun::star::accessibility;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::awt;
+using namespace ::comphelper;
+
+EditBrowseBoxTableCell::EditBrowseBoxTableCell(
+ const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
+ const css::uno::Reference< css::accessibility::XAccessible >& _rxOwningAccessible,
+ const css::uno::Reference< css::accessibility::XAccessibleContext >& _xControlChild,
+ ::vcl::IAccessibleTableProvider& _rBrowseBox,
+ const css::uno::Reference< css::awt::XWindow >& _xFocusWindow,
+ sal_Int32 _nRowPos,
+ sal_uInt16 _nColPos)
+ :AccessibleBrowseBoxCell( _rxParent, _rBrowseBox, _xFocusWindow, _nRowPos, _nColPos )
+ ,OAccessibleContextWrapperHelper( ::comphelper::getProcessComponentContext(), rBHelper, _xControlChild, _rxOwningAccessible, _rxParent )
+{
+ aggregateProxy( m_refCount, *this );
+}
- EditBrowseBoxTableCell::~EditBrowseBoxTableCell()
+EditBrowseBoxTableCell::~EditBrowseBoxTableCell()
+{
+ if ( !rBHelper.bDisposed )
{
- if ( !rBHelper.bDisposed )
- {
- acquire(); // to prevent duplicate dtor calls
- dispose();
- }
+ acquire(); // to prevent duplicate dtor calls
+ dispose();
}
+}
- OUString SAL_CALL EditBrowseBoxTableCell::getImplementationName()
- {
- return u"com.sun.star.comp.svtools.TableCellProxy"_ustr;
- }
+OUString SAL_CALL EditBrowseBoxTableCell::getImplementationName()
+{
+ return u"com.sun.star.comp.svtools.TableCellProxy"_ustr;
+}
- IMPLEMENT_FORWARD_XINTERFACE2( EditBrowseBoxTableCell, AccessibleBrowseBoxCell, OAccessibleContextWrapperHelper )
+IMPLEMENT_FORWARD_XINTERFACE2( EditBrowseBoxTableCell, AccessibleBrowseBoxCell, OAccessibleContextWrapperHelper )
- IMPLEMENT_FORWARD_XTYPEPROVIDER2( EditBrowseBoxTableCell, AccessibleBrowseBoxCell, OAccessibleContextWrapperHelper )
+IMPLEMENT_FORWARD_XTYPEPROVIDER2( EditBrowseBoxTableCell, AccessibleBrowseBoxCell, OAccessibleContextWrapperHelper )
- void EditBrowseBoxTableCell::notifyTranslatedEvent( const AccessibleEventObject& _rEvent )
- {
- commitEvent( _rEvent.EventId, _rEvent.NewValue, _rEvent.OldValue );
- }
+void EditBrowseBoxTableCell::notifyTranslatedEvent( const AccessibleEventObject& _rEvent )
+{
+ commitEvent( _rEvent.EventId, _rEvent.NewValue, _rEvent.OldValue );
+}
- // css::accessibility::XAccessibleComponent
- sal_Int32 SAL_CALL EditBrowseBoxTableCell::getForeground( )
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+// css::accessibility::XAccessibleComponent
+sal_Int32 SAL_CALL EditBrowseBoxTableCell::getForeground( )
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- css::uno::Reference< css::accessibility::XAccessibleComponent > xAccComp( m_xInnerContext, UNO_QUERY );
- if ( xAccComp.is() )
- return xAccComp->getForeground();
- return 0;
- }
+ css::uno::Reference< css::accessibility::XAccessibleComponent > xAccComp( m_xInnerContext, UNO_QUERY );
+ if ( xAccComp.is() )
+ return xAccComp->getForeground();
+ return 0;
+}
- sal_Int32 SAL_CALL EditBrowseBoxTableCell::getBackground( )
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+sal_Int32 SAL_CALL EditBrowseBoxTableCell::getBackground( )
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- css::uno::Reference< css::accessibility::XAccessibleComponent > xAccComp( m_xInnerContext, UNO_QUERY );
- if ( xAccComp.is() )
- return xAccComp->getBackground();
- return 0;
- }
+ css::uno::Reference< css::accessibility::XAccessibleComponent > xAccComp( m_xInnerContext, UNO_QUERY );
+ if ( xAccComp.is() )
+ return xAccComp->getBackground();
+ return 0;
+}
- css::uno::Reference< css::accessibility::XAccessible > SAL_CALL EditBrowseBoxTableCell::getAccessibleParent( )
- {
- return m_xParentAccessible;
- }
+css::uno::Reference< css::accessibility::XAccessible > SAL_CALL EditBrowseBoxTableCell::getAccessibleParent( )
+{
+ return m_xParentAccessible;
+}
- OUString SAL_CALL EditBrowseBoxTableCell::getAccessibleDescription()
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+OUString SAL_CALL EditBrowseBoxTableCell::getAccessibleDescription()
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return m_xInnerContext->getAccessibleDescription();
- }
+ return m_xInnerContext->getAccessibleDescription();
+}
- OUString SAL_CALL EditBrowseBoxTableCell::getAccessibleName()
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+OUString SAL_CALL EditBrowseBoxTableCell::getAccessibleName()
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return VclResId(RID_STR_ACC_COLUMN_NUM).replaceAll("%COLUMNNUMBER", OUString::number(getColumnPos()-1)) + ", "
- + VclResId(RID_STR_ACC_ROW_NUM).replaceAll("%ROWNUMBER", OUString::number(getRowPos()));
- }
+ return VclResId(RID_STR_ACC_COLUMN_NUM).replaceAll("%COLUMNNUMBER", OUString::number(getColumnPos()-1)) + ", "
+ + VclResId(RID_STR_ACC_ROW_NUM).replaceAll("%ROWNUMBER", OUString::number(getRowPos()));
+}
- css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL EditBrowseBoxTableCell::getAccessibleRelationSet()
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL EditBrowseBoxTableCell::getAccessibleRelationSet()
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return baseGetAccessibleRelationSet( );
- }
+ return baseGetAccessibleRelationSet( );
+}
- sal_Int64 SAL_CALL EditBrowseBoxTableCell::getAccessibleStateSet()
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+sal_Int64 SAL_CALL EditBrowseBoxTableCell::getAccessibleStateSet()
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return m_xInnerContext->getAccessibleStateSet();
- // TODO: shouldn't we add an ACTIVE here? Isn't the EditBrowseBoxTableCell always ACTIVE?
- }
+ return m_xInnerContext->getAccessibleStateSet();
+ // TODO: shouldn't we add an ACTIVE here? Isn't the EditBrowseBoxTableCell always ACTIVE?
+}
- sal_Int64 SAL_CALL EditBrowseBoxTableCell::getAccessibleChildCount( )
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+sal_Int64 SAL_CALL EditBrowseBoxTableCell::getAccessibleChildCount( )
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return baseGetAccessibleChildCount();
- }
+ return baseGetAccessibleChildCount();
+}
- css::uno::Reference< css::accessibility::XAccessible > SAL_CALL EditBrowseBoxTableCell::getAccessibleChild( sal_Int64 i )
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+css::uno::Reference< css::accessibility::XAccessible > SAL_CALL EditBrowseBoxTableCell::getAccessibleChild( sal_Int64 i )
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return baseGetAccessibleChild( i );
- }
+ return baseGetAccessibleChild( i );
+}
- sal_Int16 SAL_CALL EditBrowseBoxTableCell::getAccessibleRole()
- {
- SolarMethodGuard aGuard(getMutex());
- ensureIsAlive();
+sal_Int16 SAL_CALL EditBrowseBoxTableCell::getAccessibleRole()
+{
+ SolarMethodGuard aGuard(getMutex());
+ ensureIsAlive();
- return m_xInnerContext->getAccessibleRole( );
- }
+ return m_xInnerContext->getAccessibleRole( );
+}
- void SAL_CALL EditBrowseBoxTableCell::dispose()
- {
- // simply disambiguate. Note that the OComponentHelper base in AccessibleBrowseBoxCell
- // will call our "disposing()", which will call "dispose()" on the OAccessibleContextWrapperHelper
- // so there is no need to do this here.
- AccessibleBrowseBoxCell::dispose();
- }
+void SAL_CALL EditBrowseBoxTableCell::dispose()
+{
+ // simply disambiguate. Note that the OComponentHelper base in AccessibleBrowseBoxCell
+ // will call our "disposing()", which will call "dispose()" on the OAccessibleContextWrapperHelper
+ // so there is no need to do this here.
+ AccessibleBrowseBoxCell::dispose();
+}
- void SAL_CALL EditBrowseBoxTableCell::disposing( const css::lang::EventObject& _rSource )
- {
- AccessibleBrowseBoxCell::disposing( _rSource );
- OAccessibleContextWrapperHelper::disposing( _rSource );
- }
+void SAL_CALL EditBrowseBoxTableCell::disposing( const css::lang::EventObject& _rSource )
+{
+ AccessibleBrowseBoxCell::disposing( _rSource );
+ OAccessibleContextWrapperHelper::disposing( _rSource );
+}
- void SAL_CALL EditBrowseBoxTableCell::disposing()
- {
- SolarMethodGuard aGuard(getMutex());
+void SAL_CALL EditBrowseBoxTableCell::disposing()
+{
+ SolarMethodGuard aGuard(getMutex());
+
+ OAccessibleContextWrapperHelper::dispose();
+ // TODO: do we need to dispose our inner object? The base class does this, but is it a good idea?
+ AccessibleBrowseBoxCell::disposing();
+}
+
+// EditBrowseBoxTableCell
+EditBrowseBoxTableCellAccess::EditBrowseBoxTableCellAccess(
+ css::uno::Reference< css::accessibility::XAccessible > _xParent, css::uno::Reference< css::accessibility::XAccessible > _xControlAccessible,
+ css::uno::Reference< css::awt::XWindow > _xFocusWindow,
+ ::vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowPos, sal_uInt16 _nColPos )
+ :m_xParent(std::move( _xParent ))
+ ,m_xControlAccessible(std::move( _xControlAccessible ))
+ ,m_xFocusWindow(std::move( _xFocusWindow ))
+ ,m_pBrowseBox( &_rBrowseBox )
+ ,m_nRowPos( _nRowPos )
+ ,m_nColPos( _nColPos )
+{
+}
- OAccessibleContextWrapperHelper::dispose();
- // TODO: do we need to dispose our inner object? The base class does this, but is it a good idea?
- AccessibleBrowseBoxCell::disposing();
- }
+EditBrowseBoxTableCellAccess::~EditBrowseBoxTableCellAccess( )
+{
+}
- // EditBrowseBoxTableCell
- EditBrowseBoxTableCellAccess::EditBrowseBoxTableCellAccess(
- css::uno::Reference< css::accessibility::XAccessible > _xParent, css::uno::Reference< css::accessibility::XAccessible > _xControlAccessible,
- css::uno::Reference< css::awt::XWindow > _xFocusWindow,
- ::vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowPos, sal_uInt16 _nColPos )
- :m_xParent(std::move( _xParent ))
- ,m_xControlAccessible(std::move( _xControlAccessible ))
- ,m_xFocusWindow(std::move( _xFocusWindow ))
- ,m_pBrowseBox( &_rBrowseBox )
- ,m_nRowPos( _nRowPos )
- ,m_nColPos( _nColPos )
+css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL EditBrowseBoxTableCellAccess::getAccessibleContext( )
+{
+ if ( !m_pBrowseBox || !m_xControlAccessible.is() )
+ throw DisposedException();
+ css::uno::Reference< css::accessibility::XAccessibleContext > xMyContext( m_aContext );
+ if ( !xMyContext.is() )
{
- }
+ css::uno::Reference< css::accessibility::XAccessibleContext > xInnerContext = m_xControlAccessible->getAccessibleContext();
+ css::uno::Reference< css::accessibility::XAccessible > xMe( this );
- EditBrowseBoxTableCellAccess::~EditBrowseBoxTableCellAccess( )
- {
+ xMyContext = new EditBrowseBoxTableCell( xMe, m_xParent, xInnerContext, *m_pBrowseBox, m_xFocusWindow, m_nRowPos, m_nColPos );
+ m_aContext = xMyContext;
}
+ return xMyContext;
+}
- css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL EditBrowseBoxTableCellAccess::getAccessibleContext( )
+void EditBrowseBoxTableCellAccess::disposing(std::unique_lock<std::mutex>&)
+{
+ // dispose our context, if it still alive
+ css::uno::Reference< XComponent > xMyContext( m_aContext.get(), UNO_QUERY );
+ if ( xMyContext.is() )
{
- if ( !m_pBrowseBox || !m_xControlAccessible.is() )
- throw DisposedException();
- css::uno::Reference< css::accessibility::XAccessibleContext > xMyContext( m_aContext );
- if ( !xMyContext.is() )
+ try
{
- css::uno::Reference< css::accessibility::XAccessibleContext > xInnerContext = m_xControlAccessible->getAccessibleContext();
- css::uno::Reference< css::accessibility::XAccessible > xMe( this );
-
- xMyContext = new EditBrowseBoxTableCell( xMe, m_xParent, xInnerContext, *m_pBrowseBox, m_xFocusWindow, m_nRowPos, m_nColPos );
- m_aContext = xMyContext;
+ xMyContext->dispose();
}
- return xMyContext;
- }
-
- void EditBrowseBoxTableCellAccess::disposing(std::unique_lock<std::mutex>&)
- {
- // dispose our context, if it still alive
- css::uno::Reference< XComponent > xMyContext( m_aContext.get(), UNO_QUERY );
- if ( xMyContext.is() )
+ catch( const Exception& )
{
- try
- {
- xMyContext->dispose();
- }
- catch( const Exception& )
- {
- TOOLS_WARN_EXCEPTION( "accessibility", "EditBrowseBoxTableCellAccess::disposing: caught an exception while disposing the context!" );
- }
+ TOOLS_WARN_EXCEPTION( "accessibility", "EditBrowseBoxTableCellAccess::disposing: caught an exception while disposing the context!" );
}
-
- m_pBrowseBox = nullptr;
- m_xControlAccessible.clear();
- m_aContext.clear();
- // NO dispose of the inner object there: it is the css::accessibility::XAccessible of a window, and disposing
- // it would delete the respective VCL window
}
-} // namespace accessibility
+
+ m_pBrowseBox = nullptr;
+ m_xControlAccessible.clear();
+ m_aContext.clear();
+ // NO dispose of the inner object there: it is the css::accessibility::XAccessible of a window, and disposing
+ // it would delete the respective VCL window
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */