Update ooo320-m1
[ooovba.git] / vcl / aqua / source / a11y / documentfocuslistener.hxx
blob25892355ec3f2b0b64cdac1d23a180255f4f3ebd
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: documentfocuslistener.hxx,v $
11 * $Revision: 1.2 $
13 * This file is part of OpenOffice.org.
15 * OpenOffice.org is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License version 3
17 * only, as published by the Free Software Foundation.
19 * OpenOffice.org is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License version 3 for more details
23 * (a copy is included in the LICENSE file that accompanied this code).
25 * You should have received a copy of the GNU Lesser General Public License
26 * version 3 along with OpenOffice.org. If not, see
27 * <http://www.openoffice.org/license.html>
28 * for a copy of the LGPLv3 License.
30 ************************************************************************/
32 #ifndef _DOCUMENTFOCUSLISTENER_HXX_
33 #define _DOCUMENTFOCUSLISTENER_HXX_
35 #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEEVENTLISTENER_HPP_
36 #include <com/sun/star/accessibility/XAccessibleEventListener.hpp>
37 #endif
39 #ifndef _CPPUHELPER_IMPLBASE1_HXX_
40 #include <cppuhelper/implbase1.hxx>
41 #endif
43 #include "aqua11yfocustracker.hxx"
44 #include <set>
46 // -------------------------
47 // - DocumentFocusListener -
48 // -------------------------
50 class DocumentFocusListener :
51 public ::cppu::WeakImplHelper1< ::com::sun::star::accessibility::XAccessibleEventListener >
54 public:
56 DocumentFocusListener(AquaA11yFocusTracker& rTracker);
58 void attachRecursive(
59 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& xAccessible
60 ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
62 void attachRecursive(
63 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& xAccessible,
64 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >& xContext
65 ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
67 void attachRecursive(
68 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& xAccessible,
69 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >& xContext,
70 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet >& xStateSet
71 ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
73 void detachRecursive(
74 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& xAccessible
75 ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
77 void detachRecursive(
78 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& xAccessible,
79 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >& xContext
80 ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
82 void detachRecursive(
83 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& xAccessible,
84 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >& xContext,
85 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet >& xStateSet
86 ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
88 static ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > getAccessible(const ::com::sun::star::lang::EventObject& aEvent )
89 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
91 // XEventListener
92 virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source )
93 throw (::com::sun::star::uno::RuntimeException);
95 // XAccessibleEventListener
96 virtual void SAL_CALL notifyEvent( const ::com::sun::star::accessibility::AccessibleEventObject& aEvent )
97 throw( ::com::sun::star::uno::RuntimeException );
99 private:
100 std::set< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > > m_aRefList;
102 AquaA11yFocusTracker& m_aFocusTracker;
105 #endif // _DOCUMENTFOCUSLISTENER_HXX_