xref: /AOO41X/main/winaccessibility/inc/AccDescendantManagerEventListener.hxx (revision 0deba7fbda3d9908785c25a443701a293b6f4e71)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright IBM Corporation 2010.
6  * Copyright 2000, 2010 Oracle and/or its affiliates.
7  *
8  * OpenOffice.org - a multi-platform office productivity suite
9  *
10  * This file is part of OpenOffice.org.
11  *
12  * OpenOffice.org is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU Lesser General Public License version 3
14  * only, as published by the Free Software Foundation.
15  *
16  * OpenOffice.org is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU Lesser General Public License version 3 for more details
20  * (a copy is included in the LICENSE file that accompanied this code).
21  *
22  * You should have received a copy of the GNU Lesser General Public License
23  * version 3 along with OpenOffice.org.  If not, see
24  * <http://www.openoffice.org/license.html>
25  * for a copy of the LGPLv3 License.
26  *
27  ************************************************************************/
28 
29 #ifndef __ACCDESCENDANTMANAGEREVENTLISTENER_HXX
30 #define __ACCDESCENDANTMANAGEREVENTLISTENER_HXX
31 
32 #include <stdio.h>
33 #include "AccComponentEventListener.hxx"
34 #include <com/sun/star/accessibility/XAccessibleEventListener.hpp>
35 #include <com/sun/star/accessibility/XAccessible.hpp>
36 
37 using namespace ::com::sun::star::uno;
38 
39 /**
40  * AccDescendantManagerEventListener is inherited from AccComponentEventListener. It handles
41  * the evnets generated by active descendant controls. They are: TREE, LIST, and TABLE.
42  * It defines the procedure of specific event handling related with active descendant components
43  * and provides the detailed support for some related methods.
44  */
45 class AccDescendantManagerEventListener: public AccComponentEventListener
46 {
47 protected:
48     ::com::sun::star::accessibility::XAccessible* pActiveDescendant;
49 public:
50     AccDescendantManagerEventListener(com::sun::star::accessibility::XAccessible* pAcc, AccObjectManagerAgent* Agent);
51     virtual ~AccDescendantManagerEventListener();
52 
53     //AccessibleEventListener
54     virtual void SAL_CALL notifyEvent( const ::com::sun::star::accessibility::AccessibleEventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException);
55 
56     //for selection changed event
57     virtual void SAL_CALL handleSelectionChangedEvent(Any oldValue, Any newValue);
58 
59     //for child changed event
60     virtual void SAL_CALL handleChildChangedEvent (Any oldValue, Any newValue);
61 
62     virtual void SAL_CALL handleChildChangedNoFocusEvent(Any oldValue, Any newValue);
63 
64     bool NotifyChildEvent(short nWinEvent,const Any &Value);
65 
66     virtual void handleSelectionChangedAddEvent(const Any &oldValue, const Any &newValue);
67     virtual void handleSelectionChangedRemoveEvent(const Any &oldValue, const Any &newValue);
68     virtual void handleSelectionChangedWithinEvent(const Any &oldValue, const Any &newValue);
69 };
70 
71 #endif
72