summaryrefslogtreecommitdiff
path: root/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx')
-rw-r--r--accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx424
1 files changed, 0 insertions, 424 deletions
diff --git a/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx b/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx
deleted file mode 100644
index 55aa3a407..000000000
--- a/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx
+++ /dev/null
@@ -1,424 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_accessibility.hxx"
-
-
-#include "accessibility/extended/AccessibleBrowseBoxHeaderBar.hxx"
-#include <svtools/accessibletableprovider.hxx>
-#include <comphelper/servicehelper.hxx>
-
-// ============================================================================
-
-using ::rtl::OUString;
-
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::uno::Any;
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::accessibility;
-using namespace ::svt;
-
-// ============================================================================
-
-namespace accessibility {
-
-// ============================================================================
-
-// Ctor/Dtor/disposing --------------------------------------------------------
-
-DBG_NAME( AccessibleBrowseBoxHeaderBar )
-
-AccessibleBrowseBoxHeaderBar::AccessibleBrowseBoxHeaderBar(
- const Reference< XAccessible >& rxParent,
- IAccessibleTableProvider& rBrowseBox,
- AccessibleBrowseBoxObjType eObjType ) :
- AccessibleBrowseBoxTableBase( rxParent, rBrowseBox,eObjType )
-{
- DBG_CTOR( AccessibleBrowseBoxHeaderBar, NULL );
-
- DBG_ASSERT( isRowBar() || isColumnBar(),
- "accessibility/extended/AccessibleBrowseBoxHeaderBar - invalid object type" );
-}
-
-AccessibleBrowseBoxHeaderBar::~AccessibleBrowseBoxHeaderBar()
-{
- DBG_DTOR( AccessibleBrowseBoxHeaderBar, NULL );
-}
-
-// XAccessibleContext ---------------------------------------------------------
-
-Reference< XAccessible > SAL_CALL
-AccessibleBrowseBoxHeaderBar::getAccessibleChild( sal_Int32 nChildIndex )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidHeaderIndex( nChildIndex );
- return implGetChild( nChildIndex, implToVCLColumnPos( nChildIndex ) );
-}
-
-sal_Int32 SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleIndexInParent()
- throw ( uno::RuntimeException )
-{
- return isRowBar() ? BBINDEX_ROWHEADERBAR : BBINDEX_COLUMNHEADERBAR;
-}
-
-// XAccessibleComponent -------------------------------------------------------
-
-Reference< XAccessible > SAL_CALL
-AccessibleBrowseBoxHeaderBar::getAccessibleAtPoint( const awt::Point& rPoint )
- throw ( uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
-
- sal_Int32 nRow = 0;
- sal_uInt16 nColumnPos = 0;
- sal_Bool bConverted = isRowBar() ?
- mpBrowseBox->ConvertPointToRowHeader( nRow, VCLPoint( rPoint ) ) :
- mpBrowseBox->ConvertPointToColumnHeader( nColumnPos, VCLPoint( rPoint ) );
-
- return bConverted ? implGetChild( nRow, nColumnPos ) : Reference< XAccessible >();
-}
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::grabFocus()
- throw ( uno::RuntimeException )
-{
- ensureIsAlive();
- // focus on header not supported
-}
-
-Any SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleKeyBinding()
- throw ( uno::RuntimeException )
-{
- ensureIsAlive();
- return Any(); // no special key bindings for header
-}
-
-// XAccessibleTable -----------------------------------------------------------
-
-OUString SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleRowDescription( sal_Int32 nRow )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidRow( nRow );
- return OUString(); // no headers in headers
-}
-
-OUString SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleColumnDescription( sal_Int32 nColumn )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidColumn( nColumn );
- return OUString(); // no headers in headers
-}
-
-Reference< XAccessibleTable > SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleRowHeaders()
- throw ( uno::RuntimeException )
-{
- ensureIsAlive();
- return NULL; // no headers in headers
-}
-
-Reference< XAccessibleTable > SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleColumnHeaders()
- throw ( uno::RuntimeException )
-{
- ensureIsAlive();
- return NULL; // no headers in headers
-}
-
-Sequence< sal_Int32 > SAL_CALL AccessibleBrowseBoxHeaderBar::getSelectedAccessibleRows()
- throw ( uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
-
- Sequence< sal_Int32 > aSelSeq;
- // row of column header bar not selectable
- if( isRowBar() )
- implGetSelectedRows( aSelSeq );
- return aSelSeq;
-}
-
-Sequence< sal_Int32 > SAL_CALL AccessibleBrowseBoxHeaderBar::getSelectedAccessibleColumns()
- throw ( uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
-
- Sequence< sal_Int32 > aSelSeq;
- // column of row header bar ("handle column") not selectable
- if( isColumnBar() )
- implGetSelectedColumns( aSelSeq );
- return aSelSeq;
-}
-
-sal_Bool SAL_CALL AccessibleBrowseBoxHeaderBar::isAccessibleRowSelected( sal_Int32 nRow )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidRow( nRow );
- return isRowBar() ? implIsRowSelected( nRow ) : sal_False;
-}
-
-sal_Bool SAL_CALL AccessibleBrowseBoxHeaderBar::isAccessibleColumnSelected( sal_Int32 nColumn )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidColumn( nColumn );
- return isColumnBar() ? implIsColumnSelected( nColumn ) : sal_False;
-}
-
-Reference< XAccessible > SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleCellAt(
- sal_Int32 nRow, sal_Int32 nColumn )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidAddress( nRow, nColumn );
- return implGetChild( nRow, implToVCLColumnPos( nColumn ) );
-}
-
-sal_Bool SAL_CALL AccessibleBrowseBoxHeaderBar::isAccessibleSelected(
- sal_Int32 nRow, sal_Int32 nColumn )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidAddress( nRow, nColumn );
- return isRowBar() ? implIsRowSelected( nRow ) : implIsColumnSelected( nColumn );
-}
-
-// XAccessibleSelection -------------------------------------------------------
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::selectAccessibleChild( sal_Int32 nChildIndex )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- ensureIsValidHeaderIndex( nChildIndex );
- if( isRowBar() )
- implSelectRow( nChildIndex, sal_True );
- else
- implSelectColumn( implToVCLColumnPos( nChildIndex ), sal_True );
-}
-
-sal_Bool SAL_CALL AccessibleBrowseBoxHeaderBar::isAccessibleChildSelected( sal_Int32 nChildIndex )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- // using interface methods - no mutex
- return isRowBar() ?
- isAccessibleRowSelected( nChildIndex ) :
- isAccessibleColumnSelected( nChildIndex );
-}
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::clearAccessibleSelection()
- throw ( uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- mpBrowseBox->SetNoSelection();
-}
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::selectAllAccessibleChildren()
- throw ( uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- // no multiselection of columns possible
- if( isRowBar() )
- mpBrowseBox->SelectAll();
- else
- implSelectColumn( implToVCLColumnPos( 0 ), sal_True );
-}
-
-sal_Int32 SAL_CALL AccessibleBrowseBoxHeaderBar::getSelectedAccessibleChildCount()
- throw ( uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
- return isRowBar() ? implGetSelectedRowCount() : implGetSelectedColumnCount();
-}
-
-Reference< XAccessible > SAL_CALL
-AccessibleBrowseBoxHeaderBar::getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
-
- // method may throw lang::IndexOutOfBoundsException
- sal_Int32 nIndex = implGetChildIndexFromSelectedIndex( nSelectedChildIndex );
- return implGetChild( nIndex, implToVCLColumnPos( nIndex ) );
-}
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::deselectAccessibleChild(
- sal_Int32 nSelectedChildIndex )
- throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
-{
- SolarMutexGuard aSolarGuard;
- ::osl::MutexGuard aGuard( getOslMutex() );
- ensureIsAlive();
-
- // method may throw lang::IndexOutOfBoundsException
- if ( isAccessibleChildSelected(nSelectedChildIndex) )
- {
- if( isRowBar() )
- implSelectRow( nSelectedChildIndex, sal_False );
- else
- implSelectColumn( implToVCLColumnPos( nSelectedChildIndex ), sal_False );
- }
-}
-
-// XInterface -----------------------------------------------------------------
-
-Any SAL_CALL AccessibleBrowseBoxHeaderBar::queryInterface( const uno::Type& rType )
- throw ( uno::RuntimeException )
-{
- Any aAny( AccessibleBrowseBoxTableBase::queryInterface( rType ) );
- return aAny.hasValue() ?
- aAny : AccessibleBrowseBoxHeaderBarImplHelper::queryInterface( rType );
-}
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::acquire() throw ()
-{
- AccessibleBrowseBoxTableBase::acquire();
-}
-
-void SAL_CALL AccessibleBrowseBoxHeaderBar::release() throw ()
-{
- AccessibleBrowseBoxTableBase::release();
-}
-
-// XServiceInfo ---------------------------------------------------------------
-
-OUString SAL_CALL AccessibleBrowseBoxHeaderBar::getImplementationName()
- throw ( uno::RuntimeException )
-{
- return OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar" ) );
-}
-
-namespace
-{
- class theAccessibleBrowseBoxHeaderBarImplementationId : public rtl::Static< UnoTunnelIdInit, theAccessibleBrowseBoxHeaderBarImplementationId > {};
-}
-
-Sequence< sal_Int8 > SAL_CALL AccessibleBrowseBoxHeaderBar::getImplementationId()
- throw ( uno::RuntimeException )
-{
- return theAccessibleBrowseBoxHeaderBarImplementationId::get().getSeq();
-}
-
-// internal virtual methods ---------------------------------------------------
-
-Rectangle AccessibleBrowseBoxHeaderBar::implGetBoundingBox()
-{
- return mpBrowseBox->calcHeaderRect(isColumnBar(),sal_False);
-}
-
-Rectangle AccessibleBrowseBoxHeaderBar::implGetBoundingBoxOnScreen()
-{
- return mpBrowseBox->calcHeaderRect(isColumnBar(),sal_True);
-}
-
-sal_Int32 AccessibleBrowseBoxHeaderBar::implGetRowCount() const
-{
- // column header bar: only 1 row
- return isRowBar() ? AccessibleBrowseBoxTableBase::implGetRowCount() : 1;
-}
-
-sal_Int32 AccessibleBrowseBoxHeaderBar::implGetColumnCount() const
-{
- // row header bar ("handle column"): only 1 column
- return isColumnBar() ? AccessibleBrowseBoxTableBase::implGetColumnCount() : 1;
-}
-
-// internal helper methods ----------------------------------------------------
-
-Reference< XAccessible > AccessibleBrowseBoxHeaderBar::implGetChild(
- sal_Int32 nRow, sal_uInt16 nColumnPos )
-{
- return isRowBar() ?
- mpBrowseBox->CreateAccessibleRowHeader( nRow ) :
- mpBrowseBox->CreateAccessibleColumnHeader( nColumnPos );
-}
-
-sal_Int32 AccessibleBrowseBoxHeaderBar::implGetChildIndexFromSelectedIndex(
- sal_Int32 nSelectedChildIndex )
- throw ( lang::IndexOutOfBoundsException )
-{
- Sequence< sal_Int32 > aSelSeq;
- if( isRowBar() )
- implGetSelectedRows( aSelSeq );
- else
- implGetSelectedColumns( aSelSeq );
-
- if( (nSelectedChildIndex < 0) || (nSelectedChildIndex >= aSelSeq.getLength()) )
- throw lang::IndexOutOfBoundsException();
-
- return aSelSeq[ nSelectedChildIndex ];
-}
-
-void AccessibleBrowseBoxHeaderBar::ensureIsValidHeaderIndex( sal_Int32 nIndex )
- throw ( lang::IndexOutOfBoundsException )
-{
- if( isRowBar() )
- ensureIsValidRow( nIndex );
- else
- ensureIsValidColumn( nIndex );
-}
-
-// ============================================================================
-
-} // namespace accessibility
-
-// ============================================================================
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */