xref: /AOO41X/main/winaccessibility/inc/AccContainerEventListener.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 __ACCCONTAINEREVENTLISTENERHXX
30 #define __ACCCONTAINEREVENTLISTENERHXX
31 
32 #include <stdio.h>
33 #include "AccEventListener.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  * AccContainerEventListener is inherited from AccEventListener. It handles the evnets
41  * generated by container controls. The accessible roles are: CANVAS, COMBO_BOX, DOCUMENT,
42  * EMBEDDED_OBJECT, END_NOTE, FILLER, FOOTNOTE, FOOTER, GRAPHIC, HEADER, LAYERED_PANE,
43  * MENU_BAR, POPUP_MENU, OPTION_PANE, PAGE_TAB, PAGE_TAB_LIST, PANEL, SCROLL_PANE, SPLIT_PANE,
44  * STATUS_BAR, TABLE_CELL, TEXT_FRAME, TOOL_BAR, VIEW_PORT.
45  * It defines the procedure of specific event handling related with containsers and provides
46  * the detailed support for some related methods.
47  */
48 class AccContainerEventListener: public AccEventListener
49 {
50 public:
51     AccContainerEventListener(com::sun::star::accessibility::XAccessible* pAcc, AccObjectManagerAgent* Agent);
52     virtual ~AccContainerEventListener();
53 
54     //AccessibleEventListener
55     virtual void SAL_CALL notifyEvent( const ::com::sun::star::accessibility::AccessibleEventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException);
56 
57     //for child changed event
58     virtual void SAL_CALL handleChildChangedEvent(Any oldValue, Any newValue);
59 
60     //for selection changed event
61     virtual void SAL_CALL handleSelectionChangedEvent(const Any &oldValue, const Any &newValue);
62 
63     //for all children changed event
64     virtual void SAL_CALL handleAllChildrenChangedEvent();
65 
66     //for text changed event
67     virtual void SAL_CALL handleTextChangedEvent(Any oldValue, Any newValue);
68     virtual void SAL_CALL handleStateChangedEvent(Any oldValue, Any newValue);
69 
70     //for visible data changed event
71     virtual void SAL_CALL handleVisibleDataChangedEvent();
72 
73     //for bound rect changed event
74     virtual void SAL_CALL handleBoundrectChangedEvent();
75 
76     //for value changed event
77     virtual void SAL_CALL handleValueChangedEvent(Any oldValue, Any newValue);
78 
79     //state changed
80     virtual void SAL_CALL setComponentState(short state, bool enable);
81     virtual void SAL_CALL fireStatePropertyChange(short state, bool set
82                                                      );
83     virtual void SAL_CALL fireStateFocusdChange(bool enable);
84     virtual bool SAL_CALL IsEditable(Reference<com::sun::star::accessibility::XAccessibleContext> xContext);
85 
86     // update all children's state
87     void SAL_CALL UpdateAllChildrenState( com::sun::star::accessibility::XAccessible* pXAccessible );
88 
89     bool NotifyChildEvent(short nWinEvent,const Any &Value);
90 
91     virtual void handleSelectionChangedAddEvent(const Any &oldValue, const Any &newValue);
92     virtual void handleSelectionChangedRemoveEvent(const Any &oldValue, const Any &newValue);
93     virtual void handleSelectionChangedWithinEvent(const Any &oldValue, const Any &newValue);
94 
95     virtual void handlePageChangedEvent (const Any &oldValue, const Any &newValue);
96 
97     virtual void handleSectionChangedEvent (const Any &oldValue, const Any &newValue);
98     virtual void handleColumnChangedEvent (const Any &oldValue, const Any &newValue);
99 	//IAccessibility2 Implementation 2009-----
100 	//for name changed event
101     virtual void SAL_CALL handleNameChangedEvent(Any name);
102 	//-----IAccessibility2 Implementation 2009
103 };
104 
105 #endif
106