diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2015-12-15 17:22:39 +0100 |
---|---|---|
committer | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2015-12-17 08:27:55 +0000 |
commit | 7dd77a12713c0557c5826d3541e97ef6120e1d00 (patch) | |
tree | 7b6654d6cd90616e96256deb6e3933d80235b7c0 /accessibility/source | |
parent | 5b44a9733a79decc2eebfc2360fdd837349b5759 (diff) |
Remove unused ToolPanel (aka TaskPane)
Superseded by the Sidebar
Change-Id: I54970d71cd9d42de4f47b223e50dd9474b40632a
Reviewed-on: https://gerrit.libreoffice.org/20724
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'accessibility/source')
4 files changed, 0 insertions, 1173 deletions
diff --git a/accessibility/source/extended/AccessibleToolPanelDeck.cxx b/accessibility/source/extended/AccessibleToolPanelDeck.cxx deleted file mode 100644 index 863faa4dcaba..000000000000 --- a/accessibility/source/extended/AccessibleToolPanelDeck.cxx +++ /dev/null @@ -1,357 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "accessibility/extended/AccessibleToolPanelDeck.hxx" - -#include <com/sun/star/accessibility/AccessibleRole.hpp> -#include <com/sun/star/accessibility/AccessibleEventId.hpp> -#include <com/sun/star/accessibility/AccessibleStateType.hpp> -#include <com/sun/star/lang/DisposedException.hpp> - -#include <svtools/toolpanel/toolpaneldeck.hxx> -#include <toolkit/awt/vclxwindow.hxx> -#include <toolkit/helper/vclunohelper.hxx> -#include <vcl/svapp.hxx> -#include <osl/mutex.hxx> -#include <unotools/accessiblestatesethelper.hxx> -#include <tools/diagnose_ex.h> - -#include <boost/noncopyable.hpp> - - -namespace accessibility -{ - using ::com::sun::star::uno::Reference; - using ::com::sun::star::uno::XInterface; - using ::com::sun::star::uno::UNO_QUERY; - using ::com::sun::star::uno::UNO_QUERY_THROW; - using ::com::sun::star::uno::UNO_SET_THROW; - using ::com::sun::star::uno::Exception; - using ::com::sun::star::uno::RuntimeException; - using ::com::sun::star::uno::Any; - using ::com::sun::star::uno::makeAny; - using ::com::sun::star::uno::Sequence; - using ::com::sun::star::uno::Type; - using ::com::sun::star::accessibility::XAccessible; - using ::com::sun::star::accessibility::XAccessibleContext; - using ::com::sun::star::lang::DisposedException; - using ::com::sun::star::lang::IndexOutOfBoundsException; - using ::com::sun::star::lang::Locale; - using ::com::sun::star::accessibility::XAccessibleRelationSet; - using ::com::sun::star::accessibility::XAccessibleStateSet; - using ::com::sun::star::accessibility::IllegalAccessibleComponentStateException; - using ::com::sun::star::awt::XFont; - - namespace AccessibleRole = ::com::sun::star::accessibility::AccessibleRole; - namespace AccessibleEventId = ::com::sun::star::accessibility::AccessibleEventId; - namespace AccessibleStateType = ::com::sun::star::accessibility::AccessibleStateType; - - // AccessibleToolPanelDeck_Impl - declaration - class AccessibleToolPanelDeck_Impl :public ::boost::noncopyable - ,public ::svt::IToolPanelDeckListener - { - public: - AccessibleToolPanelDeck_Impl( - AccessibleToolPanelDeck& i_rAntiImpl, - const Reference< XAccessible >& i_rAccessibleParent, - ::svt::ToolPanelDeck& i_rPanelDeck - ); - - void checkDisposed(); - bool isDisposed() const { return m_pPanelDeck == nullptr; } - void dispose(); - - virtual ~AccessibleToolPanelDeck_Impl(); - - Reference< XAccessible > getOwnAccessible() const; - Reference< XAccessible > getActivePanelAccessible(); - - protected: - // IToolPanelDeckListener - virtual void PanelInserted( const ::svt::PToolPanel& i_pPanel, const size_t i_nPosition ) override; - virtual void PanelRemoved( const size_t i_nPosition ) override; - virtual void ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) override; - virtual void LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) override; - virtual void Dying() override; - - public: - AccessibleToolPanelDeck& m_rAntiImpl; - Reference< XAccessible > m_xAccessibleParent; - VclPtr< ::svt::ToolPanelDeck > m_pPanelDeck; - - Reference< XAccessible > m_xActivePanelAccessible; - }; - - // MethodGuard - namespace - { - class MethodGuard - { - public: - explicit MethodGuard( AccessibleToolPanelDeck_Impl& i_rImpl ) - :m_aGuard() - { - i_rImpl.checkDisposed(); - } - ~MethodGuard() - { - } - - private: - SolarMutexGuard m_aGuard; - }; - } - - // AccessibleToolPanelDeck_Impl - implementation - AccessibleToolPanelDeck_Impl::AccessibleToolPanelDeck_Impl( AccessibleToolPanelDeck& i_rAntiImpl, const Reference< XAccessible >& i_rAccessibleParent, - ::svt::ToolPanelDeck& i_rPanelDeck ) - :m_rAntiImpl( i_rAntiImpl ) - ,m_xAccessibleParent( i_rAccessibleParent ) - ,m_pPanelDeck( &i_rPanelDeck ) - ,m_xActivePanelAccessible() - { - m_pPanelDeck->AddListener( *this ); - } - - AccessibleToolPanelDeck_Impl::~AccessibleToolPanelDeck_Impl() - { - if ( !isDisposed() ) - dispose(); - } - - void AccessibleToolPanelDeck_Impl::dispose() - { - ENSURE_OR_RETURN_VOID( !isDisposed(), "disposed twice" ); - m_pPanelDeck->RemoveListener( *this ); - m_pPanelDeck.clear(); - m_xAccessibleParent.clear(); - } - - void AccessibleToolPanelDeck_Impl::checkDisposed() - { - if ( isDisposed() ) - throw DisposedException( OUString(), *&m_rAntiImpl ); - } - - Reference< XAccessible > AccessibleToolPanelDeck_Impl::getOwnAccessible() const - { - Reference< XAccessible > xOwnAccessible( static_cast< XAccessible* >( m_rAntiImpl.GetVCLXWindow() ) ); - OSL_ENSURE( xOwnAccessible->getAccessibleContext() == Reference< XAccessibleContext >( &m_rAntiImpl ), - "AccessibleToolPanelDeck_Impl::getOwnAccessible: could not retrieve proper XAccessible for /myself!" ); - return xOwnAccessible; - } - - Reference< XAccessible > AccessibleToolPanelDeck_Impl::getActivePanelAccessible() - { - ENSURE_OR_RETURN( !isDisposed(), "AccessibleToolPanelDeck_Impl::getActivePanelAccessible: already disposed!", nullptr ); - - if ( !m_xActivePanelAccessible.is() ) - { - ::boost::optional< size_t > aActivePanel( m_pPanelDeck->GetActivePanel() ); - ENSURE_OR_RETURN( !!aActivePanel, "AccessibleToolPanelDeck_Impl::getActivePanelAccessible: this should not be called without an active panel!", nullptr ); - ::svt::PToolPanel pActivePanel( m_pPanelDeck->GetPanel( *aActivePanel ) ); - ENSURE_OR_RETURN( pActivePanel.get() != nullptr, "AccessibleToolPanelDeck_Impl::getActivePanelAccessible: no active panel!", nullptr ); - m_xActivePanelAccessible = pActivePanel->CreatePanelAccessible( getOwnAccessible() ); - OSL_ENSURE( m_xActivePanelAccessible.is(), "AccessibleToolPanelDeck_Impl::getActivePanelAccessible: illegal accessible returned by the panel!" ); - } - - return m_xActivePanelAccessible; - } - - void AccessibleToolPanelDeck_Impl::PanelInserted( const ::svt::PToolPanel& i_pPanel, const size_t i_nPosition ) - { - (void)i_pPanel; - (void)i_nPosition; - } - - void AccessibleToolPanelDeck_Impl::PanelRemoved( const size_t i_nPosition ) - { - (void)i_nPosition; - } - - void AccessibleToolPanelDeck_Impl::ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) - { - if ( !!i_rOldActive ) - { - if ( !m_xActivePanelAccessible.is() ) - { - // again, this might in theory happen if the XAccessible for the active panel has never before been requested. - // In this case, just say that all our children are invalid, so they all must be re-requested. - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::INVALIDATE_ALL_CHILDREN, Any(), Any() ); - } - else - { - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::CHILD, makeAny( m_xActivePanelAccessible ), Any() ); - } - } - - m_xActivePanelAccessible.clear(); - - if ( !!i_rNewActive ) - { - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::CHILD, Any(), makeAny( getActivePanelAccessible() ) ); - } - } - - void AccessibleToolPanelDeck_Impl::LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) - { - MethodGuard aGuard( *this ); - - (void)i_rNewLayouter; - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::INVALIDATE_ALL_CHILDREN, Any(), Any() ); - } - - void AccessibleToolPanelDeck_Impl::Dying() - { - // the tool panel deck is dying, so dispose ourself - m_rAntiImpl.dispose(); - } - - // AccessibleToolPanelDeck - AccessibleToolPanelDeck::AccessibleToolPanelDeck( const Reference< XAccessible >& i_rAccessibleParent, - ::svt::ToolPanelDeck& i_rPanelDeck ) - :VCLXAccessibleComponent( i_rPanelDeck.GetWindowPeer() ) - ,m_xImpl( new AccessibleToolPanelDeck_Impl( *this, i_rAccessibleParent, i_rPanelDeck ) ) - { - } - - AccessibleToolPanelDeck::~AccessibleToolPanelDeck() - { - } - - sal_Int32 SAL_CALL AccessibleToolPanelDeck::getAccessibleChildCount( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - - sal_Int32 nChildCount( m_xImpl->m_pPanelDeck->GetLayouter()->GetAccessibleChildCount() ); - - ::boost::optional< size_t > aActivePanel( m_xImpl->m_pPanelDeck->GetActivePanel() ); - if ( !!aActivePanel ) - return ++nChildCount; - - return nChildCount; - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelDeck::getAccessibleChild( sal_Int32 i_nIndex ) throw (IndexOutOfBoundsException, RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - - const sal_Int32 nChildCount( getAccessibleChildCount() ); - if ( ( i_nIndex < 0 ) || ( i_nIndex >= nChildCount ) ) - throw IndexOutOfBoundsException( OUString(), *this ); - - // first "n" children are provided by the layouter - const size_t nLayouterCount( m_xImpl->m_pPanelDeck->GetLayouter()->GetAccessibleChildCount() ); - if ( size_t( i_nIndex ) < nLayouterCount ) - return m_xImpl->m_pPanelDeck->GetLayouter()->GetAccessibleChild( - size_t( i_nIndex ), - m_xImpl->getOwnAccessible() - ); - - // the last child is the XAccessible of the active panel - return m_xImpl->getActivePanelAccessible(); - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelDeck::getAccessibleParent( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - const Reference< XAccessible > xParent = implGetForeignControlledParent(); - if ( xParent.is() ) - return xParent; - return m_xImpl->m_xAccessibleParent; - } - - sal_Int16 SAL_CALL AccessibleToolPanelDeck::getAccessibleRole( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - return AccessibleRole::PANEL; - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelDeck::getAccessibleAtPoint( const css::awt::Point& i_rPoint ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - - const ::Point aRequestedPoint( VCLUnoHelper::ConvertToVCLPoint( i_rPoint ) ); - // check the panel window itself - const vcl::Window& rActivePanelAnchor( m_xImpl->m_pPanelDeck->GetPanelWindowAnchor() ); - const Rectangle aPanelAnchorArea( rActivePanelAnchor.GetPosPixel(), rActivePanelAnchor.GetOutputSizePixel() ); - if ( aPanelAnchorArea.IsInside( aRequestedPoint ) ) - // note that this assumes that the Window which actually implements the concrete panel covers - // the complete area of its "anchor" Window. But this is ensured by the ToolPanelDeck implementation. - return m_xImpl->getActivePanelAccessible(); - - // check the XAccessible instances provided by the layouter - try - { - const ::svt::PDeckLayouter pLayouter( m_xImpl->m_pPanelDeck->GetLayouter() ); - ENSURE_OR_THROW( pLayouter.get() != nullptr, "invalid layouter" ); - - const size_t nLayouterChildren = pLayouter->GetAccessibleChildCount(); - for ( size_t i=0; i<nLayouterChildren; ++i ) - { - const Reference< XAccessible > xLayoutItemAccessible( pLayouter->GetAccessibleChild( i, m_xImpl->getOwnAccessible() ), UNO_SET_THROW ); - const Reference< XAccessibleComponent > xLayoutItemComponent( xLayoutItemAccessible->getAccessibleContext(), UNO_QUERY_THROW ); - const ::Rectangle aLayoutItemBounds( VCLUnoHelper::ConvertToVCLRect( xLayoutItemComponent->getBounds() ) ); - if ( aLayoutItemBounds.IsInside( aRequestedPoint ) ) - return xLayoutItemAccessible; - } - } - catch( const Exception& ) - { - DBG_UNHANDLED_EXCEPTION(); - } - - return nullptr; - } - - void SAL_CALL AccessibleToolPanelDeck::grabFocus( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - m_xImpl->m_pPanelDeck->GrabFocus(); - } - - void SAL_CALL AccessibleToolPanelDeck::disposing() - { - VCLXAccessibleComponent::disposing(); - m_xImpl->dispose(); - } - - Reference< XAccessible > AccessibleToolPanelDeck::GetChildAccessible( const VclWindowEvent& i_rVclWindowEvent ) - { - // don't let the base class generate any A11Y events from VclWindowEvent, we completely manage those - // A11Y events ourself - (void)i_rVclWindowEvent; - return nullptr; - } - - void AccessibleToolPanelDeck::FillAccessibleStateSet( ::utl::AccessibleStateSetHelper& i_rStateSet ) - { - VCLXAccessibleComponent::FillAccessibleStateSet( i_rStateSet ); - if ( m_xImpl->isDisposed() ) - { - i_rStateSet.AddState( AccessibleStateType::DEFUNC ); - } - else - { - i_rStateSet.AddState( AccessibleStateType::FOCUSABLE ); - } - } -} // namespace accessibility - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx deleted file mode 100644 index a7a1a3b9b46b..000000000000 --- a/accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx +++ /dev/null @@ -1,398 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "accessibility/extended/AccessibleToolPanelDeckTabBar.hxx" -#include "accessibility/extended/AccessibleToolPanelDeckTabBarItem.hxx" -#include "accessibility/helper/accresmgr.hxx" -#include "accessibility/helper/accessiblestrings.hrc" - -#include <com/sun/star/accessibility/AccessibleRole.hpp> -#include <com/sun/star/accessibility/AccessibleEventId.hpp> -#include <com/sun/star/accessibility/AccessibleStateType.hpp> -#include <com/sun/star/lang/DisposedException.hpp> - -#include <cppuhelper/implbase.hxx> -#include <svtools/toolpanel/toolpaneldeck.hxx> -#include <svtools/toolpanel/paneltabbar.hxx> -#include <unotools/accessiblestatesethelper.hxx> -#include <toolkit/awt/vclxwindow.hxx> -#include <toolkit/helper/vclunohelper.hxx> -#include <vcl/svapp.hxx> -#include <vcl/button.hxx> -#include <osl/mutex.hxx> -#include <tools/diagnose_ex.h> -#include <boost/noncopyable.hpp> - -#include <vector> - -namespace accessibility -{ - using ::com::sun::star::uno::Reference; - using ::com::sun::star::uno::XInterface; - using ::com::sun::star::uno::UNO_QUERY; - using ::com::sun::star::uno::UNO_QUERY_THROW; - using ::com::sun::star::uno::UNO_SET_THROW; - using ::com::sun::star::uno::Exception; - using ::com::sun::star::uno::RuntimeException; - using ::com::sun::star::uno::Any; - using ::com::sun::star::uno::makeAny; - using ::com::sun::star::uno::Sequence; - using ::com::sun::star::uno::Type; - using ::com::sun::star::accessibility::XAccessible; - using ::com::sun::star::lang::DisposedException; - using ::com::sun::star::lang::IndexOutOfBoundsException; - using ::com::sun::star::accessibility::XAccessibleContext; - - namespace AccessibleRole = ::com::sun::star::accessibility::AccessibleRole; - namespace AccessibleEventId = ::com::sun::star::accessibility::AccessibleEventId; - namespace AccessibleStateType = ::com::sun::star::accessibility::AccessibleStateType; - - // AccessibleWrapper - typedef ::cppu::WeakImplHelper< XAccessible > AccessibleWrapper_Base; - class AccessibleWrapper : public AccessibleWrapper_Base - { - public: - explicit AccessibleWrapper( const Reference< XAccessibleContext >& i_rContext ) - :m_xContext( i_rContext ) - { - } - - // XAccessible - virtual Reference< XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (RuntimeException, std::exception) override - { - return m_xContext; - } - - private: - const Reference< XAccessibleContext > m_xContext; - }; - - // AccessibleToolPanelTabBar_Impl - class AccessibleToolPanelTabBar_Impl :public ::boost::noncopyable - ,public ::svt::IToolPanelDeckListener - { - public: - AccessibleToolPanelTabBar_Impl( - AccessibleToolPanelTabBar& i_rAntiImpl, - const Reference< XAccessible >& i_rAccessibleParent, - ::svt::IToolPanelDeck& i_rPanelDeck, - ::svt::PanelTabBar& i_rTabBar - ); - virtual ~AccessibleToolPanelTabBar_Impl(); - - void checkDisposed(); - bool isDisposed() const { return m_pPanelDeck == nullptr; } - void dispose(); - - ::svt::IToolPanelDeck* getPanelDeck() const { return m_pPanelDeck; } - ::svt::PanelTabBar* getTabBar() const { return m_pTabBar; } - const Reference< XAccessible >& getAccessibleParent() const { return m_xAccessibleParent; } - Reference< XAccessible > getAccessiblePanelItem( size_t i_nPosition ); - Reference< XAccessible > getOwnAccessible() const; - - protected: - // IToolPanelDeckListener - virtual void PanelInserted( const ::svt::PToolPanel& i_pPanel, const size_t i_nPosition ) override; - virtual void PanelRemoved( const size_t i_nPosition ) override; - virtual void ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) override; - virtual void LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) override; - virtual void Dying() override; - - DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void ); - - private: - AccessibleToolPanelTabBar& m_rAntiImpl; - Reference< XAccessible > m_xAccessibleParent; - ::svt::IToolPanelDeck* m_pPanelDeck; - VclPtr< ::svt::PanelTabBar > m_pTabBar; - ::std::vector< Reference< XAccessible > > m_aChildren; - }; - - AccessibleToolPanelTabBar_Impl::AccessibleToolPanelTabBar_Impl( AccessibleToolPanelTabBar& i_rAntiImpl, - const Reference< XAccessible >& i_rAccessibleParent, ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar ) - :m_rAntiImpl( i_rAntiImpl ) - ,m_xAccessibleParent( i_rAccessibleParent ) - ,m_pPanelDeck( &i_rPanelDeck ) - ,m_pTabBar( &i_rTabBar ) - ,m_aChildren() - { - m_pPanelDeck->AddListener( *this ); - m_aChildren.resize( m_pPanelDeck->GetPanelCount() ); - - const OUString sAccessibleDescription( TK_RES_STRING( RID_STR_ACC_DESC_PANELDECL_TABBAR ) ); - i_rTabBar.SetAccessibleName( sAccessibleDescription ); - i_rTabBar.SetAccessibleDescription( sAccessibleDescription ); - - i_rTabBar.GetScrollButton( true ).AddEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) ); - i_rTabBar.GetScrollButton( false ).AddEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) ); - } - - void AccessibleToolPanelTabBar_Impl::checkDisposed() - { - if ( isDisposed() ) - throw DisposedException( OUString(), *&m_rAntiImpl ); - } - - AccessibleToolPanelTabBar_Impl::~AccessibleToolPanelTabBar_Impl() - { - if ( !isDisposed() ) - dispose(); - } - - void AccessibleToolPanelTabBar_Impl::dispose() - { - ENSURE_OR_RETURN_VOID( !isDisposed(), "disposed twice" ); - m_pPanelDeck->RemoveListener( *this ); - m_pPanelDeck = nullptr; - - m_pTabBar->GetScrollButton( true ).RemoveEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) ); - m_pTabBar->GetScrollButton( false ).RemoveEventListener( LINK( this, AccessibleToolPanelTabBar_Impl, OnWindowEvent ) ); - m_pTabBar.clear(); - - m_xAccessibleParent.clear(); - } - - Reference< XAccessible > AccessibleToolPanelTabBar_Impl::getAccessiblePanelItem( size_t i_nPosition ) - { - ENSURE_OR_RETURN( !isDisposed(), "AccessibleToolPanelTabBar_Impl::getAccessiblePanelItem: already disposed!", nullptr ); - ENSURE_OR_RETURN( i_nPosition < m_aChildren.size(), "AccessibleToolPanelTabBar_Impl::getAccessiblePanelItem: invalid index!", nullptr ); - - Reference< XAccessible >& rAccessibleChild( m_aChildren[ i_nPosition ] ); - if ( !rAccessibleChild.is() ) - { - ::rtl::Reference< AccessibleToolPanelDeckTabBarItem > pAccesibleItemContext( new AccessibleToolPanelDeckTabBarItem( - getOwnAccessible(), *m_pPanelDeck, *m_pTabBar, i_nPosition ) ); - rAccessibleChild.set( new AccessibleWrapper( pAccesibleItemContext.get() ) ); - pAccesibleItemContext->lateInit( rAccessibleChild ); - } - return rAccessibleChild; - } - - Reference< XAccessible > AccessibleToolPanelTabBar_Impl::getOwnAccessible() const - { - Reference< XAccessible > xOwnAccessible( static_cast< XAccessible* >( m_rAntiImpl.GetVCLXWindow() ) ); - OSL_ENSURE( xOwnAccessible->getAccessibleContext() == Reference< XAccessibleContext >( &m_rAntiImpl ), - "AccessibleToolPanelTabBar_Impl::getOwnAccessible: could not retrieve proper XAccessible for /myself!" ); - return xOwnAccessible; - } - - void AccessibleToolPanelTabBar_Impl::PanelInserted( const ::svt::PToolPanel& i_pPanel, const size_t i_nPosition ) - { - ENSURE_OR_RETURN_VOID( i_nPosition <= m_aChildren.size(), "AccessibleToolPanelTabBar_Impl::PanelInserted: illegal position (or invalid cache!)" ); - (void)i_pPanel; - m_aChildren.insert( m_aChildren.begin() + i_nPosition, Reference< XAccessible >() ); - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::CHILD, Any(), makeAny( getAccessiblePanelItem( i_nPosition ) ) ); - } - - void AccessibleToolPanelTabBar_Impl::PanelRemoved( const size_t i_nPosition ) - { - ENSURE_OR_RETURN_VOID( i_nPosition < m_aChildren.size(), "AccessibleToolPanelTabBar_Impl::PanelInserted: illegal position (or invalid cache!)" ); - - const Reference< XAccessible > xOldChild( getAccessiblePanelItem( i_nPosition ) ); - m_aChildren.erase( m_aChildren.begin() + i_nPosition ); - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::CHILD, makeAny( xOldChild ), Any() ); - } - - void AccessibleToolPanelTabBar_Impl::ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) - { - (void)i_rOldActive; - (void)i_rNewActive; - } - - void AccessibleToolPanelTabBar_Impl::LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) - { - (void)i_rNewLayouter; - m_rAntiImpl.dispose(); - } - - void AccessibleToolPanelTabBar_Impl::Dying() - { - m_rAntiImpl.dispose(); - } - - IMPL_LINK_TYPED( AccessibleToolPanelTabBar_Impl, OnWindowEvent, VclWindowEvent&, rWindowEvent, void ) - { - ENSURE_OR_RETURN_VOID( !isDisposed(), "AccessibleToolPanelTabBar_Impl::OnWindowEvent: already disposed!" ); - - const bool bForwardButton = ( rWindowEvent.GetWindow() == &m_pTabBar->GetScrollButton( true ) ); - const bool bBackwardButton = ( rWindowEvent.GetWindow() == &m_pTabBar->GetScrollButton( false ) ); - ENSURE_OR_RETURN_VOID( bForwardButton || bBackwardButton, "AccessibleToolPanelTabBar_Impl::OnWindowEvent: where does this come from?" ); - - const bool bShow = ( rWindowEvent.GetId() == VCLEVENT_WINDOW_SHOW ); - const bool bHide = ( rWindowEvent.GetId() == VCLEVENT_WINDOW_HIDE ); - if ( !bShow && !bHide ) - // not interested in events other than visibility changes - return; - - const Reference< XAccessible > xButtonAccessible( m_pTabBar->GetScrollButton( bForwardButton ).GetAccessible() ); - const Any aOldChild( bHide ? xButtonAccessible : Reference< XAccessible >() ); - const Any aNewChild( bShow ? xButtonAccessible : Reference< XAccessible >() ); - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldChild, aNewChild ); - } - - // MethodGuard - namespace - { - class MethodGuard - { - public: - explicit MethodGuard( AccessibleToolPanelTabBar_Impl& i_rImpl ) - :m_aGuard() - { - i_rImpl.checkDisposed(); - } - ~MethodGuard() - { - } - - private: - SolarMutexGuard m_aGuard; - }; - } - - // AccessibleToolPanelTabBar - AccessibleToolPanelTabBar::AccessibleToolPanelTabBar( const Reference< XAccessible >& i_rAccessibleParent, - ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar ) - :VCLXAccessibleComponent( i_rTabBar.GetWindowPeer() ) - ,m_xImpl( new AccessibleToolPanelTabBar_Impl( *this, i_rAccessibleParent, i_rPanelDeck, i_rTabBar ) ) - { - } - - AccessibleToolPanelTabBar::~AccessibleToolPanelTabBar() - { - } - - sal_Int32 SAL_CALL AccessibleToolPanelTabBar::getAccessibleChildCount( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - - const bool bHasScrollBack = m_xImpl->getTabBar()->GetScrollButton( false ).IsVisible(); - const bool bHasScrollForward = m_xImpl->getTabBar()->GetScrollButton( true ).IsVisible(); - - return m_xImpl->getPanelDeck()->GetPanelCount() - + ( bHasScrollBack ? 1 : 0 ) - + ( bHasScrollForward ? 1 : 0 ); - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelTabBar::getAccessibleChild( sal_Int32 i_nIndex ) throw (IndexOutOfBoundsException, RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - - const bool bHasScrollBack = m_xImpl->getTabBar()->GetScrollButton( false ).IsVisible(); - const bool bHasScrollForward = m_xImpl->getTabBar()->GetScrollButton( true ).IsVisible(); - - const bool bScrollBackRequested = ( bHasScrollBack && ( i_nIndex == 0 ) ); - const bool bScrollForwardRequested = ( bHasScrollForward && ( i_nIndex == getAccessibleChildCount() - 1 ) ); - OSL_ENSURE( !( bScrollBackRequested && bScrollForwardRequested ), "AccessibleToolPanelTabBar::getAccessibleChild: ouch!" ); - - if ( bScrollBackRequested || bScrollForwardRequested ) - { - Reference< XAccessible > xScrollButtonAccessible( m_xImpl->getTabBar()->GetScrollButton( bScrollForwardRequested ).GetAccessible() ); - ENSURE_OR_RETURN( xScrollButtonAccessible.is(), "AccessibleToolPanelTabBar::getAccessibleChild: invalid button accessible!", nullptr ); - #if OSL_DEBUG_LEVEL > 0 - Reference< XAccessibleContext > xScrollButtonContext( xScrollButtonAccessible->getAccessibleContext() ); - ENSURE_OR_RETURN( xScrollButtonContext.is(), "AccessibleToolPanelTabBar::getAccessibleChild: invalid button accessible context!", xScrollButtonAccessible ); - OSL_ENSURE( xScrollButtonContext->getAccessibleParent() == m_xImpl->getOwnAccessible(), - "AccessibleToolPanelTabBar::getAccessibleChild: wrong parent at the button's accessible!" ); - #endif - return xScrollButtonAccessible; - } - - return m_xImpl->getAccessiblePanelItem( i_nIndex - ( bHasScrollBack ? 1 : 0 ) ); - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelTabBar::getAccessibleParent( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - return m_xImpl->getAccessibleParent(); - } - - sal_Int16 SAL_CALL AccessibleToolPanelTabBar::getAccessibleRole( ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - return AccessibleRole::PAGE_TAB_LIST; - } - - namespace - { - bool lcl_covers( const vcl::Window& i_rWindow, const ::Point& i_rPoint ) - { - const Rectangle aWindowBounds( i_rWindow.GetWindowExtentsRelative( i_rWindow.GetParent() ) ); - return aWindowBounds.IsInside( i_rPoint ); - } - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelTabBar::getAccessibleAtPoint( const css::awt::Point& i_rPoint ) throw (RuntimeException, std::exception) - { - MethodGuard aGuard( *m_xImpl ); - - // check the tab items - const css::awt::Point aOwnScreenPos( getLocationOnScreen() ); - const ::Point aRequestedScreenPoint( i_rPoint.X + aOwnScreenPos.X, i_rPoint.Y + aOwnScreenPos.Y ); - - for ( size_t i=0; i<m_xImpl->getPanelDeck()->GetPanelCount(); ++i ) - { - const ::Rectangle aItemScreenRect( m_xImpl->getTabBar()->GetItemScreenRect(i) ); - if ( aItemScreenRect.IsInside( aRequestedScreenPoint ) ) - return m_xImpl->getAccessiblePanelItem(i); - } - - // check the scroll buttons - const ::Point aRequestedClientPoint( VCLUnoHelper::ConvertToVCLPoint( i_rPoint ) ); - - const bool bHasScrollBack = m_xImpl->getTabBar()->GetScrollButton( false ).IsVisible(); - if ( bHasScrollBack && lcl_covers( m_xImpl->getTabBar()->GetScrollButton( false ), aRequestedClientPoint ) ) - return m_xImpl->getTabBar()->GetScrollButton( false ).GetAccessible(); - - const bool bHasScrollForward = m_xImpl->getTabBar()->GetScrollButton( true ).IsVisible(); - if ( bHasScrollForward && lcl_covers( m_xImpl->getTabBar()->GetScrollButton( true ), aRequestedClientPoint ) ) - return m_xImpl->getTabBar()->GetScrollButton( true ).GetAccessible(); - - // no hit - return nullptr; - } - - void SAL_CALL AccessibleToolPanelTabBar::disposing() - { - VCLXAccessibleComponent::disposing(); - m_xImpl->dispose(); - } - - Reference< XAccessible > AccessibleToolPanelTabBar::GetChildAccessible( const VclWindowEvent& i_rVclWindowEvent ) - { - // don't let the base class generate any A11Y events from VclWindowEvent, we completely manage those - // A11Y events ourself - (void)i_rVclWindowEvent; - return nullptr; - } - - void AccessibleToolPanelTabBar::FillAccessibleStateSet( ::utl::AccessibleStateSetHelper& i_rStateSet ) - { - VCLXAccessibleComponent::FillAccessibleStateSet( i_rStateSet ); - i_rStateSet.AddState( AccessibleStateType::FOCUSABLE ); - - ENSURE_OR_RETURN_VOID( !m_xImpl->isDisposed(), "AccessibleToolPanelTabBar::FillAccessibleStateSet: already disposed!" ); - if ( m_xImpl->getTabBar()->IsVertical() ) - i_rStateSet.AddState( AccessibleStateType::VERTICAL ); - else - i_rStateSet.AddState( AccessibleStateType::HORIZONTAL ); - } -} // namespace accessibility - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx b/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx deleted file mode 100644 index a64e97d4337e..000000000000 --- a/accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx +++ /dev/null @@ -1,391 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "accessibility/extended/AccessibleToolPanelDeckTabBarItem.hxx" - -#include <com/sun/star/accessibility/AccessibleRole.hpp> -#include <com/sun/star/accessibility/AccessibleStateType.hpp> -#include <com/sun/star/accessibility/AccessibleEventId.hpp> -#include <com/sun/star/lang/DisposedException.hpp> - -#include <svtools/toolpanel/toolpaneldeck.hxx> -#include <svtools/toolpanel/paneltabbar.hxx> -#include <unotools/accessiblestatesethelper.hxx> -#include <unotools/accessiblerelationsethelper.hxx> -#include <toolkit/helper/externallock.hxx> -#include <tools/diagnose_ex.h> -#include <vcl/svapp.hxx> -#include <osl/mutex.hxx> - -namespace accessibility -{ - using ::com::sun::star::uno::Reference; - using ::com::sun::star::uno::XInterface; - using ::com::sun::star::uno::UNO_QUERY; - using ::com::sun::star::uno::UNO_QUERY_THROW; - using ::com::sun::star::uno::UNO_SET_THROW; - using ::com::sun::star::uno::Exception; - using ::com::sun::star::uno::RuntimeException; - using ::com::sun::star::uno::Any; - using ::com::sun::star::uno::makeAny; - using ::com::sun::star::uno::Sequence; - using ::com::sun::star::uno::Type; - using ::com::sun::star::accessibility::XAccessible; - using ::com::sun::star::lang::DisposedException; - using ::com::sun::star::lang::IndexOutOfBoundsException; - using ::com::sun::star::accessibility::XAccessibleRelationSet; - using ::com::sun::star::accessibility::XAccessibleStateSet; - using ::com::sun::star::accessibility::XAccessibleComponent; - using ::com::sun::star::accessibility::XAccessibleExtendedComponent; - using ::com::sun::star::awt::XFont; - - namespace AccessibleRole = ::com::sun::star::accessibility::AccessibleRole; - namespace AccessibleStateType = ::com::sun::star::accessibility::AccessibleStateType; - namespace AccessibleEventId = ::com::sun::star::accessibility::AccessibleEventId; - - // AccessibleToolPanelDeckTabBarItem_Impl - class AccessibleToolPanelDeckTabBarItem_Impl : public ::svt::IToolPanelDeckListener - { - public: - AccessibleToolPanelDeckTabBarItem_Impl( - AccessibleToolPanelDeckTabBarItem& i_rAntiImpl, - const Reference< XAccessible >& i_rAccessibleParent, - ::svt::IToolPanelDeck& i_rPanelDeck, - ::svt::PanelTabBar& i_rTabBar, - const size_t i_nItemPos - ); - virtual ~AccessibleToolPanelDeckTabBarItem_Impl(); - - ::svt::PanelTabBar* getTabBar() const { return m_pTabBar; } - - // IToolPanelDeckListener - virtual void PanelInserted( const ::svt::PToolPanel& i_pPanel, const size_t i_nPosition ) override; - virtual void PanelRemoved( const size_t i_nPosition ) override; - virtual void ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) override; - virtual void LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) override; - virtual void Dying() override; - - public: - bool isDisposed() const { return m_pPanelDeck == nullptr; } - void checkDisposed() const; - void dispose(); - - const Reference< XAccessible >& - getAccessibleParent() const { return m_xAccessibleParent; } - size_t getItemPos() const { return m_nItemPos; } - - Reference< XAccessibleComponent > getParentAccessibleComponent() const; - ::svt::IToolPanelDeck* getPanelDeck() const { return m_pPanelDeck; } - OUString getPanelDisplayName(); - - private: - void impl_notifyBoundRectChanges(); - void impl_notifyStateChange( const sal_Int16 i_nLostState, const sal_Int16 i_nGainedState ); - - private: - AccessibleToolPanelDeckTabBarItem& m_rAntiImpl; - Reference< XAccessible > m_xAccessibleParent; - ::svt::IToolPanelDeck* m_pPanelDeck; - VclPtr< ::svt::PanelTabBar > m_pTabBar; - size_t m_nItemPos; - }; - - // AccessibleToolPanelDeckTabBarItem_Impl - AccessibleToolPanelDeckTabBarItem_Impl::AccessibleToolPanelDeckTabBarItem_Impl( AccessibleToolPanelDeckTabBarItem& i_rAntiImpl, - const Reference< XAccessible >& i_rAccessibleParent, ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar, - const size_t i_nItemPos ) - :m_rAntiImpl( i_rAntiImpl ) - ,m_xAccessibleParent( i_rAccessibleParent ) - ,m_pPanelDeck( &i_rPanelDeck ) - ,m_pTabBar( &i_rTabBar ) - ,m_nItemPos( i_nItemPos ) - { - m_pPanelDeck->AddListener( *this ); - } - - AccessibleToolPanelDeckTabBarItem_Impl::~AccessibleToolPanelDeckTabBarItem_Impl() - { - } - - void AccessibleToolPanelDeckTabBarItem_Impl::checkDisposed() const - { - if ( isDisposed() ) - throw DisposedException( OUString(), *&m_rAntiImpl ); - } - - void AccessibleToolPanelDeckTabBarItem_Impl::dispose() - { - ENSURE_OR_RETURN_VOID( !isDisposed(), "AccessibleToolPanelDeckTabBarItem_Impl::dispose: disposed twice!" ); - - m_xAccessibleParent.clear(); - m_pPanelDeck->RemoveListener( *this ); - m_pPanelDeck = nullptr; - m_pTabBar.clear(); - } - - Reference< XAccessibleComponent > AccessibleToolPanelDeckTabBarItem_Impl::getParentAccessibleComponent() const - { - Reference< XAccessible > xAccessibleParent( m_rAntiImpl.getAccessibleParent(), UNO_QUERY_THROW ); - return Reference< XAccessibleComponent >( xAccessibleParent->getAccessibleContext(), UNO_QUERY ); - } - - OUString AccessibleToolPanelDeckTabBarItem_Impl::getPanelDisplayName() - { - const ::svt::PToolPanel pPanel( m_pPanelDeck->GetPanel( getItemPos() ) ); - if ( pPanel.get() == nullptr ) - throw DisposedException(); - return pPanel->GetDisplayName(); - } - - void AccessibleToolPanelDeckTabBarItem_Impl::impl_notifyBoundRectChanges() - { - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::BOUNDRECT_CHANGED, Any(), Any() ); - } - - void AccessibleToolPanelDeckTabBarItem_Impl::impl_notifyStateChange( const sal_Int16 i_nLostState, const sal_Int16 i_nGainedState ) - { - m_rAntiImpl.NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, - i_nLostState > -1 ? makeAny( i_nLostState ) : Any(), - i_nGainedState > -1 ? makeAny( i_nGainedState ) : Any() - ); - } - - void AccessibleToolPanelDeckTabBarItem_Impl::PanelInserted( const ::svt::PToolPanel& i_pPanel, const size_t i_nPosition ) - { - (void)i_pPanel; - if ( i_nPosition <= m_nItemPos ) - ++m_nItemPos; - impl_notifyBoundRectChanges(); - } - - void AccessibleToolPanelDeckTabBarItem_Impl::PanelRemoved( const size_t i_nPosition ) - { - if ( i_nPosition == m_nItemPos ) - { - m_rAntiImpl.dispose(); - } - else if ( i_nPosition < m_nItemPos ) - { - --m_nItemPos; - impl_notifyBoundRectChanges(); - } - } - - void AccessibleToolPanelDeckTabBarItem_Impl::ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) - { - if ( m_nItemPos == i_rOldActive ) - { - impl_notifyStateChange( AccessibleStateType::ACTIVE, -1 ); - impl_notifyStateChange( AccessibleStateType::SELECTED, -1 ); - } - else if ( m_nItemPos == i_rNewActive ) - { - impl_notifyStateChange( -1, AccessibleStateType::ACTIVE ); - impl_notifyStateChange( -1, AccessibleStateType::SELECTED ); - } - } - - void AccessibleToolPanelDeckTabBarItem_Impl::LayouterChanged( const ::svt::PDeckLayouter& i_rNewLayouter ) - { - (void)i_rNewLayouter; - // if the tool panel deck has a new layouter, then the old layouter, and thus all items it was - // responsible for, died. So do we. - dispose(); - } - - void AccessibleToolPanelDeckTabBarItem_Impl::Dying() - { - // if the tool panel deck is dying, then its layouter dies, so should we. - dispose(); - } - - class ItemMethodGuard - { - public: - explicit ItemMethodGuard( AccessibleToolPanelDeckTabBarItem_Impl& i_rImpl ) - :m_aGuard() - { - i_rImpl.checkDisposed(); - } - ~ItemMethodGuard() - { - } - - private: - SolarMutexGuard m_aGuard; - }; - - AccessibleToolPanelDeckTabBarItem::AccessibleToolPanelDeckTabBarItem( const Reference< XAccessible >& i_rAccessibleParent, - ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar, const size_t i_nItemPos ) - : ::comphelper::OAccessibleExtendedComponentHelper( - new VCLExternalSolarLock) - , m_xImpl(new AccessibleToolPanelDeckTabBarItem_Impl(*this, - i_rAccessibleParent, i_rPanelDeck, i_rTabBar, i_nItemPos)) - { - } - - AccessibleToolPanelDeckTabBarItem::~AccessibleToolPanelDeckTabBarItem() - { - } - - sal_Int32 SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleChildCount( ) throw (RuntimeException, std::exception) - { - return 0; - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleChild( sal_Int32 i ) throw (IndexOutOfBoundsException, RuntimeException, std::exception) - { - (void)i; - throw IndexOutOfBoundsException( OUString(), *this ); - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleParent( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - return m_xImpl->getAccessibleParent(); - } - - sal_Int16 SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleRole( ) throw (RuntimeException, std::exception) - { - return AccessibleRole::PAGE_TAB; - } - - OUString SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleDescription( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - return m_xImpl->getPanelDisplayName(); - } - - OUString SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleName( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - return m_xImpl->getPanelDisplayName(); - } - - Reference< XAccessibleRelationSet > SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleRelationSet( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - ::utl::AccessibleRelationSetHelper* pRelationSet = new utl::AccessibleRelationSetHelper; - return pRelationSet; - } - - Reference< XAccessibleStateSet > SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleStateSet( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - - ::utl::AccessibleStateSetHelper* pStateSet( new ::utl::AccessibleStateSetHelper ); - pStateSet->AddState( AccessibleStateType::FOCUSABLE ); - pStateSet->AddState( AccessibleStateType::SELECTABLE ); - pStateSet->AddState( AccessibleStateType::ICONIFIED ); - - if ( m_xImpl->getItemPos() == m_xImpl->getPanelDeck()->GetActivePanel() ) - { - pStateSet->AddState( AccessibleStateType::ACTIVE ); - pStateSet->AddState( AccessibleStateType::SELECTED ); - } - - if ( m_xImpl->getItemPos() == m_xImpl->getTabBar()->GetFocusedPanelItem() ) - pStateSet->AddState( AccessibleStateType::FOCUSED ); - - if ( m_xImpl->getTabBar()->IsEnabled() ) - pStateSet->AddState( AccessibleStateType::ENABLED ); - - if ( m_xImpl->getTabBar()->IsVisible() ) - { - pStateSet->AddState( AccessibleStateType::SHOWING ); - pStateSet->AddState( AccessibleStateType::VISIBLE ); - } - - return pStateSet; - } - - Reference< XAccessible > SAL_CALL AccessibleToolPanelDeckTabBarItem::getAccessibleAtPoint( const css::awt::Point& i_rLocation ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - // we do not have children ... - (void)i_rLocation; - return nullptr; - } - - void SAL_CALL AccessibleToolPanelDeckTabBarItem::grabFocus( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - m_xImpl->getTabBar()->FocusPanelItem( m_xImpl->getItemPos() ); - } - - ::sal_Int32 SAL_CALL AccessibleToolPanelDeckTabBarItem::getForeground( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - Reference< XAccessibleComponent > xParentComponent( m_xImpl->getParentAccessibleComponent(), UNO_SET_THROW ); - return xParentComponent->getForeground(); - } - - ::sal_Int32 SAL_CALL AccessibleToolPanelDeckTabBarItem::getBackground( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - Reference< XAccessibleComponent > xParentComponent( m_xImpl->getParentAccessibleComponent(), UNO_SET_THROW ); - return xParentComponent->getBackground(); - } - - Reference< XFont > SAL_CALL AccessibleToolPanelDeckTabBarItem::getFont( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - Reference< XAccessibleExtendedComponent > xParentComponent( m_xImpl->getParentAccessibleComponent(), UNO_QUERY_THROW ); - // TODO: strictly, this is not correct: The TabBar implementation of the TabLayouter might use - // a different font ... - return xParentComponent->getFont(); - } - - OUString SAL_CALL AccessibleToolPanelDeckTabBarItem::getTitledBorderText( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - // no support - return OUString(); - } - - OUString SAL_CALL AccessibleToolPanelDeckTabBarItem::getToolTipText( ) throw (RuntimeException, std::exception) - { - ItemMethodGuard aGuard( *m_xImpl ); - return m_xImpl->getPanelDisplayName(); - } - - css::awt::Rectangle AccessibleToolPanelDeckTabBarItem::implGetBounds() throw (RuntimeException) - { - ItemMethodGuard aGuard( *m_xImpl ); - - const ::Rectangle aItemScreenRect( m_xImpl->getTabBar()->GetItemScreenRect( m_xImpl->getItemPos() ) ); - - Reference< XAccessibleComponent > xParentComponent( m_xImpl->getParentAccessibleComponent(), UNO_SET_THROW ); - const css::awt::Point aParentLocation( xParentComponent->getLocationOnScreen() ); - return css::awt::Rectangle( - aItemScreenRect.Left() - aParentLocation.X, - aItemScreenRect.Top() - aParentLocation.Y, - aItemScreenRect.GetWidth(), - aItemScreenRect.GetHeight() - ); - } - - void SAL_CALL AccessibleToolPanelDeckTabBarItem::disposing() - { - ItemMethodGuard aGuard( *m_xImpl ); - m_xImpl->dispose(); - } -} // namespace accessibility - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/source/helper/acc_factory.cxx b/accessibility/source/helper/acc_factory.cxx index 450096a26b4f..45587c9ccae5 100644 --- a/accessibility/source/helper/acc_factory.cxx +++ b/accessibility/source/helper/acc_factory.cxx @@ -53,9 +53,6 @@ #include <accessibility/extended/AccessibleBrowseBoxHeaderCell.hxx> #include <accessibility/extended/AccessibleBrowseBoxCheckBoxCell.hxx> #include <accessibility/extended/accessibleeditbrowseboxcell.hxx> -#include <accessibility/extended/AccessibleToolPanelDeck.hxx> -#include <accessibility/extended/AccessibleToolPanelDeckTabBar.hxx> -#include <accessibility/extended/AccessibleToolPanelDeckTabBarItem.hxx> #include <vcl/lstbox.hxx> #include <vcl/combobox.hxx> #include <accessibility/extended/AccessibleGridControl.hxx> @@ -203,18 +200,6 @@ public: sal_uInt16 _nColPos ) const override; - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleToolPanelDeck( - const css::uno::Reference< css::accessibility::XAccessible >& i_rAccessibleParent, - ::svt::ToolPanelDeck& i_rPanelDeck - ) override; - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleToolPanelTabBar( - const css::uno::Reference< css::accessibility::XAccessible >& i_rAccessibleParent, - ::svt::IToolPanelDeck& i_rPanelDeck, - ::svt::PanelTabBar& i_rTabBar - ) override; - protected: virtual ~AccessibleFactory(); }; @@ -458,18 +443,6 @@ Reference< XAccessible > AccessibleFactory::createEditBrowseBoxTableCellAccess( _rxFocusWindow, _rBrowseBox, _nRowPos, _nColPos ); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleToolPanelDeck( - const Reference< XAccessible >& i_rAccessibleParent, ::svt::ToolPanelDeck& i_rPanelDeck ) -{ - return new AccessibleToolPanelDeck( i_rAccessibleParent, i_rPanelDeck ); -} - -Reference< XAccessibleContext > AccessibleFactory::createAccessibleToolPanelTabBar( - const Reference< XAccessible >& i_rAccessibleParent, ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar ) -{ - return new AccessibleToolPanelTabBar( i_rAccessibleParent, i_rPanelDeck, i_rTabBar ); -} - } // anonymous namespace #if HAVE_FEATURE_DESKTOP |