diff options
Diffstat (limited to 'accessibility/inc/accessibility/extended')
29 files changed, 0 insertions, 5447 deletions
diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBox.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBox.hxx deleted file mode 100644 index 927b77aebb0c..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBox.hxx +++ /dev/null @@ -1,289 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOX_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOX_HXX - -#include <accessibility/extended/AccessibleBrowseBoxBase.hxx> -#include <cppuhelper/implbase.hxx> -#include <cppuhelper/weakref.hxx> -#include <svtools/accessibletableprovider.hxx> -#include <memory> - -namespace accessibility { - - class AccessibleBrowseBoxImpl; - class AccessibleBrowseBoxTable; - - -/** This class represents the complete accessible BrowseBox object. */ -class AccessibleBrowseBox : public AccessibleBrowseBoxBase -{ - friend class AccessibleBrowseBoxAccess; - -protected: - AccessibleBrowseBox( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - const css::uno::Reference< css::accessibility::XAccessible >& _rxCreator, - ::svt::IAccessibleTableProvider& _rBrowseBox - ); - - virtual ~AccessibleBrowseBox(); - - /** sets the XAccessible which created the context - - To be called only once, and only if in the ctor NULL was passed. - */ - void setCreator( - const css::uno::Reference< css::accessibility::XAccessible >& _rxCreator - ); - - /** Cleans up members. */ - using AccessibleBrowseBoxBase::disposing; - virtual void SAL_CALL disposing() override; - -protected: - // XAccessibleContext - - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< - css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XAccessibleComponent - - /** @return - The accessible child rendered under the given point. - */ - virtual css::uno::Reference< - css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to the BrowseBox. */ - virtual void SAL_CALL grabFocus() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo - - /** @return - The name of this class. - */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - -public: - // helper functions - /** commitHeaderBarEvent commit the event at all listeners of the column/row header bar - @param nEventId - the event id - @param rNewValue - the new value - @param rOldValue - the old value - @param _bColumnHeaderBar - true if a column based header bar, false if a row based header bar - */ - void commitHeaderBarEvent(sal_Int16 nEventId, - const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue,bool _bColumnHeaderBar = true); - - // helper functions - /** commitTableEvent commit the event at all listeners of the table - @param nEventId - the event id - @param rNewValue - the new value - @param rOldValue - the old value - */ - void commitTableEvent(sal_Int16 nEventId, - const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue); - - /** returns the accessible object for the row or the column header bar - */ - inline css::uno::Reference< - css::accessibility::XAccessible > - getHeaderBar( ::svt::AccessibleBrowseBoxObjType _eObjType ) - { - return implGetHeaderBar(_eObjType); - } - - /** returns the accessible object for the table representation - */ - inline css::uno::Reference< - css::accessibility::XAccessible > - getTable( ) - { - return implGetTable(); - } - -protected: - // internal virtual methods - - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() override; - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() override; - - // internal helper methods - - /** This method creates (once) and returns the accessible data table child. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the data table. */ - css::uno::Reference< - css::accessibility::XAccessible > implGetTable(); - - /** This method creates (once) and returns the specified header bar. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the header bar. */ - css::uno::Reference< - css::accessibility::XAccessible > - implGetHeaderBar( ::svt::AccessibleBrowseBoxObjType eObjType ); - - /** This method returns one of the children that are always present: - Data table, row and column header bar or corner control. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the specified child. */ - css::uno::Reference< - css::accessibility::XAccessible > - implGetFixedChild( sal_Int32 nChildIndex ); - - /** This method creates and returns an accessible table. - @return An AccessibleBrowseBoxTable. */ - virtual AccessibleBrowseBoxTable* createAccessibleTable(); - -private: - // members - std::unique_ptr< AccessibleBrowseBoxImpl > m_xImpl; -}; - - -/** the XAccessible which creates/returns an AccessibleBrowseBox - - The instance holds its XAccessibleContext with a hard reference, while - the context holds this instance weak. -*/ -class AccessibleBrowseBoxAccess: - public cppu::WeakImplHelper<css::accessibility::XAccessible>, - public ::svt::IAccessibleBrowseBox -{ -private: - ::osl::Mutex m_aMutex; - css::uno::Reference< css::accessibility::XAccessible > - m_xParent; - ::svt::IAccessibleTableProvider& m_rBrowseBox; - - css::uno::Reference< css::accessibility::XAccessibleContext > - m_xContext; - AccessibleBrowseBox* m_pContext; - // note that this pointer is valid as long as m_xContext is valid! - -public: - AccessibleBrowseBoxAccess( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::IAccessibleTableProvider& _rBrowseBox - ); - - /// checks whether the accessible context is still alive - bool isContextAlive() const; - - /// returns the AccessibleContext belonging to this Accessible - inline AccessibleBrowseBox* getContext() { return m_pContext; } - -protected: - virtual ~AccessibleBrowseBoxAccess(); - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - SAL_CALL getAccessibleContext() throw ( css::uno::RuntimeException, std::exception ) override; - - // IAccessibleBrowseBox - virtual css::uno::Reference< css::accessibility::XAccessible > - getMyself() override - { - return this; - } - void dispose() override; - virtual bool isAlive() const override - { - return isContextAlive(); - } - virtual css::uno::Reference< css::accessibility::XAccessible > - getHeaderBar( ::svt::AccessibleBrowseBoxObjType _eObjType ) override - { - css::uno::Reference< css::accessibility::XAccessible > xAccessible; - AccessibleBrowseBox* pContext( getContext() ); - if ( pContext ) - xAccessible = pContext->getHeaderBar( _eObjType ); - return xAccessible; - } - virtual css::uno::Reference< css::accessibility::XAccessible > - getTable() override - { - css::uno::Reference< css::accessibility::XAccessible > xAccessible; - AccessibleBrowseBox* pContext( getContext() ); - if ( pContext ) - xAccessible = pContext->getTable(); - return xAccessible; - } - virtual void commitHeaderBarEvent( sal_Int16 nEventId, const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue, bool _bColumnHeaderBar ) override - { - AccessibleBrowseBox* pContext( getContext() ); - if ( pContext ) - pContext->commitHeaderBarEvent( nEventId, rNewValue, rOldValue, _bColumnHeaderBar ); - } - virtual void commitTableEvent( sal_Int16 nEventId, - const css::uno::Any& rNewValue, const css::uno::Any& rOldValue ) override - { - AccessibleBrowseBox* pContext( getContext() ); - if ( pContext ) - pContext->commitTableEvent( nEventId, rNewValue, rOldValue ); - } - virtual void commitEvent( sal_Int16 nEventId, - const css::uno::Any& rNewValue, const css::uno::Any& rOldValue ) override - { - AccessibleBrowseBox* pContext( getContext() ); - if ( pContext ) - pContext->commitEvent( nEventId, rNewValue, rOldValue ); - } - -private: - AccessibleBrowseBoxAccess( const AccessibleBrowseBoxAccess& ) = delete; - AccessibleBrowseBoxAccess& operator=( const AccessibleBrowseBoxAccess& ) = delete; -}; - - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx deleted file mode 100644 index fe2035f5cc4d..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx +++ /dev/null @@ -1,447 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXBASE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXBASE_HXX - -#include <sal/config.h> - -#include <svtools/AccessibleBrowseBoxObjType.hxx> -#include <rtl/ustring.hxx> -#include <tools/gen.hxx> -#include <vcl/svapp.hxx> -#include <cppuhelper/compbase5.hxx> -#include <comphelper/broadcasthelper.hxx> -#include <unotools/accessiblestatesethelper.hxx> -#include <toolkit/helper/convert.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/awt/XWindow.hpp> -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/accessibility/XAccessibleContext.hpp> -#include <com/sun/star/accessibility/XAccessibleComponent.hpp> -#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> -#include <com/sun/star/accessibility/AccessibleRole.hpp> -#include <com/sun/star/accessibility/AccessibleStateType.hpp> -#include <com/sun/star/awt/XFocusListener.hpp> -#include <comphelper/accessibleeventnotifier.hxx> -#include <comphelper/uno3.hxx> - - -namespace vcl { class Window; } - -namespace utl { - class AccessibleStateSetHelper; -} - -namespace svt { - class IAccessibleTableProvider; -} - -namespace accessibility { - -typedef ::cppu::WeakAggComponentImplHelper5< - css::accessibility::XAccessibleContext, - css::accessibility::XAccessibleComponent, - css::accessibility::XAccessibleEventBroadcaster, - css::awt::XFocusListener, - css::lang::XServiceInfo > - AccessibleBrowseBoxImplHelper; - -/** The BrowseBox accessible objects inherit from this base class. It - implements basic functionality for various Accessibility interfaces and - the event broadcaster and contains the osl::Mutex. */ -class AccessibleBrowseBoxBase : - public ::comphelper::OBaseMutex, - public AccessibleBrowseBoxImplHelper -{ -public: - /** Constructor sets specified name and description. If the constant of a - text is BBTEXT_NONE, the derived class has to set the text via - implSetName() (in Ctor) or later via - setAccessibleName() and setAccessibleDescription() (these methods - notify the listeners about the change). - - @param rxParent XAccessible interface of the parent object. - @param rBrowseBox The BrowseBox control. - @param _xFocusWindow The window that gets all the focus events. - @param eObjType Object type */ - AccessibleBrowseBoxBase( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - ::svt::AccessibleBrowseBoxObjType eObjType ); - - /** Constructor sets specified name and description. - @param rxParent XAccessible interface of the parent object. - @param rBrowseBox The BrowseBox control. - @param _xFocusWindow The window that gets all the focus events. - @param eObjType Object type - @param rName The name of this object. - @param rDescription The description text of this object. */ - AccessibleBrowseBoxBase( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - ::svt::AccessibleBrowseBoxObjType eObjType, - const OUString& rName, - const OUString& rDescription ); - -protected: - virtual ~AccessibleBrowseBoxBase(); - - /** Commits DeFunc event to listeners and cleans up members. */ - virtual void SAL_CALL disposing() override; - -public: - // XAccessibleContext - - /** @return A reference to the parent accessible object. */ - virtual css::uno::Reference<css::accessibility::XAccessible > SAL_CALL getAccessibleParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The description of this object. - */ - virtual OUString SAL_CALL getAccessibleDescription() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The name of this object. - */ - virtual OUString SAL_CALL getAccessibleName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The relation set (the BrowseBox does not have one). - */ - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The set of current states. */ - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The parent's locale. */ - virtual css::lang::Locale SAL_CALL getLocale() - throw ( css::accessibility::IllegalAccessibleComponentStateException, - css::uno::RuntimeException, std::exception ) override; - - /** @return - The role of this object. Panel, ROWHEADER, COLUMNHEADER, TABLE, TABLE_CELL are supported. - */ - virtual sal_Int16 SAL_CALL getAccessibleRole() - throw ( css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getAccessibleChildCount, - - getAccessibleChild, - - getAccessibleRole. - Derived classes may overwrite getAccessibleIndexInParent to increase - performance. */ - - // XAccessibleComponent - - /** @return - TRUE, if the point lies within the bounding box of this object. */ - virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The bounding box of this object. */ - virtual css::awt::Rectangle SAL_CALL getBounds() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The upper left corner of the bounding box relative to the parent. */ - virtual css::awt::Point SAL_CALL getLocation() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The upper left corner of the bounding box in screen coordinates. */ - virtual css::awt::Point SAL_CALL getLocationOnScreen() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The size of the bounding box. */ - virtual css::awt::Size SAL_CALL getSize() - throw ( css::uno::RuntimeException, std::exception ) override; - - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - // XFocusListener - virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL focusGained( const css::awt::FocusEvent& e ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL focusLost( const css::awt::FocusEvent& e ) throw (css::uno::RuntimeException, std::exception) override; - - /* Derived classes have to implement: - - getAccessibleAt, - - grabFocus. */ - - /** @return - The accessible child rendered under the given point. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleEventBroadcaster - - /** Adds a new event listener */ - virtual void SAL_CALL addAccessibleEventListener( - const css::uno::Reference< css::accessibility::XAccessibleEventListener>& rxListener ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Removes an event listener. */ - virtual void SAL_CALL removeAccessibleEventListener( - const css::uno::Reference< css::accessibility::XAccessibleEventListener>& rxListener ) - throw ( css::uno::RuntimeException, std::exception ) override; - - // XTypeProvider - - /** @return An unique implementation ID. */ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo - - /** @return Whether the specified service is supported by this class. */ - virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return A list of all supported services. */ - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() - throw ( css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getImplementationName. */ - - // helper methods - - /** @return The BrowseBox object type. */ - inline ::svt::AccessibleBrowseBoxObjType getType() const; - - /** Changes the name of the object and notifies listeners. */ - void setAccessibleName( const OUString& rName ); - /** Changes the description of the object and notifies listeners. */ - void setAccessibleDescription( const OUString& rDescription ); - - /** Commits an event to all listeners. */ - void commitEvent( - sal_Int16 nEventId, - const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue ); - /** @return TRUE, if the object is not disposed or disposing. */ - bool isAlive() const; - -protected: - // internal virtual methods - - /** Determines whether the BrowseBox control is really showing inside of - its parent accessible window. Derived classes may implement different - behaviour. - @attention This method requires locked mutex's and a living object. - @return TRUE, if the object is really showing. */ - bool implIsShowing(); - - /** Derived classes return the bounding box relative to the parent window. - @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() = 0; - /** Derived classes return the bounding box in screen coordinates. - @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() = 0; - - /** Creates a new AccessibleStateSetHelper and fills it with states of the - current object. This method calls FillStateSet at the BrowseBox which - fills it with more states depending on the object type. Derived classes - may overwrite this method and add more states. - @attention This method requires locked mutex's. - @return A filled AccessibleStateSetHelper. */ - virtual ::utl::AccessibleStateSetHelper* implCreateStateSetHelper(); - - // internal helper methods - - /** @throws <type>DisposedException</type> If the object is not alive. */ - void ensureIsAlive() const - throw ( css::lang::DisposedException ); - - /** @return The osl::Mutex member provided by the class OBaseMutex. */ - inline ::osl::Mutex& getOslMutex(); - - /** Changes the name of the object (flat assignment, no notify). - @attention This method requires a locked mutex. */ - inline void implSetName( const OUString& rName ); - - /** Locks all mutex's and calculates the bounding box relative to the - parent window. - @return The bounding box (VCL rect.) relative to the parent object. */ - Rectangle getBoundingBox() - throw ( css::lang::DisposedException ); - /** Locks all mutex's and calculates the bounding box in screen - coordinates. - @return The bounding box (VCL rect.) in screen coordinates. */ - Rectangle getBoundingBoxOnScreen() - throw ( css::lang::DisposedException ); - - ::comphelper::AccessibleEventNotifier::TClientId getClientId() const { return m_aClientId; } - void setClientId(::comphelper::AccessibleEventNotifier::TClientId _aNewClientId) { m_aClientId = _aNewClientId; } - -public: - // public versions of internal helper methods, with access control - struct AccessControl { friend class SolarMethodGuard; private: AccessControl() { } }; - - inline ::osl::Mutex& getMutex( const AccessControl& ) { return getOslMutex(); } - inline void ensureIsAlive( const AccessControl& ) { ensureIsAlive(); } - -protected: - // members - - /** The parent accessible object. */ - css::uno::Reference< css::accessibility::XAccessible > mxParent; - /** The VCL BrowseBox control. */ - ::svt::IAccessibleTableProvider* mpBrowseBox; - - /** This is the window which get all the nice focus events - */ - css::uno::Reference< css::awt::XWindow > m_xFocusWindow; - -private: - /** Localized name. */ - OUString maName; - /** Localized description text. */ - OUString maDescription; - - /** The type of this object (for names, descriptions, state sets, ...). */ - ::svt::AccessibleBrowseBoxObjType meObjType; - - ::comphelper::AccessibleEventNotifier::TClientId m_aClientId; -}; - - -// a version of AccessibleBrowseBoxBase which implements not only the XAccessibleContext, -// but also the XAccessible - -typedef ::cppu::ImplHelper1 < css::accessibility::XAccessible - > BrowseBoxAccessibleElement_Base; - -class BrowseBoxAccessibleElement - :public AccessibleBrowseBoxBase - ,public BrowseBoxAccessibleElement_Base -{ -protected: - /** Constructor sets specified name and description. If the constant of a - text is BBTEXT_NONE, the derived class has to set the text via - implSetName() (in Ctor) or later via - setAccessibleName() and setAccessibleDescription() (these methods - notify the listeners about the change). - - @param rxParent XAccessible interface of the parent object. - @param rBrowseBox The BrowseBox control. - @param _xFocusWindow The window that gets all the focus events. - @param eObjType Object type - */ - BrowseBoxAccessibleElement( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - ::svt::AccessibleBrowseBoxObjType eObjType ); - - /** Constructor sets specified name and description. - - @param rxParent XAccessible interface of the parent object. - @param rBrowseBox The BrowseBox control. - @param _xFocusWindow The window that gets all the focus events. - @param eObjType Object type - @param rName The name of this object. - @param rDescription The description text of this object. - */ - BrowseBoxAccessibleElement( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - ::svt::AccessibleBrowseBoxObjType eObjType, - const OUString& rName, - const OUString& rDescription ); - -public: - // noncopyable - BrowseBoxAccessibleElement(const BrowseBoxAccessibleElement&) = delete; - const BrowseBoxAccessibleElement& operator=(const BrowseBoxAccessibleElement&) = delete; - // XInterface - DECLARE_XINTERFACE( ) - // XTypeProvider - DECLARE_XTYPEPROVIDER( ) - -protected: - virtual ~BrowseBoxAccessibleElement(); - -protected: - // XAccessible - - /** @return The XAccessibleContext interface of this object. */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() - throw ( css::uno::RuntimeException, std::exception ) override; -}; - - -// a helper class for protecting methods which need to lock the solar mutex in addition to the own mutex - -typedef ::osl::MutexGuard OslMutexGuard; - -class SolarMethodGuard : public SolarMutexGuard, public OslMutexGuard -{ -public: - inline SolarMethodGuard( AccessibleBrowseBoxBase& _rOwner, bool _bEnsureAlive = true ) - :SolarMutexGuard( ) - ,OslMutexGuard( _rOwner.getMutex( AccessibleBrowseBoxBase::AccessControl() ) ) - { - if ( _bEnsureAlive ) - _rOwner.ensureIsAlive( AccessibleBrowseBoxBase::AccessControl() ); - } -}; - -// inlines - -inline ::svt::AccessibleBrowseBoxObjType AccessibleBrowseBoxBase::getType() const -{ - return meObjType; -} - -inline ::osl::Mutex& AccessibleBrowseBoxBase::getOslMutex() -{ - return m_aMutex; -} - -inline void AccessibleBrowseBoxBase::implSetName( - const OUString& rName ) -{ - maName = rName; -} - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxCheckBoxCell.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxCheckBoxCell.hxx deleted file mode 100644 index 91a4c13dacdb..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxCheckBoxCell.hxx +++ /dev/null @@ -1,84 +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 . - */ -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXCHECKBOXCELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXCHECKBOXCELL_HXX - -#include <com/sun/star/accessibility/XAccessibleValue.hpp> -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/lang/XTypeProvider.hpp> -#include "accessibility/extended/accessiblebrowseboxcell.hxx" -#include <cppuhelper/implbase2.hxx> -#include <tools/wintypes.hxx> - -namespace accessibility -{ - - typedef ::cppu::ImplHelper2 < css::accessibility::XAccessible, - css::accessibility::XAccessibleValue - > AccessibleCheckBoxCell_BASE; - - class AccessibleCheckBoxCell : public AccessibleBrowseBoxCell - ,public AccessibleCheckBoxCell_BASE - { - private: - TriState m_eState; - bool m_bIsTriState; - - protected: - virtual ~AccessibleCheckBoxCell() {} - - virtual ::utl::AccessibleStateSetHelper* implCreateStateSetHelper() override; - - public: - AccessibleCheckBoxCell(const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::IAccessibleTableProvider& _rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - sal_Int32 _nRowPos, - sal_uInt16 _nColPos, - const TriState& _eState, - bool _bIsTriState); - - // XInterface - DECLARE_XINTERFACE( ) - // XTypeProvider - DECLARE_XTYPEPROVIDER( ) - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getImplementationName() throw ( css::uno::RuntimeException, std::exception ) override; - virtual ::sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (css::uno::RuntimeException, std::exception) override; - - - // XAccessibleValue - virtual css::uno::Any SAL_CALL getCurrentValue( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Any SAL_CALL getMaximumValue( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Any SAL_CALL getMinimumValue( ) throw (css::uno::RuntimeException, std::exception) override; - - // internal - void SetChecked( bool _bChecked ); - }; -} -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXCHECKBOXCELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxHeaderBar.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxHeaderBar.hxx deleted file mode 100644 index 72011d8daf96..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxHeaderBar.hxx +++ /dev/null @@ -1,258 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXHEADERBAR_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXHEADERBAR_HXX - -#include "accessibility/extended/AccessibleBrowseBoxTableBase.hxx" -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> - - -namespace accessibility { - - -typedef ::cppu::ImplHelper1< css::accessibility::XAccessibleSelection > - AccessibleBrowseBoxHeaderBarImplHelper; - -/** This class represents the accessible object of a header bar of a BrowseBox - control (row or column header bar). This object supports the - XAccessibleSelection interface. Selecting a child of this object selects - complete rows or columns of the data table. */ -class AccessibleBrowseBoxHeaderBar : - public AccessibleBrowseBoxTableBase, - public AccessibleBrowseBoxHeaderBarImplHelper -{ -public: - /** @param rxParent Parent that holds the browsebox headerbar control - @param rBrowseBox The BrowseBox control. - @param eObjType One of the two allowed types BBTYPE_ROWHEADERBAR or - BBTYPE_COLUMNHEADERBAR. */ - AccessibleBrowseBoxHeaderBar( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox, - ::svt::AccessibleBrowseBoxObjType eObjType ); - -protected: - virtual ~AccessibleBrowseBoxHeaderBar(); - -public: - // XAccessibleContext - - /** @return - The XAccessible interface of the specified child. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL - getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleComponent - - /** @return The accessible child rendered under the given point. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to (the current cell of) the data table. */ - virtual void SAL_CALL grabFocus() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleTable - - /** @return The description text of the specified row. */ - virtual OUString SAL_CALL - getAccessibleRowDescription( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The description text of the specified column. */ - virtual OUString SAL_CALL getAccessibleColumnDescription( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the row header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleRowHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the column header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleColumnHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected rows. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleRows() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected columns. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleColumns() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified row is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified column is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the cell object at the specified - cell position. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified cell is selected. */ - virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XAccessibleSelection - - /** Selects the specified child (row or column of the table). */ - virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified child (row/column) is selected. */ - virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** Clears the complete selection. */ - virtual void SAL_CALL clearAccessibleSelection() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Selects all children or first, if multiselection is not supported. */ - virtual void SAL_CALL selectAllAccessibleChildren() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The number of selected rows/columns. */ - virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The specified selected row/column. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** Removes the specified row/column from the selection. */ - virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XInterface - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - - // XServiceInfo - - /** @return The name of this class. */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An unique implementation ID. */ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( css::uno::RuntimeException, std::exception ) override; - -protected: - // internal virtual methods - - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() override; - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() override; - - /** @attention This method requires locked mutex's and a living object. - @return The count of used rows. */ - virtual sal_Int32 implGetRowCount() const override; - /** @attention This method requires locked mutex's and a living object. - @return The count of used columns. */ - virtual sal_Int32 implGetColumnCount() const override; - - // internal helper methods - - /** @return TRUE, if the objects is a header bar for rows. */ - inline bool isRowBar() const; - /** @return TRUE, if the objects is a header bar for columns. */ - inline bool isColumnBar() const; - - /** Returns the specified row or column. Uses one of the parameters, - depending on object type. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the specified column/row. */ - css::uno::Reference< css::accessibility::XAccessible > - implGetChild( sal_Int32 nRow, sal_uInt16 nColumnPos ); - - /** @attention This method requires locked mutex's and a living object. - @return The absolute child index from the index of selected children. - @throws <type>IndexOutOfBoundsException</type> - If the specified index is invalid. */ - sal_Int32 implGetChildIndexFromSelectedIndex( sal_Int32 nSelectedChildIndex ) - throw ( css::lang::IndexOutOfBoundsException ); - - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified row/column index (depending on type) is invalid. */ - void ensureIsValidHeaderIndex( sal_Int32 nIndex ) - throw ( css::lang::IndexOutOfBoundsException ); -}; - -// inlines - -inline bool AccessibleBrowseBoxHeaderBar::isRowBar() const -{ - return getType() == ::svt::BBTYPE_ROWHEADERBAR; -} - -inline bool AccessibleBrowseBoxHeaderBar::isColumnBar() const -{ - return getType() == ::svt::BBTYPE_COLUMNHEADERBAR; -} - - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxHeaderCell.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxHeaderCell.hxx deleted file mode 100644 index 0f9f1bacbf92..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxHeaderCell.hxx +++ /dev/null @@ -1,74 +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 . - */ -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXHEADERCELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXHEADERCELL_HXX - -#include "accessibility/extended/AccessibleBrowseBoxBase.hxx" - -namespace accessibility -{ - class AccessibleBrowseBoxHeaderCell : public BrowseBoxAccessibleElement - { - sal_Int32 m_nColumnRowId; - public: - AccessibleBrowseBoxHeaderCell(sal_Int32 _nColumnRowId, - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& _rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - ::svt::AccessibleBrowseBoxObjType _eObjType); - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) throw ( css::lang::IndexOutOfBoundsException,css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to the BrowseBox. */ - virtual void SAL_CALL grabFocus() throw ( css::uno::RuntimeException, std::exception ) override; - - inline bool isRowBarCell() const - { - return getType() == ::svt::BBTYPE_ROWHEADERCELL; - } - - /** @return - The name of this class. - */ - virtual OUString SAL_CALL getImplementationName() throw ( css::uno::RuntimeException, std::exception ) override; - - /** Creates a new AccessibleStateSetHelper and fills it with states of the - current object. - @return - A filled AccessibleStateSetHelper. - */ - ::utl::AccessibleStateSetHelper* implCreateStateSetHelper() override; - - protected: - virtual Rectangle implGetBoundingBox() override; - - virtual Rectangle implGetBoundingBoxOnScreen() override; - }; -} - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXHEADERCELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTable.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTable.hxx deleted file mode 100644 index 2bd31e1bff46..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTable.hxx +++ /dev/null @@ -1,152 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLE_HXX - -#include "accessibility/extended/AccessibleBrowseBoxTableBase.hxx" - - -namespace accessibility { - -/** This class represents the accessible object of the data table of a - BrowseBox control. */ -class AccessibleBrowseBoxTable : public AccessibleBrowseBoxTableBase -{ - friend class AccessibleBrowseBox; // to create header bars - -public: - AccessibleBrowseBoxTable( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox ); - -protected: - virtual ~AccessibleBrowseBoxTable(); - -public: - // XAccessibleContext - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleComponent - - /** @return The accessible child rendered under the given point. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to (the current cell of) the data table. */ - virtual void SAL_CALL grabFocus() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleTable - - /** @return The description text of the specified row. */ - virtual OUString SAL_CALL getAccessibleRowDescription( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The description text of the specified column. */ - virtual OUString SAL_CALL getAccessibleColumnDescription( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the row header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleRowHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the column header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleColumnHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected rows. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleRows() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected columns. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleColumns() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified row is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified column is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the cell object at the specified - cell position. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified cell is selected. */ - virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo - - /** @return The name of this class. */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - -protected: - // internal virtual methods - - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() override; - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() override; - - // internal helper methods - - /** @attention This method requires a locked mutex. - @return The XAccessibleTable interface of the specified header bar. */ - css::uno::Reference< css::accessibility::XAccessibleTable > - implGetHeaderBar( sal_Int32 nChildIndex ) - throw ( css::uno::RuntimeException ); -}; - - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTableBase.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTableBase.hxx deleted file mode 100644 index 1baa85f5d661..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTableBase.hxx +++ /dev/null @@ -1,267 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLEBASE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLEBASE_HXX - -#include "accessibility/extended/AccessibleBrowseBoxBase.hxx" -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/accessibility/XAccessibleTable.hpp> - - -namespace accessibility { - -typedef ::cppu::ImplHelper1< css::accessibility::XAccessibleTable > - AccessibleBrowseBoxTableImplHelper; - -/** The BrowseBox accessible table objects inherit from this base class. It - implements basic functionality for the XAccessibleTable interface. - BrowseBox table objects are: the data table, the column header bar and the - row header bar. */ -class AccessibleBrowseBoxTableBase : - public BrowseBoxAccessibleElement, - public AccessibleBrowseBoxTableImplHelper -{ -public: - /** Constructor sets specified name and description. If the constant of a - text is BBTEXT_NONE, the derived class has to set the text via - implSetName() and implSetDescription() (in Ctor) or later via - setAccessibleName() and setAccessibleDescription() (these methods - notify the listeners about the change). - @param rxParent XAccessible interface of the parent object. - @param rBrowseBox The BrowseBox control. - @param eObjType Type of BrowseBox object. */ - AccessibleBrowseBoxTableBase( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::IAccessibleTableProvider& rBrowseBox, - ::svt::AccessibleBrowseBoxObjType eObjType ); - -protected: - virtual ~AccessibleBrowseBoxTableBase(); - -public: - // XAccessibleContext - - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The role of this object (a table). */ - virtual sal_Int16 SAL_CALL getAccessibleRole() - throw ( css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getAccessibleChild, - - getAccessibleIndexInParent. */ - - // XAccessibleComponent - - /* Derived classes have to implement: - - getAccessibleAt, - - grabFocus. */ - - // XAccessibleTable - - /** @return The number of used rows in the table (0 = empty table). */ - virtual sal_Int32 SAL_CALL getAccessibleRowCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The number of used columns in the table (0 = empty table). */ - virtual sal_Int32 SAL_CALL getAccessibleColumnCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The row extent of the specified cell (always 1). */ - virtual sal_Int32 SAL_CALL - getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The column extent of the specified cell (always 1). */ - virtual sal_Int32 SAL_CALL - getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The caption cell of the table (not supported). */ - virtual css::uno::Reference< - css::accessibility::XAccessible > SAL_CALL - getAccessibleCaption() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The summary object of the table (not supported). */ - virtual css::uno::Reference< - css::accessibility::XAccessible > SAL_CALL - getAccessibleSummary() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The child index of the specified cell. */ - virtual sal_Int32 SAL_CALL getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The row index of the specified child cell. */ - virtual sal_Int32 SAL_CALL getAccessibleRow( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The column index of the specified child cell. */ - virtual sal_Int32 SAL_CALL getAccessibleColumn( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getAccessibleRowDescription, - - getAccessibleColumnDescription, - - getAccessibleRowHeaders, - - getAccessibleColumnHeaders, - - getSelectedAccessibleRows, - - getSelectedAccessibleColumns, - - isAccessibleRowSelected, - - isAccessibleColumnSelected, - - getAccessibleCellAt, - - isAccessibleSelected. */ - - // XInterface - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - - // XTypeProvider - - /** @return A sequence of possible types (received from base classes). */ - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An unique implementation ID. */ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo - - /* Derived classes have to implement: - - getImplementationName */ - -protected: - // internal virtual methods - - /** @attention This method requires locked mutex's and a living object. - @return The count of data rows without header bar. */ - virtual sal_Int32 implGetRowCount() const; - /** @attention This method requires locked mutex's and a living object. - @return The count of data columns without "handle column". */ - virtual sal_Int32 implGetColumnCount() const; - - // internal helper methods - - /** @return TRUE, if first BrowseBox column is the "handle column". */ - bool implHasHandleColumn() const; - - /** @attention This method requires locked mutex's and a living object. - @param nColumn - the position of the column in the Accessible world - @return - the position of the column in VCL the Accessible world - */ - sal_uInt16 implToVCLColumnPos( sal_Int32 nColumn ) const; - - /** @attention This method requires locked mutex's and a living object. - @return The number of cells of the table. */ - sal_Int32 implGetChildCount() const; - - /** @attention This method requires locked mutex's and a living object. - @return The row index of the specified cell index. */ - sal_Int32 implGetRow( sal_Int32 nChildIndex ) const; - /** @attention This method requires locked mutex's and a living object. - @return The column index of the specified cell index. */ - sal_Int32 implGetColumn( sal_Int32 nChildIndex ) const; - /** @attention This method requires locked mutex's and a living object. - @return The child index of the specified cell address. */ - sal_Int32 implGetChildIndex( sal_Int32 nRow, sal_Int32 nColumn ) const; - - /** @attention This method requires locked mutex's and a living object. - @return TRUE, if the specified row is selected. */ - bool implIsRowSelected( sal_Int32 nRow ) const; - /** @attention This method requires locked mutex's and a living object. - @return TRUE, if the specified column is selected. */ - bool implIsColumnSelected( sal_Int32 nColumn ) const; - - /** Selects/deselects a row (tries to expand selection). - @attention This method requires locked mutex's and a living object. - @param nRow Row to select - @param bSelect TRUE = select, FALSE = deselect */ - void implSelectRow( sal_Int32 nRow, bool bSelect ); - /** Selects/deselects a column (tries to expand selection). - @attention This method requires locked mutex's and a living object. - @param nColumnPos column number to select - @param bSelect TRUE = select, FALSE = deselect */ - void implSelectColumn( sal_Int32 nColumnPos, bool bSelect ); - - /** @attention This method requires locked mutex's and a living object. - @return The count of selected rows. */ - sal_Int32 implGetSelectedRowCount() const; - /** @attention This method requires locked mutex's and a living object. - @return The count of selected columns. */ - sal_Int32 implGetSelectedColumnCount() const; - - /** Fills a sequence with sorted indexes of completely selected rows. - @attention This method requires locked mutex's and a living object. - @param rSeq Out-parameter that takes the sorted row index list. */ - void implGetSelectedRows( css::uno::Sequence< sal_Int32 >& rSeq ); - /** Fills a sequence with sorted indexes of completely selected columns. - @attention This method requires locked mutex's and a living object. - @param rSeq Out-parameter that takes the sorted column index list. */ - void implGetSelectedColumns( css::uno::Sequence< sal_Int32 >& rSeq ); - - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified row index is invalid. */ - void ensureIsValidRow( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException ); - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified column index is invalid. */ - void ensureIsValidColumn( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException ); - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified cell address is invalid. */ - void ensureIsValidAddress( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException ); - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified child index is invalid. */ - void ensureIsValidIndex( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException ); -}; - - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTableCell.hxx b/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTableCell.hxx deleted file mode 100644 index 6c10d4e8a3c5..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleBrowseBoxTableCell.hxx +++ /dev/null @@ -1,133 +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 . - */ -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLECELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLECELL_HXX - -#include "accessibility/extended/accessiblebrowseboxcell.hxx" -#include <comphelper/accessibletexthelper.hxx> -#include <cppuhelper/implbase2.hxx> - -namespace accessibility -{ - typedef ::cppu::ImplHelper2 < css::accessibility::XAccessibleText - , css::accessibility::XAccessible - > AccessibleTextHelper_BASE; - - // implementation of a table cell of BrowseBox - class AccessibleBrowseBoxTableCell :public AccessibleBrowseBoxCell - ,public AccessibleTextHelper_BASE - ,public ::comphelper::OCommonAccessibleText - { - private: - sal_Int32 m_nOffset; - - protected: - // OCommonAccessibleText - virtual OUString implGetText() override; - virtual css::lang::Locale implGetLocale() override; - virtual void implGetSelection( sal_Int32& nStartIndex, sal_Int32& nEndIndex ) override; - - public: - AccessibleBrowseBoxTableCell( const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::IAccessibleTableProvider& _rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - sal_Int32 _nRowId, - sal_uInt16 _nColId, - sal_Int32 _nOffset ); - - void nameChanged( const OUString& rNewName, const OUString& rOldName ); - - // XInterface ------------------------------------------------------------- - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - - // XEventListener - using AccessibleBrowseBoxBase::disposing; - virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) - throw(css::uno::RuntimeException, std::exception) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The name of this class. - */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The count of visible children. - */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The XAccessible interface of the specified child. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** Creates a new AccessibleStateSetHelper and fills it with states of the - current object. - @return - A filled AccessibleStateSetHelper. - */ - ::utl::AccessibleStateSetHelper* implCreateStateSetHelper() override; - - // XAccessible ------------------------------------------------------------ - - /** @return The XAccessibleContext interface of this object. */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL - getAccessibleContext() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleText - virtual sal_Int32 SAL_CALL getCaretPosition() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getCharacterCount() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getSelectedText() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionStart() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionEnd() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getText() throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - }; -} -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXTABLECELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx deleted file mode 100644 index 865f8258f98c..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx +++ /dev/null @@ -1,239 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROL_HXX - -#include <accessibility/extended/AccessibleGridControlBase.hxx> -#include <accessibility/extended/AccessibleGridControlTable.hxx> -#include <cppuhelper/implbase.hxx> -#include <cppuhelper/weakref.hxx> -#include <svtools/accessibletable.hxx> -#include <memory> - -namespace accessibility { - - class AccessibleGridControl_Impl; - - -/** This class represents the complete accessible Grid Control object. */ -class AccessibleGridControl : public AccessibleGridControlBase -{ - friend class AccessibleGridControlAccess; - -protected: - AccessibleGridControl( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - const css::uno::Reference< css::accessibility::XAccessible >& _rxCreator, - ::svt::table::IAccessibleTable& _rTable - ); - - virtual ~AccessibleGridControl(); - - /** Cleans up members. */ - using AccessibleGridControlBase::disposing; - virtual void SAL_CALL disposing() override; - -protected: - // XAccessibleContext ----------------------------------------------------- - - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The role of this object (a table). */ - virtual sal_Int16 SAL_CALL getAccessibleRole() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleComponent --------------------------------------------------- - - /** @return - The accessible child rendered under the given point. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to the Grid Control. */ - virtual void SAL_CALL grabFocus() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo ----------------------------------------------------------- - - /** @return - The name of this class. - */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - -public: - // helper functions - - /** commitCellEvent commit the event at all listeners of the table - @param nEventId - the event id - @param rNewValue - the new value - @param rOldValue - the old value - */ - void commitCellEvent(sal_Int16 nEventId, const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue); - - /** commitTableEvent commit the event at all listeners of the table - @param nEventId - the event id - @param rNewValue - the new value - @param rOldValue - the old value - */ - void commitTableEvent(sal_Int16 nEventId, const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue); - -protected: - // internal virtual methods ----------------------------------------------- - - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() override; - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() override; - - // internal helper methods ------------------------------------------------ - - /** This method creates (once) and returns the accessible data table child. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the data table. */ - css::uno::Reference< css::accessibility::XAccessible > implGetTable(); - - /** This method creates (once) and returns the specified header bar. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the header bar. */ - css::uno::Reference< css::accessibility::XAccessible > - implGetHeaderBar( ::svt::table::AccessibleTableControlObjType eObjType ); - - /** This method returns one of the children that are always present: - Data table, row and column header bar or corner control. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the specified child. */ - css::uno::Reference< css::accessibility::XAccessible > - implGetFixedChild( sal_Int32 nChildIndex ); - - /** This method creates and returns an accessible table. - @return An AccessibleGridControlTable. */ - AccessibleGridControlTable* createAccessibleTable(); - -private: - // members ---------------------------------------------------------------- - std::unique_ptr< AccessibleGridControl_Impl > m_xImpl; -}; - - -/** the XAccessible which creates/returns an AccessibleGridControl - - <p>The instance holds its XAccessibleContext with a hard reference, while - the context holds this instance weak.</p> -*/ - -class AccessibleGridControlAccess : - public ::cppu::WeakImplHelper< css::accessibility::XAccessible > - ,public ::svt::table::IAccessibleTableControl -{ -private: - css::uno::Reference< css::accessibility::XAccessible > - m_xParent; - ::svt::table::IAccessibleTable * m_pTable; - - css::uno::Reference< css::accessibility::XAccessibleContext > - m_xContext; - AccessibleGridControl* m_pContext; - // note that this pointer is valid as long as m_xContext is valid! - -public: - AccessibleGridControlAccess( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::table::IAccessibleTable& _rTable - ); - - /// checks whether the accessible context is still alive - bool isContextAlive() const; - - /// returns the AccessibleContext belonging to this Accessible - inline AccessibleGridControl* getContext() { return m_pContext; } - -protected: - virtual ~AccessibleGridControlAccess(); - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - SAL_CALL getAccessibleContext() throw ( css::uno::RuntimeException, std::exception ) override; - - // IAccessibleTable - virtual css::uno::Reference< css::accessibility::XAccessible > - getMyself() override - { - return this; - } - void DisposeAccessImpl() override; - virtual bool isAlive() const override - { - return isContextAlive(); - } - virtual void commitCellEvent( sal_Int16 nEventId, - const css::uno::Any& rNewValue, const css::uno::Any& rOldValue ) override - { - AccessibleGridControl* pContext( getContext() ); - if ( pContext ) - pContext->commitCellEvent( nEventId, rNewValue, rOldValue ); - } - virtual void commitTableEvent( sal_Int16 nEventId, - const css::uno::Any& rNewValue, const css::uno::Any& rOldValue ) override - { - AccessibleGridControl* pContext( getContext() ); - if ( pContext ) - pContext->commitTableEvent( nEventId, rNewValue, rOldValue ); - } - virtual void commitEvent( sal_Int16 nEventId, - const css::uno::Any& rNewValue, const css::uno::Any& rOldValue ) override - { - AccessibleGridControl* pContext( getContext() ); - if ( pContext ) - pContext->commitEvent( nEventId, rNewValue, rOldValue ); - } - -private: - AccessibleGridControlAccess( const AccessibleGridControlAccess& ) = delete; - AccessibleGridControlAccess& operator=( const AccessibleGridControlAccess& ) = delete; -}; - - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx deleted file mode 100644 index b5ba1bd65e3e..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx +++ /dev/null @@ -1,356 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLBASE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLBASE_HXX - -#include <svtools/accessibletable.hxx> -#include <rtl/ustring.hxx> -#include <tools/gen.hxx> -#include <vcl/svapp.hxx> -#include <cppuhelper/compbase4.hxx> -#include <comphelper/broadcasthelper.hxx> -#include <unotools/accessiblestatesethelper.hxx> -#include <toolkit/helper/convert.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/awt/XWindow.hpp> -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/accessibility/XAccessibleContext.hpp> -#include <com/sun/star/accessibility/XAccessibleComponent.hpp> -#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> -#include <com/sun/star/accessibility/AccessibleRole.hpp> -#include <com/sun/star/accessibility/AccessibleStateType.hpp> -#include <comphelper/accessibleeventnotifier.hxx> -#include <comphelper/uno3.hxx> - - -namespace vcl { class Window; } - -namespace utl { - class AccessibleStateSetHelper; -} - - -namespace accessibility { - -typedef ::cppu::WeakAggComponentImplHelper4< - css::accessibility::XAccessibleContext, - css::accessibility::XAccessibleComponent, - css::accessibility::XAccessibleEventBroadcaster, - css::lang::XServiceInfo > - AccessibleGridControlImplHelper; - -/** The GridControl accessible objects inherit from this base class. It - implements basic functionality for various Accessibility interfaces and - the event broadcaster and contains the osl::Mutex. */ -class AccessibleGridControlBase : - public ::comphelper::OBaseMutex, - public AccessibleGridControlImplHelper -{ -public: - /** Constructor sets specified name and description. - @param rxParent XAccessible interface of the parent object. - @param rTable The Table control. - @param eObjType Type of accessible table control. */ - AccessibleGridControlBase( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::table::IAccessibleTable& rTable, - ::svt::table::AccessibleTableControlObjType eObjType ); - -protected: - virtual ~AccessibleGridControlBase(); - - /** Commits DeFunc event to listeners and cleans up members. */ - virtual void SAL_CALL disposing() override; - -public: - // XAccessibleContext - - /** @return A reference to the parent accessible object. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The description of this object. - */ - virtual OUString SAL_CALL getAccessibleDescription() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The name of this object. - */ - virtual OUString SAL_CALL getAccessibleName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The relation set (the GridControl does not have one). - */ - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL - getAccessibleRelationSet() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The set of current states. */ - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL - getAccessibleStateSet() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The parent's locale. */ - virtual css::lang::Locale SAL_CALL getLocale() - throw ( css::accessibility::IllegalAccessibleComponentStateException, - css::uno::RuntimeException, std::exception ) override; - - /** @return - The role of this object. Panel, ROWHEADER, COLUMNHEADER, TABLE, TABLE_CELL are supported. - */ - virtual sal_Int16 SAL_CALL getAccessibleRole() - throw ( css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getAccessibleChildCount, - - getAccessibleChild, - - getAccessibleRole. - Derived classes may overwrite getAccessibleIndexInParent to increase - performance. */ - - // XAccessibleComponent - - /** @return - TRUE, if the point lies within the bounding box of this object. */ - virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The bounding box of this object. */ - virtual css::awt::Rectangle SAL_CALL getBounds() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The upper left corner of the bounding box relative to the parent. */ - virtual css::awt::Point SAL_CALL getLocation() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The upper left corner of the bounding box in screen coordinates. */ - virtual css::awt::Point SAL_CALL getLocationOnScreen() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The size of the bounding box. */ - virtual css::awt::Size SAL_CALL getSize() - throw ( css::uno::RuntimeException, std::exception ) override; - - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - - /* Derived classes have to implement: - - getAccessibleAt, - - grabFocus. */ - - /** @return - The accessible child rendered under the given point. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleEventBroadcaster - - /** Adds a new event listener */ - virtual void SAL_CALL addAccessibleEventListener( - const css::uno::Reference< css::accessibility::XAccessibleEventListener>& rxListener ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Removes an event listener. */ - virtual void SAL_CALL removeAccessibleEventListener( - const css::uno::Reference< css::accessibility::XAccessibleEventListener>& rxListener ) - throw ( css::uno::RuntimeException, std::exception ) override; - - // XTypeProvider - - /** @return An unique implementation ID. */ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo - - /** @return Whether the specified service is supported by this class. */ - virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return A list of all supported services. */ - virtual css::uno::Sequence< OUString > SAL_CALL - getSupportedServiceNames() - throw ( css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getImplementationName. */ - - // helper methods - - /** @return The GridControl object type. */ - inline ::svt::table::AccessibleTableControlObjType getType() const; - - /** Commits an event to all listeners. */ - void commitEvent( - sal_Int16 nEventId, - const css::uno::Any& rNewValue, - const css::uno::Any& rOldValue ); - /** @return TRUE, if the object is not disposed or disposing. */ - bool isAlive() const; - -protected: - // internal virtual methods - - /** Determines whether the Grid control is really showing inside of - its parent accessible window. Derived classes may implement different - behaviour. - @attention This method requires locked mutex's and a living object. - @return TRUE, if the object is really showing. */ - bool implIsShowing(); - - /** Derived classes return the bounding box relative to the parent window. - @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() = 0; - ///** Derived classes return the bounding box in screen coordinates. - // @attention This method requires locked mutex's and a living object. - // @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() = 0; - - /** Creates a new AccessibleStateSetHelper and fills it with states of the - current object. This method calls FillStateSet at the GridControl which - fills it with more states depending on the object type. Derived classes - may overwrite this method and add more states. - @attention This method requires locked mutex's. - @return A filled AccessibleStateSetHelper. */ - virtual ::utl::AccessibleStateSetHelper* implCreateStateSetHelper(); - - // internal helper methods - - /** @throws <type>DisposedException</type> If the object is not alive. */ - void ensureIsAlive() const - throw ( css::lang::DisposedException ); - - /** Changes the name of the object (flat assignment, no notify). - @attention This method requires a locked mutex. */ - inline void implSetName( const OUString& rName ); - - /** Locks all mutex's and calculates the bounding box relative to the - parent window. - @return The bounding box (VCL rect.) relative to the parent object. */ - Rectangle getBoundingBox() - throw ( css::lang::DisposedException ); - ///** Locks all mutex's and calculates the bounding box in screen - // coordinates. - // @return The bounding box (VCL rect.) in screen coordinates. */ - Rectangle getBoundingBoxOnScreen() - throw ( css::lang::DisposedException ); - - ::comphelper::AccessibleEventNotifier::TClientId getClientId() const { return m_aClientId; } - void setClientId(::comphelper::AccessibleEventNotifier::TClientId _aNewClientId) { m_aClientId = _aNewClientId; } - -protected: - // members - - /** The parent accessible object. */ - css::uno::Reference< css::accessibility::XAccessible > m_xParent; - /** The SVT Table control. */ - ::svt::table::IAccessibleTable& m_aTable; - /** The type of this object (for names, descriptions, state sets, ...). */ - ::svt::table::AccessibleTableControlObjType m_eObjType; - -private: - /** Localized name. */ - OUString m_aName; - /** Localized description text. */ - OUString m_aDescription; - ::comphelper::AccessibleEventNotifier::TClientId m_aClientId; -}; - - -// a version of AccessibleGridControlBase which implements not only the XAccessibleContext, -// but also the XAccessible - -typedef ::cppu::ImplHelper1 < css::accessibility::XAccessible - > GridControlAccessibleElement_Base; - -class GridControlAccessibleElement - :public AccessibleGridControlBase - ,public GridControlAccessibleElement_Base -{ -protected: - /** Constructor sets specified name and description. - - @param rxParent XAccessible interface of the parent object. - @param rTable The Table control. - @param eObjType Type of table control - */ - GridControlAccessibleElement( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::table::IAccessibleTable& rTable, - ::svt::table::AccessibleTableControlObjType eObjType ); - -public: - // XInterface - DECLARE_XINTERFACE( ) - // XTypeProvider - DECLARE_XTYPEPROVIDER( ) - -protected: - virtual ~GridControlAccessibleElement(); - -protected: - // XAccessible - - /** @return The XAccessibleContext interface of this object. */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL - getAccessibleContext() - throw ( css::uno::RuntimeException, std::exception ) override; - -private: - GridControlAccessibleElement( const GridControlAccessibleElement& ) = delete; - GridControlAccessibleElement& operator=( const GridControlAccessibleElement& ) = delete; -}; - -// inlines - -inline ::svt::table::AccessibleTableControlObjType AccessibleGridControlBase::getType() const -{ - return m_eObjType; -} - -inline void AccessibleGridControlBase::implSetName( - const OUString& rName ) -{ - m_aName = rName; -} - - -} // namespace accessibility - - -#endif // ACCESSIBILITY_EXT_ACCESSIBILEGRIDCONTROLBASE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlHeader.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlHeader.hxx deleted file mode 100644 index 5f4039f4e5bc..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlHeader.hxx +++ /dev/null @@ -1,181 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLHEADER_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLHEADER_HXX - -#include <accessibility/extended/AccessibleGridControlHeaderCell.hxx> -#include <accessibility/extended/AccessibleGridControlTableBase.hxx> - -namespace accessibility { - -/** This class represents the accessible object of a header bar of a Grid Control - (row or column header bar). This object supports the - XAccessibleSelection interface. Selecting a child of this object selects - complete rows or columns of the data table. */ -class AccessibleGridControlHeader : public AccessibleGridControlTableBase -{ -public: - /** @param rxParent accessible parent control - @param rTable accessible table - @param eObjType One of the two allowed types TCTYPE_ROWHEADERBAR or - TCTYPE_COLUMNHEADERBAR. */ - AccessibleGridControlHeader( - const css::uno::Reference< - css::accessibility::XAccessible >& rxParent, - ::svt::table::IAccessibleTable& rTable, - ::svt::table::AccessibleTableControlObjType eObjType ); - -protected: - virtual ~AccessibleGridControlHeader(); - -public: - // XAccessibleContext - - /** @return - The XAccessible interface of the specified child. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleComponent - - /** @return The accessible child rendered under the given point. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to (the current cell of) the data table. */ - virtual void SAL_CALL grabFocus() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleTable - - /** @return The description text of the specified row. */ - virtual OUString SAL_CALL - getAccessibleRowDescription( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The description text of the specified column. */ - virtual OUString SAL_CALL - getAccessibleColumnDescription( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the row header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleRowHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the column header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleColumnHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected rows. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleRows() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected columns. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleColumns() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified row is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified column is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the cell object at the specified - cell position. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified cell is selected. */ - virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XServiceInfo - - /** @return The name of this class. */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An unique implementation ID. */ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( css::uno::RuntimeException, std::exception ) override; - -protected: - /** Returns the specified row or column. Uses one of the parameters, - depending on object type. - @attention This method requires locked mutex's and a living object. - @return The XAccessible interface of the specified column/row. */ - css::uno::Reference< css::accessibility::XAccessible > - implGetChild( sal_Int32 nRow, sal_uInt32 nColumnPos ); - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() override; - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() override; - - // internal helper methods - - /** @return TRUE, if the objects is a header bar for rows. */ - inline bool isRowBar() const; - /** @return TRUE, if the objects is a header bar for columns. */ - inline bool isColumnBar() const; -}; - -// inlines - -inline bool AccessibleGridControlHeader::isRowBar() const -{ - return getType() == ::svt::table::TCTYPE_ROWHEADERBAR; -} - -inline bool AccessibleGridControlHeader::isColumnBar() const -{ - return getType() == ::svt::table::TCTYPE_COLUMNHEADERBAR; -} - - -} // namespace accessibility - - -#endif // ACCESSIBILITY_EXT_ACCESSIBILEGRIDCONTROLHEADER_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx deleted file mode 100644 index ad1449de1b06..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx +++ /dev/null @@ -1,86 +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 . - */ -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLHEADERCELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLHEADERCELL_HXX - -#include "accessibility/extended/AccessibleGridControlTableCell.hxx" - -namespace accessibility -{ - class AccessibleGridControlHeaderCell : public AccessibleGridControlCell, public css::accessibility::XAccessible - { - sal_Int32 m_nColumnRowId; - public: - AccessibleGridControlHeaderCell(sal_Int32 _nColumnRowId, - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::table::IAccessibleTable& _rTable, - ::svt::table::AccessibleTableControlObjType _eObjType); - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) throw ( css::lang::IndexOutOfBoundsException,css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to the GridControl. */ - virtual void SAL_CALL grabFocus() throw ( css::uno::RuntimeException, std::exception ) override; - - // XInterface - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - // XAccessible - - /** @return The XAccessibleContext interface of this object. */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL - getAccessibleContext() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The name of this class. - */ - virtual OUString SAL_CALL getImplementationName() throw ( css::uno::RuntimeException, std::exception ) override; - - /** Creates a new AccessibleStateSetHelper and fills it with states of the - current object. - @return - A filled AccessibleStateSetHelper. - */ - ::utl::AccessibleStateSetHelper* implCreateStateSetHelper() override; - - protected: - virtual Rectangle implGetBoundingBox() override; - - virtual Rectangle implGetBoundingBoxOnScreen() override; - }; -} - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLHEADERCELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx deleted file mode 100644 index 22c71db21f52..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlTable.hxx +++ /dev/null @@ -1,210 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLE_HXX - -#include "accessibility/extended/AccessibleGridControlTableBase.hxx" -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <accessibility/extended/AccessibleGridControlTableCell.hxx> - - -namespace accessibility { - - -typedef ::cppu::ImplHelper1 < css::accessibility::XAccessibleSelection > - AccessibleGridControlTableSelectionImplHelper; -/** This class represents the accessible object of the data table of a - Grid control. */ -class AccessibleGridControlTable : public AccessibleGridControlTableBase, - public AccessibleGridControlTableSelectionImplHelper -{ -public: - AccessibleGridControlTable( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::table::IAccessibleTable& rTable, - ::svt::table::AccessibleTableControlObjType _eType); - -protected: - virtual ~AccessibleGridControlTable(); -private: - std::vector< AccessibleGridControlTableCell* > m_pCellVector; - std::vector< css::uno::Reference< css::accessibility::XAccessible> > m_pAccessCellVector; -public: - // XAccessibleContext - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleComponent - - /** @return The accessible child rendered under the given point. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint( const css::awt::Point& rPoint ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Grabs the focus to (the current cell of) the data table. */ - virtual void SAL_CALL grabFocus() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleTable - - /** @return The description text of the specified row. */ - virtual OUString SAL_CALL getAccessibleRowDescription( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The description text of the specified column. */ - virtual OUString SAL_CALL getAccessibleColumnDescription( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the row header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleRowHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessibleTable interface of the column header bar. */ - virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL - getAccessibleColumnHeaders() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected rows. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleRows() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An index list of completely selected columns. */ - virtual css::uno::Sequence< sal_Int32 > SAL_CALL - getSelectedAccessibleColumns() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified row is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified column is completely selected. */ - virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the cell object at the specified - cell position. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified cell is selected. */ - virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XAccessibleSelection - - /** Selects the specified child (row or column of the table). */ - virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return TRUE, if the specified child (row/column) is selected. */ - virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** Clears the complete selection. */ - virtual void SAL_CALL clearAccessibleSelection() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Selects all children or first, if multiselection is not supported. */ - virtual void SAL_CALL selectAllAccessibleChildren() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The number of selected rows/columns. */ - virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The specified selected row/column. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** Removes the specified row/column from the selection. */ - virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - // XInterface - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - // XServiceInfo - - /** @return The name of this class. */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /**@return m_pCellVector*/ - std::vector< AccessibleGridControlTableCell* >& getCellVector() { return m_pCellVector;} - /**@return m_xAccessCellVector*/ - std::vector< css::uno::Reference< css::accessibility::XAccessible > >& getAccessibleCellVector() { return m_pAccessCellVector;} - -protected: - // internal virtual methods - - /** @attention This method requires locked mutex's and a living object. - @return The bounding box (VCL rect.) relative to the parent window. */ - virtual Rectangle implGetBoundingBox() override; - ///** @attention This method requires locked mutex's and a living object. - // @return The bounding box (VCL rect.) in screen coordinates. */ - virtual Rectangle implGetBoundingBoxOnScreen() override; - - - //// internal helper methods - ///** @attention This method requires a locked mutex. - // @return The XAccessibleTable interface of the specified header bar. */ - css::uno::Reference< css::accessibility::XAccessibleTable > - implGetHeaderBar( sal_Int32 nChildIndex ) - throw ( css::uno::RuntimeException ); -}; - - -} // namespace accessibility - - -#endif // ACCESSIBILITY_EXT_ACCESSIBILEGRIDCONTROLTABLE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx deleted file mode 100644 index e2311aaa77b6..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx +++ /dev/null @@ -1,207 +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 . - */ - - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLEBASE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLEBASE_HXX - -#include "accessibility/extended/AccessibleGridControlBase.hxx" -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/accessibility/XAccessibleTable.hpp> - - -namespace accessibility { - -typedef ::cppu::ImplHelper1 < css::accessibility::XAccessibleTable > - AccessibleGridControlTableImplHelper; - -/** The Grid Control accessible table objects inherit from this base class. It - implements basic functionality for the XAccessibleTable interface. - Grid COntrol table objects are: the data table, the column header bar and the - row header bar. */ -class AccessibleGridControlTableBase : - public GridControlAccessibleElement, - public AccessibleGridControlTableImplHelper -{ -public: - /** Constructor sets specified name and description. - @param rxParent XAccessible interface of the parent object. - @param rTable The Table control. - @param eObjType Type of table control object */ - AccessibleGridControlTableBase( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::svt::table::IAccessibleTable& rTable, - ::svt::table::AccessibleTableControlObjType eObjType ); - -protected: - virtual ~AccessibleGridControlTableBase(); - -public: - // XAccessibleContext - - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The role of this object (a table). */ - virtual sal_Int16 SAL_CALL getAccessibleRole() - throw ( css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getAccessibleChild, - - getAccessibleIndexInParent. */ - - // XAccessibleComponent - - /* Derived classes have to implement: - - getAccessibleAt, - - grabFocus. */ - - // XAccessibleTable - - /** @return The number of used rows in the table (0 = empty table). */ - virtual sal_Int32 SAL_CALL getAccessibleRowCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The number of used columns in the table (0 = empty table). */ - virtual sal_Int32 SAL_CALL getAccessibleColumnCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The row extent of the specified cell (always 1). */ - virtual sal_Int32 SAL_CALL - getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The column extent of the specified cell (always 1). */ - virtual sal_Int32 SAL_CALL - getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The caption cell of the table (not supported). */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleCaption() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The summary object of the table (not supported). */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleSummary() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The child index of the specified cell. */ - virtual sal_Int32 SAL_CALL getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The row index of the specified child cell. */ - virtual sal_Int32 SAL_CALL getAccessibleRow( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** @return The column index of the specified child cell. */ - virtual sal_Int32 SAL_CALL getAccessibleColumn( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /* Derived classes have to implement: - - getAccessibleRowDescription, - - getAccessibleColumnDescription, - - getAccessibleRowHeaders, - - getAccessibleColumnHeaders, - - getSelectedAccessibleRows, - - getSelectedAccessibleColumns, - - isAccessibleRowSelected, - - isAccessibleColumnSelected, - - getAccessibleCellAt, - - isAccessibleSelected. */ - - // XInterface - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - - // XTypeProvider - - /** @return A sequence of possible types (received from base classes). */ - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return An unique implementation ID. */ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( css::uno::RuntimeException, std::exception ) override; - -protected: - // internal helper methods - - /** @attention This method requires locked mutex's and a living object. - @return The number of cells of the table. */ - sal_Int32 implGetChildCount() const; - - /** @attention This method requires locked mutex's and a living object. - @return The row index of the specified cell index. */ - sal_Int32 implGetRow( sal_Int32 nChildIndex ) const; - /** @attention This method requires locked mutex's and a living object. - @return The column index of the specified cell index. */ - sal_Int32 implGetColumn( sal_Int32 nChildIndex ) const; - /** @attention This method requires locked mutex's and a living object. - @return The child index of the specified cell address. */ - sal_Int32 implGetChildIndex( sal_Int32 nRow, sal_Int32 nColumn ) const; - - /** Fills a sequence with sorted indexes of completely selected rows. - @attention This method requires locked mutex's and a living object. - @param rSeq Out-parameter that takes the sorted row index list. */ - void implGetSelectedRows( css::uno::Sequence< sal_Int32 >& rSeq ); - - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified row index is invalid. */ - void ensureIsValidRow( sal_Int32 nRow ) - throw ( css::lang::IndexOutOfBoundsException ); - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified column index is invalid. */ - void ensureIsValidColumn( sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException ); - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified cell address is invalid. */ - void ensureIsValidAddress( sal_Int32 nRow, sal_Int32 nColumn ) - throw ( css::lang::IndexOutOfBoundsException ); - /** @attention This method requires locked mutex's and a living object. - @throws <type>IndexOutOfBoundsException</type> - If the specified child index is invalid. */ - void ensureIsValidIndex( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException ); -}; - - -} // namespace accessibility - - -#endif // ACCESSIBILITY_EXT_ACCESSIBILEGRIDCONTROLTABLEBASE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlTableCell.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlTableCell.hxx deleted file mode 100644 index f03df43d2265..000000000000 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlTableCell.hxx +++ /dev/null @@ -1,154 +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 . - */ -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLECELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLECELL_HXX - -#include <comphelper/accessibletexthelper.hxx> -#include <cppuhelper/implbase2.hxx> -#include "accessibility/extended/AccessibleGridControlBase.hxx" -#include <svtools/accessibletable.hxx> - -namespace accessibility -{ - class AccessibleGridControlCell : public AccessibleGridControlBase - { - private: - sal_Int32 m_nRowPos; // the row number of the table cell - sal_Int32 m_nColPos; // the column id of the table cell - - protected: - // attribute access - inline sal_Int32 getRowPos( ) const { return m_nRowPos; } - inline sal_Int32 getColumnPos( ) const { return m_nColPos; } - - // XAccessibleComponent - virtual void SAL_CALL grabFocus() throw ( css::uno::RuntimeException, std::exception ) override; - - protected: - AccessibleGridControlCell( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::table::IAccessibleTable& _rTable, - sal_Int32 _nRowPos, - sal_uInt16 _nColPos, - ::svt::table::AccessibleTableControlObjType _eType - ); - - virtual ~AccessibleGridControlCell(); - - private: - AccessibleGridControlCell( const AccessibleGridControlCell& ) = delete; - AccessibleGridControlCell& operator=( const AccessibleGridControlCell& ) = delete; - }; - - typedef ::cppu::ImplHelper2 < css::accessibility::XAccessibleText - , css::accessibility::XAccessible - > AccessibleTextHelper_BASE; - // implementation of a table cell of GridControl - class AccessibleGridControlTableCell :public AccessibleGridControlCell - ,public AccessibleTextHelper_BASE - ,public ::comphelper::OCommonAccessibleText - { - protected: - // OCommonAccessibleText - virtual OUString implGetText() override; - virtual css::lang::Locale implGetLocale() override; - virtual void implGetSelection( sal_Int32& nStartIndex, sal_Int32& nEndIndex ) override; - virtual Rectangle implGetBoundingBox() override; - virtual Rectangle implGetBoundingBoxOnScreen() override; - - public: - AccessibleGridControlTableCell( const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::table::IAccessibleTable& _rTable, - sal_Int32 _nRowId, - sal_uInt16 _nColId, - svt::table::AccessibleTableControlObjType eObjType); - - // XInterface ------------------------------------------------------------- - - /** Queries for a new interface. */ - css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) - throw ( css::uno::RuntimeException, std::exception ) override; - - /** Aquires the object (calls acquire() on base class). */ - virtual void SAL_CALL acquire() throw () override; - - /** Releases the object (calls release() on base class). */ - virtual void SAL_CALL release() throw () override; - - /** @return The index of this object among the parent's children. */ - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The name of this class. - */ - virtual OUString SAL_CALL getImplementationName() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The count of visible children. - */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return - The XAccessible interface of the specified child. - */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - /** Creates a new AccessibleStateSetHelper and fills it with states of the - current object. - @return - A filled AccessibleStateSetHelper. - */ - ::utl::AccessibleStateSetHelper* implCreateStateSetHelper() override; - - // XAccessible ------------------------------------------------------------ - - /** @return The XAccessibleContext interface of this object. */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL - getAccessibleContext() - throw ( css::uno::RuntimeException, std::exception ) override; - - // XAccessibleText - virtual sal_Int32 SAL_CALL getCaretPosition() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getCharacterCount() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getSelectedText() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionStart() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionEnd() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getText() throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - }; -} -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEGRIDCONTROLTABLECELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessiblebrowseboxcell.hxx b/accessibility/inc/accessibility/extended/accessiblebrowseboxcell.hxx deleted file mode 100644 index bafb0590da5c..000000000000 --- a/accessibility/inc/accessibility/extended/accessiblebrowseboxcell.hxx +++ /dev/null @@ -1,77 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXCELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXCELL_HXX - -#include "accessibility/extended/AccessibleBrowseBoxBase.hxx" -#include <svtools/AccessibleBrowseBoxObjType.hxx> - - -namespace accessibility -{ - - - // = AccessibleBrowseBoxCell - - /** common accessibility-functionality for browse box elements which occupy a cell - */ - class AccessibleBrowseBoxCell : public AccessibleBrowseBoxBase - { - private: - sal_Int32 m_nRowPos; // the row number of the table cell - sal_uInt16 m_nColPos; // the column id of the table cell - - protected: - // attribute access - inline sal_Int32 getRowPos( ) const { return m_nRowPos; } - inline sal_Int32 getColumnPos( ) const { return m_nColPos; } - - protected: - // AccessibleBrowseBoxBase overridables - virtual Rectangle implGetBoundingBox() override; - virtual Rectangle implGetBoundingBoxOnScreen() override; - - // XAccessibleComponent - virtual void SAL_CALL grabFocus() throw ( css::uno::RuntimeException, std::exception ) override; - - protected: - AccessibleBrowseBoxCell( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::svt::IAccessibleTableProvider& _rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - sal_Int32 _nRowPos, - sal_uInt16 _nColPos, - ::svt::AccessibleBrowseBoxObjType _eType = ::svt::BBTYPE_TABLECELL - ); - - virtual ~AccessibleBrowseBoxCell(); - - private: - AccessibleBrowseBoxCell( const AccessibleBrowseBoxCell& ) = delete; - AccessibleBrowseBoxCell& operator=( const AccessibleBrowseBoxCell& ) = delete; - }; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEBROWSEBOXCELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibleeditbrowseboxcell.hxx b/accessibility/inc/accessibility/extended/accessibleeditbrowseboxcell.hxx deleted file mode 100644 index 8ec563a65e8b..000000000000 --- a/accessibility/inc/accessibility/extended/accessibleeditbrowseboxcell.hxx +++ /dev/null @@ -1,142 +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 . - */ -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEEDITBROWSEBOXCELL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEEDITBROWSEBOXCELL_HXX - -#include "accessiblebrowseboxcell.hxx" -#include <com/sun/star/accessibility/XAccessibleAction.hpp> -#include <com/sun/star/accessibility/XAccessibleEventListener.hpp> -#include <com/sun/star/accessibility/XAccessibleRelationSet.hpp> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/accessibility/XAccessibleValue.hpp> -#include <cppuhelper/compbase.hxx> -#include <comphelper/accessiblewrapper.hxx> - -namespace accessibility -{ - - // = EditBrowseBoxTableCell - - class EditBrowseBoxTableCell :public AccessibleBrowseBoxCell - ,public ::comphelper::OAccessibleContextWrapperHelper - { - public: - 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, - ::svt::IAccessibleTableProvider& _rBrowseBox, - const css::uno::Reference< css::awt::XWindow >& _xFocusWindow, - sal_Int32 _nRowPos, - sal_uInt16 _nColPos - ); - - protected: - virtual ~EditBrowseBoxTableCell(); - - protected: - // XAccessibleComponent - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override ; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override ; - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw ( css::uno::RuntimeException, std::exception ) override; - - // XInterface - DECLARE_XINTERFACE( ) - // XTypeProvider - DECLARE_XTYPEPROVIDER( ) - - // XAccessibleContext - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (css::uno::RuntimeException, std::exception) override; - - sal_Int16 SAL_CALL getAccessibleRole() throw ( css::uno::RuntimeException, std::exception ) override; - - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - - virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) throw (css::uno::RuntimeException, std::exception) override; - protected: - // OComponentHelper - virtual void SAL_CALL disposing() override; - - // XComponent/OComponentProxyAggregationHelper (needs to be disambiguated) - virtual void SAL_CALL dispose() throw( css::uno::RuntimeException, std::exception ) override; - - // OAccessibleContextWrapperHelper(); - void notifyTranslatedEvent( const css::accessibility::AccessibleEventObject& _rEvent ) throw (css::uno::RuntimeException) override; - - private: - EditBrowseBoxTableCell( const EditBrowseBoxTableCell& ) = delete; - EditBrowseBoxTableCell& operator=( const EditBrowseBoxTableCell& ) = delete; - }; - - - // = EditBrowseBoxTableCell - - // XAccessible providing an EditBrowseBoxTableCell - class EditBrowseBoxTableCellAccess: - public comphelper::OBaseMutex, - public cppu::WeakComponentImplHelper<css::accessibility::XAccessible> - { - protected: - css::uno::WeakReference< css::accessibility::XAccessibleContext > - m_aContext; - css::uno::Reference< css::accessibility::XAccessible > - m_xParent; - css::uno::Reference< css::accessibility::XAccessible > - m_xControlAccessible; - css::uno::Reference< css::awt::XWindow > - m_xFocusWindow; - ::svt::IAccessibleTableProvider* m_pBrowseBox; - sal_Int32 m_nRowPos; - sal_uInt16 m_nColPos; - - public: - EditBrowseBoxTableCellAccess( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - const css::uno::Reference< css::accessibility::XAccessible >& _rxControlAccessible, - const css::uno::Reference< css::awt::XWindow >& _rxFocusWindow, - ::svt::IAccessibleTableProvider& _rBrowseBox, - sal_Int32 _nRowPos, - sal_uInt16 _nColPos - ); - - protected: - virtual ~EditBrowseBoxTableCellAccess(); - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XComponent/OComponentHelper - virtual void SAL_CALL disposing() override; - - private: - EditBrowseBoxTableCellAccess( const EditBrowseBoxTableCellAccess& ) = delete; - EditBrowseBoxTableCellAccess& operator=( const EditBrowseBoxTableCellAccess& ) = delete; - }; -} - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEEDITBROWSEBOXCELL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibleiconchoicectrl.hxx b/accessibility/inc/accessibility/extended/accessibleiconchoicectrl.hxx deleted file mode 100644 index 0bcaea64a6b8..000000000000 --- a/accessibility/inc/accessibility/extended/accessibleiconchoicectrl.hxx +++ /dev/null @@ -1,110 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEICONCHOICECTRL_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEICONCHOICECTRL_HXX - -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <cppuhelper/implbase2.hxx> -#include <vcl/vclevent.hxx> -#include <toolkit/awt/vclxaccessiblecomponent.hxx> - -// class AccessibleListBox ----------------------------------------------- - -class SvtIconChoiceCtrl; - -namespace accessibility -{ - typedef ::cppu::ImplHelper2< css::accessibility::XAccessible - , css::accessibility::XAccessibleSelection> AccessibleIconChoiceCtrl_BASE; - - /** the class OAccessibleListBoxEntry represents the base class for an accessible object of a listbox entry - */ - class AccessibleIconChoiceCtrl :public AccessibleIconChoiceCtrl_BASE - ,public VCLXAccessibleComponent - { - protected: - css::uno::Reference< css::accessibility::XAccessible > m_xParent; - - protected: - virtual ~AccessibleIconChoiceCtrl(); - - /** this function is called upon disposing the component */ - virtual void SAL_CALL disposing() override; - - virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override; - virtual void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ) override; - - VclPtr< SvtIconChoiceCtrl > getCtrl(); - - public: - /** OAccessibleBase needs a valid view - @param _rIconCtrl - is the box for which we implement an accessible object - @param _xParent - is our parent accessible object - */ - AccessibleIconChoiceCtrl( SvtIconChoiceCtrl& _rIconCtrl, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent ); - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XInterface - DECLARE_XINTERFACE() - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw(css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException, std::exception) override; - - // XServiceInfo - static methods - static css::uno::Sequence< OUString > getSupportedServiceNames_Static() throw(css::uno::RuntimeException); - static OUString getImplementationName_Static() throw(css::uno::RuntimeException); - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleSelection - void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL clearAccessibleSelection( ) throw (css::uno::RuntimeException, std::exception) override; - void SAL_CALL selectAllAccessibleChildren( ) throw (css::uno::RuntimeException, std::exception) override; - sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - }; - - -}// namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEICONCHOICECTRL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx b/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx deleted file mode 100644 index 180aedf06090..000000000000 --- a/accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx +++ /dev/null @@ -1,191 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEICONCHOICECTRLENTRY_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEICONCHOICECTRLENTRY_HXX - -#include <deque> -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/accessibility/XAccessibleComponent.hpp> -#include <com/sun/star/accessibility/XAccessibleContext.hpp> -#include <com/sun/star/accessibility/XAccessibleStateSet.hpp> -#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> -#include <com/sun/star/accessibility/XAccessibleAction.hpp> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/lang/XEventListener.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/compbase8.hxx> -#include <comphelper/broadcasthelper.hxx> -#include <comphelper/accessibletexthelper.hxx> -#include <tools/gen.hxx> -#include <vcl/vclptr.hxx> - -// forward - -class SvxIconChoiceCtrlEntry; -class SvtIconChoiceCtrl; - -namespace accessibility -{ - -// class AccessibleIconChoiceCtrlEntry - - typedef ::cppu::WeakAggComponentImplHelper8< css::accessibility::XAccessible - , css::accessibility::XAccessibleContext - , css::accessibility::XAccessibleComponent - , css::accessibility::XAccessibleEventBroadcaster - , css::accessibility::XAccessibleText - , css::accessibility::XAccessibleAction - , css::lang::XServiceInfo - , css::lang::XEventListener > AccessibleIconChoiceCtrlEntry_BASE; - - /** the class AccessibleListBoxEntry represents the class for an accessible object of a listbox entry */ - class AccessibleIconChoiceCtrlEntry : public ::comphelper::OBaseMutex, - public AccessibleIconChoiceCtrlEntry_BASE, - public ::comphelper::OCommonAccessibleText - { - private: - /** The treelistbox control */ - VclPtr<SvtIconChoiceCtrl> m_pIconCtrl; - sal_Int32 m_nIndex; - - protected: - /// client id in the AccessibleEventNotifier queue - sal_uInt32 m_nClientId; - - css::uno::Reference< css::accessibility::XAccessible > m_xParent; - - private: - Rectangle GetBoundingBox_Impl() const; - Rectangle GetBoundingBoxOnScreen_Impl() const; - bool IsAlive_Impl() const; - bool IsShowing_Impl() const; - - Rectangle GetBoundingBox() - throw (css::lang::DisposedException, - css::uno::RuntimeException); - Rectangle GetBoundingBoxOnScreen() - throw (css::lang::DisposedException, - css::uno::RuntimeException); - void EnsureIsAlive() const throw ( css::lang::DisposedException ); - - protected: - virtual ~AccessibleIconChoiceCtrlEntry(); - /** this function is called upon disposing the component - */ - virtual void SAL_CALL disposing() override; - - // OCommonAccessibleText - virtual OUString implGetText() override; - virtual css::lang::Locale implGetLocale() override; - virtual void implGetSelection( sal_Int32& nStartIndex, sal_Int32& nEndIndex ) override; - - public: - /** Ctor() - @param _rIconCtrl - the icon control - @param _nPos - the entry number - @param _xParent - is our parent accessible object - */ - AccessibleIconChoiceCtrlEntry( SvtIconChoiceCtrl& _rIconCtrl, - sal_Int32 _nPos, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent ); - - // XTypeProvider - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (css::uno::RuntimeException, std::exception) override; - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw(css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException, std::exception) override; - - // XServiceInfo - static methods - static css::uno::Sequence< OUString > getSupportedServiceNames_Static() throw(css::uno::RuntimeException); - static OUString getImplementationName_Static() throw(css::uno::RuntimeException); - - // XEventListener - virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) throw(css::uno::RuntimeException, std::exception) override; - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::lang::Locale SAL_CALL getLocale( ) throw (css::accessibility::IllegalAccessibleComponentStateException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleComponent - virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Rectangle SAL_CALL getBounds( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Point SAL_CALL getLocation( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Point SAL_CALL getLocationOnScreen( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Size SAL_CALL getSize( ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL grabFocus( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleText - virtual sal_Int32 SAL_CALL getCaretPosition() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getCharacterCount() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getSelectedText() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionStart() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionEnd() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getText() throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleEventBroadcaster - virtual void SAL_CALL addAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL removeAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleAction - virtual sal_Int32 SAL_CALL getAccessibleActionCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL doAccessibleAction( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleActionDescription( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleKeyBinding > SAL_CALL getAccessibleActionKeyBinding( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - }; - - -}// namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLEICONCHOICECTRLENTRY_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessiblelistbox.hxx b/accessibility/inc/accessibility/extended/accessiblelistbox.hxx deleted file mode 100644 index a6e0c5cae09c..000000000000 --- a/accessibility/inc/accessibility/extended/accessiblelistbox.hxx +++ /dev/null @@ -1,133 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLELISTBOX_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLELISTBOX_HXX - -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <cppuhelper/implbase2.hxx> -#include <vcl/vclevent.hxx> -#include <toolkit/awt/vclxaccessiblecomponent.hxx> - -#include <map> - -// class AccessibleListBox ----------------------------------------------- - -class SvTreeListBox; -class SvTreeListEntry; - -namespace accessibility -{ - class AccessibleListBoxEntry; - - /** the class OAccessibleListBoxEntry represents the base class for an accessible object of a listbox entry - */ - class AccessibleListBox: - public cppu::ImplHelper2< - css::accessibility::XAccessible, - css::accessibility::XAccessibleSelection>, - public VCLXAccessibleComponent - { - protected: - - css::uno::Reference< css::accessibility::XAccessible > m_xParent; - - protected: - virtual ~AccessibleListBox(); - - // OComponentHelper overridables - /** this function is called upon disposing the component */ - virtual void SAL_CALL disposing() override; - - // VCLXAccessibleComponent - virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override; - virtual void ProcessWindowChildEvent( const VclWindowEvent& rVclWindowEvent ) override; - virtual void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ) override; - - VclPtr< SvTreeListBox > getListBox() const; - - void RemoveChildEntries(SvTreeListEntry*); - - sal_Int32 GetRoleType(); - - public: - /** OAccessibleBase needs a valid view - @param _rListBox - is the box for which we implement an accessible object - @param _xParent - is our parent accessible object - */ - AccessibleListBox( SvTreeListBox& _rListBox, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent ); - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XInterface - DECLARE_XINTERFACE() - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw(css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException, std::exception) override; - - // XServiceInfo - static methods - static css::uno::Sequence< OUString > getSupportedServiceNames_Static() throw(css::uno::RuntimeException); - static OUString getImplementationName_Static() throw(css::uno::RuntimeException); - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleSelection - void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL clearAccessibleSelection( ) throw (css::uno::RuntimeException, std::exception) override; - void SAL_CALL selectAllAccessibleChildren( ) throw (css::uno::RuntimeException, std::exception) override; - sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - -private: - - typedef std::map< SvTreeListEntry*, css::uno::Reference< css::accessibility::XAccessible > > MAP_ENTRY; - MAP_ENTRY m_mapEntry; - - css::uno::Reference< css::accessibility::XAccessible > m_xFocusedChild; - - accessibility::AccessibleListBoxEntry* GetCurEventEntry( const VclWindowEvent& rVclWindowEvent ); - - }; - - -}// namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLELISTBOX_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx b/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx deleted file mode 100644 index 3ce874162b92..000000000000 --- a/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx +++ /dev/null @@ -1,230 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLELISTBOXENTRY_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLELISTBOXENTRY_HXX - -#include <deque> -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/accessibility/XAccessibleComponent.hpp> -#include <com/sun/star/accessibility/XAccessibleContext.hpp> -#include <com/sun/star/accessibility/XAccessibleStateSet.hpp> -#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> -#include <com/sun/star/accessibility/XAccessibleAction.hpp> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/lang/XEventListener.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/accessibility/XAccessibleValue.hpp> -#include <cppuhelper/compbase9.hxx> -#include <comphelper/broadcasthelper.hxx> -#include <comphelper/accessibletexthelper.hxx> -#include <svtools/treelistentry.hxx> -#include <tools/gen.hxx> -#include "accessibility/extended/listboxaccessible.hxx" - -// forward --------------------------------------------------------------- - -namespace com { namespace sun { namespace star { namespace awt { - struct Point; - struct Rectangle; - struct Size; - class XFocusListener; -} } } } - -class SvTreeListBox; -class SvTreeListEntry; - - -namespace accessibility -{ - - -// class AccessibleListBoxEntry ------------------------------------------ - typedef ::cppu::WeakAggComponentImplHelper9< css::accessibility::XAccessible - , css::accessibility::XAccessibleContext - , css::accessibility::XAccessibleComponent - , css::accessibility::XAccessibleEventBroadcaster - , css::accessibility::XAccessibleAction - , css::accessibility::XAccessibleSelection - , css::accessibility::XAccessibleText - , css::accessibility::XAccessibleValue - , css::lang::XServiceInfo > AccessibleListBoxEntry_BASE; - - /** the class AccessibleListBoxEntry represents the class for an accessible object of a listbox entry */ - class AccessibleListBoxEntry:public ::comphelper::OBaseMutex - ,public AccessibleListBoxEntry_BASE - ,public ::comphelper::OCommonAccessibleText - ,public ListBoxAccessibleBase - { - friend class AccessibleListBox; - - private: - /** The treelistbox control */ - ::std::deque< sal_Int32 > m_aEntryPath; - SvTreeListEntry* m_pSvLBoxEntry; // Needed for a11y focused item... - - - protected: - /// client id in the AccessibleEventNotifier queue - sal_uInt32 m_nClientId; - - css::uno::WeakReference< css::accessibility::XAccessible > - m_aParent; - - private: - Rectangle GetBoundingBox_Impl() const; - Rectangle GetBoundingBoxOnScreen_Impl() const; - bool IsAlive_Impl() const; - bool IsShowing_Impl() const; - - Rectangle GetBoundingBox() - throw (css::lang::DisposedException, - css::uno::RuntimeException); - Rectangle GetBoundingBoxOnScreen() - throw (css::lang::DisposedException, - css::uno::RuntimeException); - void EnsureIsAlive() const throw ( css::lang::DisposedException ); - - void NotifyAccessibleEvent( sal_Int16 _nEventId, const css::uno::Any& _aOldValue, const css::uno::Any& _aNewValue ); - - protected: - virtual ~AccessibleListBoxEntry(); - - /** this function is called upon disposing the component - */ - virtual void SAL_CALL disposing() override; - - // ListBoxAccessible/XComponent - virtual void SAL_CALL dispose() throw ( css::uno::RuntimeException, std::exception ) override; - - // OCommonAccessibleText - virtual OUString implGetText() override; - virtual css::lang::Locale implGetLocale() override; - virtual void implGetSelection( sal_Int32& nStartIndex, sal_Int32& nEndIndex ) override; - - public: - /** Ctor() - @param _rListBox - the view control - @param _pEntry - the entry - @param _xParent - is our parent accessible object - */ - AccessibleListBoxEntry( SvTreeListBox& _rListBox, SvTreeListEntry* _pEntry, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent ); - - SvTreeListEntry* GetSvLBoxEntry() const { return m_pSvLBoxEntry; } - - - protected: - // XTypeProvider - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (css::uno::RuntimeException, std::exception) override; - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw(css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException, std::exception) override; - - // XServiceInfo - static methods - static css::uno::Sequence< OUString > getSupportedServiceNames_Static() throw(css::uno::RuntimeException); - static OUString getImplementationName_Static() throw(css::uno::RuntimeException); - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::lang::Locale SAL_CALL getLocale( ) throw (css::accessibility::IllegalAccessibleComponentStateException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleComponent - virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Rectangle SAL_CALL getBounds( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Point SAL_CALL getLocation( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Point SAL_CALL getLocationOnScreen( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::awt::Size SAL_CALL getSize( ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL grabFocus( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleText - virtual sal_Int32 SAL_CALL getCaretPosition() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getCharacterCount() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getSelectedText() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionStart() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectionEnd() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getText() throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleEventBroadcaster - virtual void SAL_CALL addAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL removeAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleAction - virtual sal_Int32 SAL_CALL getAccessibleActionCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL doAccessibleAction( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleActionDescription( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleKeyBinding > SAL_CALL getAccessibleActionKeyBinding( sal_Int32 nIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleSelection - void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL clearAccessibleSelection( ) throw (css::uno::RuntimeException, std::exception) override; - void SAL_CALL selectAllAccessibleChildren( ) throw (css::uno::RuntimeException, std::exception) override; - sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Any SAL_CALL getCurrentValue( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL setCurrentValue( const css::uno::Any& aNumber ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Any SAL_CALL getMaximumValue( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Any SAL_CALL getMinimumValue( ) throw (css::uno::RuntimeException, std::exception) override; - private: - css::uno::Reference< css::accessibility::XAccessible > implGetParentAccessible( ) const; - SvTreeListEntry* GetRealChild(sal_Int32 nIndex); - sal_Int32 GetRoleType(); - }; - - -}// namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLELISTBOXENTRY_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibletabbar.hxx b/accessibility/inc/accessibility/extended/accessibletabbar.hxx deleted file mode 100644 index 60c8d52a78f7..000000000000 --- a/accessibility/inc/accessibility/extended/accessibletabbar.hxx +++ /dev/null @@ -1,112 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBAR_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBAR_HXX - -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/implbase2.hxx> -#include "accessibility/extended/accessibletabbarbase.hxx" - -#include <vector> - -namespace utl { -class AccessibleStateSetHelper; -} - - -namespace accessibility -{ - - - // class AccessibleTabBar - - - typedef ::cppu::ImplHelper2< - css::accessibility::XAccessible, - css::lang::XServiceInfo > AccessibleTabBar_BASE; - - class AccessibleTabBar : public AccessibleTabBarBase, - public AccessibleTabBar_BASE - { - private: - typedef ::std::vector< css::uno::Reference< css::accessibility::XAccessible > > AccessibleChildren; - - AccessibleChildren m_aAccessibleChildren; - - protected: - virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override; - void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ); - - // OCommonAccessibleComponent - virtual css::awt::Rectangle implGetBounds( ) throw (css::uno::RuntimeException) override; - - // XComponent - virtual void SAL_CALL disposing() override; - - public: - AccessibleTabBar( TabBar* pTabBar ); - virtual ~AccessibleTabBar(); - - // XInterface - DECLARE_XINTERFACE() - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException, std::exception) override; - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::lang::Locale SAL_CALL getLocale( ) throw (css::accessibility::IllegalAccessibleComponentStateException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleComponent - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL grabFocus( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleExtendedComponent - virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTitledBorderText( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getToolTipText( ) throw (css::uno::RuntimeException, std::exception) override; - }; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBAR_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx b/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx deleted file mode 100644 index 40fadf73d497..000000000000 --- a/accessibility/inc/accessibility/extended/accessibletabbarbase.hxx +++ /dev/null @@ -1,65 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARBASE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARBASE_HXX - -#include <comphelper/accessiblecomponenthelper.hxx> -#include <tools/link.hxx> -#include <vcl/vclptr.hxx> - -class TabBar; -class VCLExternalSolarLock; -class VclSimpleEvent; -class VclWindowEvent; - - -namespace accessibility -{ - -class AccessibleTabBarBase : public comphelper::OAccessibleExtendedComponentHelper -{ -public: - explicit AccessibleTabBarBase( TabBar* pTabBar ); - virtual ~AccessibleTabBarBase(); - -protected: - DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void ); - - virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ); - - // XComponent - virtual void SAL_CALL disposing() override; - -private: - void SetTabBarPointer( TabBar* pTabBar ); - void ClearTabBarPointer(); - -protected: - VCLExternalSolarLock* m_pExternalLock; - VclPtr<TabBar> m_pTabBar; -}; - - -} // namespace accessibility - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibletabbarpage.hxx b/accessibility/inc/accessibility/extended/accessibletabbarpage.hxx deleted file mode 100644 index 8904a14bd7b0..000000000000 --- a/accessibility/inc/accessibility/extended/accessibletabbarpage.hxx +++ /dev/null @@ -1,128 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARPAGE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARPAGE_HXX - -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/implbase2.hxx> -#include "accessibility/extended/accessibletabbarbase.hxx" - -#include <vector> - -namespace utl { -class AccessibleStateSetHelper; -} - - -namespace accessibility -{ - - - // class AccessibleTabBarPage - - - typedef ::cppu::ImplHelper2< - css::accessibility::XAccessible, - css::lang::XServiceInfo > AccessibleTabBarPage_BASE; - - class AccessibleTabBarPage : public AccessibleTabBarBase, - public AccessibleTabBarPage_BASE - { - friend class AccessibleTabBarPageList; - - private: - sal_uInt16 m_nPageId; - bool m_bEnabled; - bool m_bShowing; - bool m_bSelected; - OUString m_sPageText; - - css::uno::Reference< css::accessibility::XAccessible > m_xParent; - - protected: - bool IsEnabled(); - bool IsShowing(); - bool IsSelected(); - - void SetShowing( bool bShowing ); - void SetSelected( bool bSelected ); - void SetPageText( const OUString& sPageText ); - - sal_uInt16 GetPageId() const { return m_nPageId; } - - void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ); - - // OCommonAccessibleComponent - virtual css::awt::Rectangle implGetBounds( ) throw (css::uno::RuntimeException) override; - - // XComponent - virtual void SAL_CALL disposing() override; - - public: - AccessibleTabBarPage( TabBar* pTabBar, sal_uInt16 nPageId, - const css::uno::Reference< css::accessibility::XAccessible >& rxParent ); - virtual ~AccessibleTabBarPage(); - - // XInterface - DECLARE_XINTERFACE() - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException, std::exception) override; - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::lang::Locale SAL_CALL getLocale( ) throw (css::accessibility::IllegalAccessibleComponentStateException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleComponent - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL grabFocus( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleExtendedComponent - virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTitledBorderText( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getToolTipText( ) throw (css::uno::RuntimeException, std::exception) override; - }; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARPAGE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibletabbarpagelist.hxx b/accessibility/inc/accessibility/extended/accessibletabbarpagelist.hxx deleted file mode 100644 index a9d7556ba105..000000000000 --- a/accessibility/inc/accessibility/extended/accessibletabbarpagelist.hxx +++ /dev/null @@ -1,132 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARPAGELIST_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARPAGELIST_HXX - -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/implbase3.hxx> -#include "accessibility/extended/accessibletabbarbase.hxx" - -#include <vector> - -namespace utl { -class AccessibleStateSetHelper; -} - - -namespace accessibility -{ - - - // class AccessibleTabBarPageList - - - typedef ::cppu::ImplHelper3< - css::accessibility::XAccessible, - css::accessibility::XAccessibleSelection, - css::lang::XServiceInfo > AccessibleTabBarPageList_BASE; - - class AccessibleTabBarPageList : public AccessibleTabBarBase, - public AccessibleTabBarPageList_BASE - { - private: - typedef ::std::vector< css::uno::Reference< css::accessibility::XAccessible > > AccessibleChildren; - - AccessibleChildren m_aAccessibleChildren; - sal_Int32 m_nIndexInParent; - - protected: - void UpdateShowing( bool bShowing ); - void UpdateSelected( sal_Int32 i, bool bSelected ); - void UpdatePageText( sal_Int32 i ); - - void InsertChild( sal_Int32 i ); - void RemoveChild( sal_Int32 i ); - void MoveChild( sal_Int32 i, sal_Int32 j ); - - virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override; - void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ); - - // OCommonAccessibleComponent - virtual css::awt::Rectangle implGetBounds( ) throw (css::uno::RuntimeException) override; - - // XComponent - virtual void SAL_CALL disposing() override; - - public: - AccessibleTabBarPageList( TabBar* pTabBar, sal_Int32 nIndexInParent ); - virtual ~AccessibleTabBarPageList(); - - // XInterface - DECLARE_XINTERFACE() - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException, std::exception) override; - - // XAccessible - virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleContext - virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getAccessibleIndexInParent( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleDescription( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getAccessibleName( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::lang::Locale SAL_CALL getLocale( ) throw (css::accessibility::IllegalAccessibleComponentStateException, css::uno::RuntimeException, std::exception) override; - - // XAccessibleComponent - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL grabFocus( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getForeground( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getBackground( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleExtendedComponent - virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getTitledBorderText( ) throw (css::uno::RuntimeException, std::exception) override; - virtual OUString SAL_CALL getToolTipText( ) throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleSelection - virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL clearAccessibleSelection( ) throw (css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL selectAllAccessibleChildren( ) throw (css::uno::RuntimeException, std::exception) override; - virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - }; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABBARPAGELIST_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibletablistbox.hxx b/accessibility/inc/accessibility/extended/accessibletablistbox.hxx deleted file mode 100644 index bfc9e2a2c80e..000000000000 --- a/accessibility/inc/accessibility/extended/accessibletablistbox.hxx +++ /dev/null @@ -1,104 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABLISTBOX_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABLISTBOX_HXX - -#include "AccessibleBrowseBox.hxx" -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> -#include <svtools/accessibletableprovider.hxx> - -class SvHeaderTabListBox; - - -namespace accessibility { - -class AccessibleBrowseBoxTable; - -typedef ::cppu::ImplHelper1 < css::accessibility::XAccessible - > AccessibleTabListBox_Base; - -/** !!! */ -class AccessibleTabListBox - :public AccessibleBrowseBox - ,public AccessibleTabListBox_Base - ,public ::svt::IAccessibleTabListBox -{ -private: - VclPtr<SvHeaderTabListBox> m_pTabListBox; - -public: - /** ctor() - @param rxParent XAccessible interface of the parent object. - @param rBox The HeaderTabListBox control. */ - AccessibleTabListBox( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - SvHeaderTabListBox& rBox ); - -public: - // XInterface - DECLARE_XINTERFACE( ) - // XTypeProvider - DECLARE_XTYPEPROVIDER( ) - - // XAccessibleContext ----------------------------------------------------- - - /** @return The count of visible children. */ - virtual sal_Int32 SAL_CALL getAccessibleChildCount() - throw ( css::uno::RuntimeException, std::exception ) override; - - /** @return The XAccessible interface of the specified child. */ - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild( sal_Int32 nChildIndex ) - throw ( css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception ) override; - - // XAccessibleContext - css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() throw ( css::uno::RuntimeException, std::exception ) override; - - // IAccessibleTabListBox - virtual css::uno::Reference< css::accessibility::XAccessible > - getMyself() override - { - return this; - } - - css::uno::Reference< css::accessibility::XAccessible > - getHeaderBar() override - { - return AccessibleBrowseBox::getHeaderBar( svt::BBTYPE_COLUMNHEADERBAR ); - } - -protected: - /** dtor() */ - virtual ~AccessibleTabListBox(); - - /** This method creates and returns an accessible table. - @return An AccessibleBrowseBoxTable. */ - virtual AccessibleBrowseBoxTable* createAccessibleTable() override; -}; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABLISTBOX_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx deleted file mode 100644 index 4c79a9962871..000000000000 --- a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx +++ /dev/null @@ -1,109 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABLISTBOXTABLE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABLISTBOXTABLE_HXX - -#include "AccessibleBrowseBoxTable.hxx" -#include <comphelper/uno3.hxx> -#include <cppuhelper/implbase1.hxx> -#include <com/sun/star/accessibility/XAccessibleSelection.hpp> - -class SvHeaderTabListBox; - - -namespace accessibility { - -typedef ::cppu::ImplHelper1< css::accessibility::XAccessibleSelection > - AccessibleTabListBoxTableImplHelper; - -class AccessibleTabListBoxTable : public AccessibleBrowseBoxTable, public AccessibleTabListBoxTableImplHelper -{ -private: - VclPtr<SvHeaderTabListBox> m_pTabListBox; - - css::uno::Reference< css::accessibility::XAccessible > m_xCurChild; - - void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ); - DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void ); - - // helpers ---------------------------------------------------------------- - - /** Throws an exception, if nIndex is not a valid child index. */ - void ensureValidIndex( sal_Int32 _nIndex ) const; - - /** Returns true, if the specified row is selected. */ - bool implIsRowSelected( sal_Int32 _nRow ) const; - /** Selects the specified row. */ - void implSelectRow( sal_Int32 _nRow, bool _bSelect ); - - /** Returns the count of rows in the table. */ - sal_Int32 implGetRowCount() const override; - /** Returns the total column count in the table. */ - sal_Int32 implGetColumnCount() const override; - /** Returns the count of selected rows in the table. */ - sal_Int32 implGetSelRowCount() const; - /** Returns the total cell count in the table (including header). */ - inline sal_Int32 implGetCellCount() const { return implGetRowCount() * implGetColumnCount(); } - - /** Returns the row index from cell index. */ - inline sal_Int32 implGetRow( sal_Int32 _nIndex ) const { return _nIndex / implGetColumnCount(); } - /** Returns the absolute row index of the nSelRow-th selected row. */ - sal_Int32 implGetSelRow( sal_Int32 _nSelRow ) const; - -public: - /** ctor() - @param rxParent XAccessible interface of the parent object. - @param rBox The HeaderTabListBox control. */ - AccessibleTabListBoxTable( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - SvHeaderTabListBox& rBox ); - -protected: - /** dtor() */ - virtual ~AccessibleTabListBoxTable(); - -public: - // XInterface - DECLARE_XINTERFACE( ) - - // XTypeProvider - DECLARE_XTYPEPROVIDER( ) - - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() - throw (css::uno::RuntimeException, std::exception) override; - - // XAccessibleSelection - void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL clearAccessibleSelection( ) throw (css::uno::RuntimeException, std::exception) override; - void SAL_CALL selectAllAccessibleChildren( ) throw (css::uno::RuntimeException, std::exception) override; - sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) throw (css::uno::RuntimeException, std::exception) override; - css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; - void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override; -}; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_ACCESSIBLETABLISTBOXTABLE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/listboxaccessible.hxx b/accessibility/inc/accessibility/extended/listboxaccessible.hxx deleted file mode 100644 index ed6e0a29d783..000000000000 --- a/accessibility/inc/accessibility/extended/listboxaccessible.hxx +++ /dev/null @@ -1,84 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_LISTBOXACCESSIBLE_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_LISTBOXACCESSIBLE_HXX - -#include <com/sun/star/uno/RuntimeException.hpp> -#include <tools/link.hxx> -#include <vcl/vclptr.hxx> - -class SvTreeListBox; -class VclSimpleEvent; -class VclWindowEvent; - -namespace accessibility -{ - - /** helper class which couples its life time to the life time of an - SvTreeListBox - */ - class ListBoxAccessibleBase - { - private: - VclPtr<SvTreeListBox> m_pWindow; - - protected: - inline SvTreeListBox* getListBox() const - { - return const_cast< ListBoxAccessibleBase* >( this )->m_pWindow; - } - - inline bool isAlive() const { return nullptr != m_pWindow; } - - public: - ListBoxAccessibleBase( SvTreeListBox& _rWindow ); - - protected: - virtual ~ListBoxAccessibleBase( ); - - // own overridables - /// will be called for any VclWindowEvent events broadcasted by our VCL window - void ProcessWindowEvent( const VclWindowEvent& _rVclWindowEvent ); - - /** will be called when our window broadcasts the VCLEVENT_OBJECT_DYING event - - <p>Usually, you derive your class from both ListBoxAccessibleBase and XComponent, - and call XComponent::dispose here.</p> - */ - virtual void SAL_CALL dispose() throw ( css::uno::RuntimeException, std::exception ) = 0; - - /// to be called in the dispose method of your derived class - void disposing(); - - private: - DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void ); - - private: - ListBoxAccessibleBase( const ListBoxAccessibleBase& ) = delete; - ListBoxAccessibleBase& operator=( const ListBoxAccessibleBase& ) = delete; - }; - - -} // namespace accessibility - - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_LISTBOXACCESSIBLE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx b/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx deleted file mode 100644 index 6d101612f54f..000000000000 --- a/accessibility/inc/accessibility/extended/textwindowaccessibility.hxx +++ /dev/null @@ -1,693 +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 . - */ - -#ifndef INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_TEXTWINDOWACCESSIBILITY_HXX -#define INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_TEXTWINDOWACCESSIBILITY_HXX - -#include <toolkit/awt/vclxaccessiblecomponent.hxx> -#include <svl/lstner.hxx> -#include <vcl/textdata.hxx> -#include <vcl/texteng.hxx> -#include <vcl/textview.hxx> -#include <vcl/txtattr.hxx> -#include <com/sun/star/awt/FontWeight.hpp> -#include <com/sun/star/lang/EventObject.hpp> -#include <com/sun/star/uno/Reference.hxx> -#include <com/sun/star/util/Color.hpp> -#include <com/sun/star/accessibility/AccessibleEventId.hpp> -#include <com/sun/star/accessibility/AccessibleRelationType.hpp> -#include <com/sun/star/accessibility/AccessibleRole.hpp> -#include <com/sun/star/accessibility/AccessibleStateType.hpp> -#include <com/sun/star/accessibility/AccessibleTextType.hpp> -#include <com/sun/star/accessibility/XAccessible.hpp> -#include <com/sun/star/accessibility/XAccessibleContext.hpp> -#include <com/sun/star/accessibility/XAccessibleEditableText.hpp> -#include <com/sun/star/accessibility/XAccessibleMultiLineText.hpp> -#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp> -#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> -#include <com/sun/star/accessibility/XAccessibleComponent.hpp> -#include <toolkit/awt/vclxwindow.hxx> -#include <cppuhelper/basemutex.hxx> -#include <cppuhelper/compbase7.hxx> -#include <comphelper/accessiblecontexthelper.hxx> -#include <comphelper/accessibletexthelper.hxx> -#include <rtl/ref.hxx> - -#include <svtools/svtools.hrc> -#include <vcl/svapp.hxx> -#include <unotools/accessiblerelationsethelper.hxx> -#include <queue> -#include <memory> -#include <unordered_map> - -class TextEngine; -class TextView; - -namespace accessibility -{ - -class Document; - -class SfxListenerGuard -{ -public: - inline SfxListenerGuard(::SfxListener & rListener): - m_rListener(rListener), m_pNotifier(nullptr) {} - - inline ~SfxListenerGuard() { endListening(); } - - // Not thread safe: - void startListening(::SfxBroadcaster & rNotifier); - - // Not thread safe: - void endListening(); - -private: - ::SfxListener & m_rListener; - ::SfxBroadcaster * m_pNotifier; -}; - -class WindowListenerGuard -{ -public: - inline WindowListenerGuard(::Link<VclWindowEvent&,void> const & rListener): - m_aListener(rListener), m_pNotifier(nullptr) {} - - inline ~WindowListenerGuard() { endListening(); } - - // Not thread safe: - void startListening(vcl::Window & rNotifier); - - // Not thread safe: - void endListening(); - -private: - ::Link<VclWindowEvent&,void> m_aListener; - VclPtr<vcl::Window> m_pNotifier; -}; - -class ParagraphInfo -{ -public: - inline ParagraphInfo(::sal_Int32 nHeight): m_nHeight(nHeight) {} - - inline - css::uno::WeakReference< css::accessibility::XAccessible > const & - getParagraph() const { return m_xParagraph; } - - inline ::sal_Int32 getHeight() const { return m_nHeight; } - - inline void setParagraph( - css::uno::Reference< css::accessibility::XAccessible > const & - rParagraph) { m_xParagraph = rParagraph; } - - inline void changeHeight(::sal_Int32 nHeight) { m_nHeight = nHeight; } - -private: - css::uno::WeakReference< css::accessibility::XAccessible > - m_xParagraph; - ::sal_Int32 m_nHeight; -}; - -typedef ::std::vector< ParagraphInfo > Paragraphs; - -typedef ::cppu::WeakAggComponentImplHelper7< - css::accessibility::XAccessible, - css::accessibility::XAccessibleContext, - css::accessibility::XAccessibleComponent, - css::accessibility::XAccessibleEditableText, - css::accessibility::XAccessibleMultiLineText, - css::accessibility::XAccessibleTextAttributes, - css::accessibility::XAccessibleEventBroadcaster > ParagraphBase; - -// The Paragraph's number is the absolute position within the text engine (from -// 0 to N - 1), whereas the Paragraph's index is the position within the text -// view/accessible parent (from 0 to M - 1). Paragraphs outside the currently -// visible range have an index of -1. -class Paragraph: - private cppu::BaseMutex, public ParagraphBase, private ::comphelper::OCommonAccessibleText -{ -public: - Paragraph(::rtl::Reference< Document > const & rDocument, - Paragraphs::size_type nNumber); - - // Not thread-safe. - inline Paragraphs::size_type getNumber() const { return m_nNumber; } - - // Not thread-safe. - void numberChanged(bool bIncremented); - - // Not thread-safe. - void textChanged(); - - // Thread-safe. - void notifyEvent(::sal_Int16 nEventId, css::uno::Any const & rOldValue, - css::uno::Any const & rNewValue); - -protected: - // OCommonAccessibleText - virtual void implGetParagraphBoundary( css::i18n::Boundary& rBoundary, - ::sal_Int32 nIndex ) override; - virtual void implGetLineBoundary( css::i18n::Boundary& rBoundary, - ::sal_Int32 nIndex ) override; - -private: - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - SAL_CALL getAccessibleContext() throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getAccessibleChildCount() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleChild(::sal_Int32 i) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleParent() throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getAccessibleIndexInParent() - throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int16 SAL_CALL getAccessibleRole() - throw (css::uno::RuntimeException, std::exception) override; - - virtual OUString SAL_CALL getAccessibleDescription() - throw (css::uno::RuntimeException, std::exception) override; - - virtual OUString SAL_CALL getAccessibleName() - throw (css::uno::RuntimeException, std::exception) override; - - virtual - css::uno::Reference< css::accessibility::XAccessibleRelationSet > - SAL_CALL getAccessibleRelationSet() throw (css::uno::RuntimeException, std::exception) override; - - virtual - css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL - getAccessibleStateSet() throw (css::uno::RuntimeException, std::exception) override; - - virtual css::lang::Locale SAL_CALL getLocale() - throw (css::accessibility::IllegalAccessibleComponentStateException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL containsPoint(css::awt::Point const & rPoint) - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleAtPoint(css::awt::Point const & rPoint) - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::awt::Rectangle SAL_CALL getBounds() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::awt::Point SAL_CALL getLocation() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::awt::Point SAL_CALL getLocationOnScreen() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::awt::Size SAL_CALL getSize() - throw (css::uno::RuntimeException, std::exception) override; - - virtual void SAL_CALL grabFocus() throw (css::uno::RuntimeException, std::exception) override; - - virtual css::util::Color SAL_CALL getForeground() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::util::Color SAL_CALL getBackground() - throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getCaretPosition() - throw (css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL setCaretPosition(::sal_Int32 nIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Unicode SAL_CALL getCharacter(::sal_Int32 nIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL - getCharacterAttributes(::sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual css::awt::Rectangle SAL_CALL - getCharacterBounds(::sal_Int32 nIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getCharacterCount() - throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL - getIndexAtPoint(css::awt::Point const & rPoint) - throw (css::uno::RuntimeException, std::exception) override; - - virtual OUString SAL_CALL getSelectedText() - throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getSelectionStart() - throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getSelectionEnd() - throw (css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL setSelection(::sal_Int32 nStartIndex, - ::sal_Int32 nEndIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual OUString SAL_CALL getText() - throw (css::uno::RuntimeException, std::exception) override; - - virtual OUString SAL_CALL getTextRange(::sal_Int32 nStartIndex, - ::sal_Int32 nEndIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (css::lang::IndexOutOfBoundsException, css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL copyText(::sal_Int32 nStartIndex, - ::sal_Int32 nEndIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL cutText(::sal_Int32 nStartIndex, - ::sal_Int32 nEndIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL pasteText(::sal_Int32 nIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL deleteText(::sal_Int32 nStartIndex, - ::sal_Int32 nEndIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL insertText(OUString const & rText, - ::sal_Int32 nIndex) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL replaceText( - ::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex, - OUString const & rReplacement) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL setAttributes( - ::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex, - css::uno::Sequence< css::beans::PropertyValue > const & - rAttributeSet) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual sal_Bool SAL_CALL setText(OUString const & rText) - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL - getDefaultAttributes(const css::uno::Sequence< OUString >& RequestedAttributes) - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL - getRunAttributes(::sal_Int32 Index, const css::uno::Sequence< OUString >& RequestedAttributes) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getLineNumberAtIndex( ::sal_Int32 nIndex ) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual css::accessibility::TextSegment SAL_CALL getTextAtLineNumber( ::sal_Int32 nLineNo ) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual css::accessibility::TextSegment SAL_CALL getTextAtLineWithCaret( ) - throw (css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int32 SAL_CALL getNumberOfLineWithCaret( ) - throw (css::uno::RuntimeException, std::exception) override; - - virtual void SAL_CALL addAccessibleEventListener( - css::uno::Reference< - css::accessibility::XAccessibleEventListener > const & rListener) - throw (css::uno::RuntimeException, std::exception) override; - - virtual void SAL_CALL removeAccessibleEventListener( - css::uno::Reference< - css::accessibility::XAccessibleEventListener > const & rListener) - throw (css::uno::RuntimeException, std::exception) override; - - virtual void SAL_CALL disposing() override; - - virtual OUString implGetText() override; - - virtual css::lang::Locale implGetLocale() override; - - virtual void implGetSelection(::sal_Int32 & rStartIndex, - ::sal_Int32 & rEndIndex) override; - - // Throws css::lang::DisposedException: - void checkDisposed(); - - ::rtl::Reference< Document > m_xDocument; - Paragraphs::size_type m_nNumber; - - /// client id in the AccessibleEventNotifier queue - sal_uInt32 m_nClientId; - - OUString m_aParagraphText; -}; - - -typedef std::unordered_map< OUString, - css::beans::PropertyValue, - OUStringHash > tPropValMap; - -class Document: public ::VCLXAccessibleComponent, public ::SfxListener -{ -public: - Document(::VCLXWindow * pVclXWindow, ::TextEngine & rEngine, - ::TextView & rView); - - const css::uno::Reference< css::accessibility::XAccessible >& - getAccessible() { return m_xAccessible; } - - // Must be called only after init has been called. - css::lang::Locale retrieveLocale(); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const *" instead of a - // "::rtl::Reference< Paragraph > const &". - ::sal_Int32 retrieveParagraphIndex(Paragraph const * pParagraph); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const *" instead of a - // "::rtl::Reference< Paragraph > const &". - ::sal_Int64 retrieveParagraphState(Paragraph const * pParagraph); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - css::awt::Rectangle - retrieveParagraphBounds(Paragraph const * pParagraph, bool bAbsolute); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - OUString retrieveParagraphText(Paragraph const * pParagraph); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - void retrieveParagraphSelection(Paragraph const * pParagraph, - ::sal_Int32 * pBegin, ::sal_Int32 * pEnd); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const *" instead of a - // "::rtl::Reference< Paragraph > const &". - ::sal_Int32 retrieveParagraphCaretPosition(Paragraph const * pParagraph); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - css::awt::Rectangle - retrieveCharacterBounds(Paragraph const * pParagraph, - ::sal_Int32 nIndex); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - ::sal_Int32 retrieveCharacterIndex(Paragraph const * pParagraph, - css::awt::Point const & rPoint); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - css::uno::Sequence< css::beans::PropertyValue > retrieveCharacterAttributes( - Paragraph const * pParagraph, ::sal_Int32 nIndex, - const css::uno::Sequence< OUString >& aRequestedAttributes); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - css::uno::Sequence< css::beans::PropertyValue > retrieveDefaultAttributes( - Paragraph const * pParagraph, - const css::uno::Sequence< OUString >& RequestedAttributes); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - css::uno::Sequence< css::beans::PropertyValue > retrieveRunAttributes( - Paragraph const * pParagraph, ::sal_Int32 Index, - const css::uno::Sequence< OUString >& RequestedAttributes); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - void changeParagraphText(Paragraph * pParagraph, - OUString const & rText); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - void changeParagraphText(Paragraph * pParagraph, ::sal_Int32 nBegin, - ::sal_Int32 nEnd, bool bCut, bool bPaste, - OUString const & rText); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - void copyParagraphText(Paragraph const * pParagraph, - ::sal_Int32 nBegin, ::sal_Int32 nEnd); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - void changeParagraphAttributes( - Paragraph * pParagraph, ::sal_Int32 nBegin, ::sal_Int32 nEnd, - css::uno::Sequence< css::beans::PropertyValue > const & - rAttributeSet); - - // Must be called only after init has been called. - // To make it possible for this method to be (indirectly) called from - // within Paragraph's constructor (i.e., when the Paragraph's ref count is - // still zero), pass a "Paragraph const &" instead of a - // "::rtl::Reference< Paragraph > const &". - // Throws css::lang::IndexOutOfBoundsException. - void changeParagraphSelection(Paragraph * pParagraph, - ::sal_Int32 nBegin, ::sal_Int32 nEnd); - - css::i18n::Boundary - retrieveParagraphLineBoundary( Paragraph const * pParagraph, - ::sal_Int32 nIndex, ::sal_Int32 *pLineNo = nullptr); - - css::i18n::Boundary - retrieveParagraphBoundaryOfLine( Paragraph const * pParagraph, - ::sal_Int32 nIndex ); - - sal_Int32 retrieveParagraphLineWithCursor( Paragraph const * pParagraph ); - - css::uno::Reference< css::accessibility::XAccessibleRelationSet > - retrieveParagraphRelationSet( Paragraph const * pParagraph ); - -private: - virtual ::sal_Int32 SAL_CALL getAccessibleChildCount() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Reference< css::accessibility::XAccessible > - SAL_CALL getAccessibleChild(::sal_Int32 i) - throw (css::lang::IndexOutOfBoundsException, - css::uno::RuntimeException, std::exception) override; - - virtual ::sal_Int16 SAL_CALL getAccessibleRole() - throw (css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Reference< css::accessibility::XAccessible > - SAL_CALL getAccessibleAtPoint(css::awt::Point const & rPoint) - throw (css::uno::RuntimeException, std::exception) override; - - virtual void FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ) override; - virtual void FillAccessibleRelationSet( utl::AccessibleRelationSetHelper& rRelationSet ) override; - - // ??? Will be called with both the external (Solar) and internal mutex - // locked: - virtual void SAL_CALL disposing() override; - - // ??? Will be called with the external (Solar) mutex locked. - // init will already have been called. - virtual void Notify(::SfxBroadcaster & rBC, ::SfxHint const & rHint) override; - - // Assuming that this will only be called with the external (Solar) mutex - // locked. - // init will already have been called. - DECL_LINK_TYPED(WindowEventHandler, VclWindowEvent&, void); - - // Must be called with both the external (Solar) and internal mutex - // locked. - void init(); - - // Must be called with both the external (Solar) and internal mutex - // locked, and after init has been called: - static ::rtl::Reference< Paragraph > - getParagraph(Paragraphs::iterator const & rIt); - - // Must be called with both the external (Solar) and internal mutex - // locked, and after init has been called. - // Throws css::uno::RuntimeException. - css::uno::Reference< css::accessibility::XAccessible > - getAccessibleChild(Paragraphs::iterator const & rIt); - - // Must be called with both the external (Solar) and internal mutex - // locked, and after init has been called: - void determineVisibleRange(); - - // Must be called with both the external (Solar) and internal mutex - // locked, and after init has been called: - void notifyVisibleRangeChanges( - Paragraphs::iterator const & rOldVisibleBegin, - Paragraphs::iterator const & rOldVisibleEnd, - Paragraphs::iterator const & rInserted); - - // Must be called with both the external (Solar) and internal mutex - // locked, and after init has been called: - void changeParagraphText(::sal_uLong nNumber, ::sal_uInt16 nBegin, ::sal_uInt16 nEnd, - bool bCut, bool bPaste, - OUString const & rText); - - void - handleParagraphNotifications(); - - void handleSelectionChangeNotification(); - - ::sal_Int32 getSelectionType(::sal_Int32 nNewFirstPara, ::sal_Int32 nNewFirstPos, ::sal_Int32 nNewLastPara, ::sal_Int32 nNewLastPos); - void sendEvent(::sal_Int32 start, ::sal_Int32 end, ::sal_Int16 nEventId); - - void disposeParagraphs(); - - static css::uno::Any mapFontColor(::Color const & rColor); - - static ::Color mapFontColor(css::uno::Any const & rColor); - - static css::uno::Any mapFontWeight(::FontWeight nWeight); - - static ::FontWeight mapFontWeight(css::uno::Any const & rWeight); - - static void retrieveDefaultAttributesImpl( - Paragraph const * pParagraph, - const css::uno::Sequence< OUString >& RequestedAttributes, - tPropValMap& rDefAttrSeq); - - void retrieveRunAttributesImpl( - Paragraph const * pParagraph, ::sal_Int32 Index, - const css::uno::Sequence< OUString >& RequestedAttributes, - tPropValMap& rRunAttrSeq); - - css::uno::Reference< css::accessibility::XAccessible > m_xAccessible; - ::TextEngine & m_rEngine; - ::TextView & m_rView; - - SfxListenerGuard m_aEngineListener; - WindowListenerGuard m_aViewListener; - - // All the following members have valid values only after calling init: - - std::unique_ptr< Paragraphs > m_xParagraphs; - - // m_nViewOffset is from the start of the document (0) to the start of the - // current view, and m_nViewHeight is the height of the view: - ::sal_Int32 m_nViewOffset; - ::sal_Int32 m_nViewHeight; - - // m_aVisibleBegin points to the first Paragraph that is (partially) - // contained in the view, and m_aVisibleEnd points past the last Paragraph - // that is (partially) contained. If no Paragraphs are (partially) in the - // view, both m_aVisibleBegin and m_aVisibleEnd are set to - // m_xParagraphs->end(). These values are only changed by - // determineVisibleRange. - Paragraphs::iterator m_aVisibleBegin; - Paragraphs::iterator m_aVisibleEnd; - - // m_nVisibleBeginOffset is from m_nViewOffset back to the start of the - // Paragraph pointed to by m_aVisibleBegin (and always has a non-negative - // value). If m_aVisibleBegin == m_xParagraphs->end(), - // m_nVisibleBeginOffset is set to 0. These values are only changed by - // determineVisibleRange. - ::sal_Int32 m_nVisibleBeginOffset; - - // If no selection has yet been set, all the following four variables are - // set to -1. m_nSelectionLastPara/Pos is also the cursor position. - ::sal_Int32 m_nSelectionFirstPara; - ::sal_Int32 m_nSelectionFirstPos; - ::sal_Int32 m_nSelectionLastPara; - ::sal_Int32 m_nSelectionLastPos; - - Paragraphs::iterator m_aFocused; - - ::std::queue< ::TextHint > m_aParagraphNotifications; - bool m_bSelectionChangedNotification; -}; - -} - -#endif // INCLUDED_ACCESSIBILITY_INC_ACCESSIBILITY_EXTENDED_TEXTWINDOWACCESSIBILITY_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |