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