1 /* 2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /* 27 * A class to manage firing Accessibility events to Windows AT 28 */ 29 30 #ifndef __AccessBridgeEventHandler_H__ 31 #define __AccessBridgeEventHandler_H__ 32 33 #include "AccessBridgeCallbacks.h" 34 #include "AccessBridgePackages.h" 35 36 class WinAccessBridge; 37 38 class AccessBridgeEventHandler { 39 long javaEventMask; 40 long accessibilityEventMask; 41 42 AccessBridge_PropertyChangeFP propertyChangeFP; 43 AccessBridge_JavaShutdownFP javaShutdownFP; 44 AccessBridge_FocusGainedFP focusGainedFP; 45 AccessBridge_FocusLostFP focusLostFP; 46 AccessBridge_CaretUpdateFP caretUpdateFP; 47 AccessBridge_MouseClickedFP mouseClickedFP; 48 AccessBridge_MouseEnteredFP mouseEnteredFP; 49 AccessBridge_MouseExitedFP mouseExitedFP; 50 AccessBridge_MousePressedFP mousePressedFP; 51 AccessBridge_MouseReleasedFP mouseReleasedFP; 52 AccessBridge_MenuCanceledFP menuCanceledFP; 53 AccessBridge_MenuDeselectedFP menuDeselectedFP; 54 AccessBridge_MenuSelectedFP menuSelectedFP; 55 AccessBridge_PopupMenuCanceledFP popupMenuCanceledFP; 56 AccessBridge_PopupMenuWillBecomeInvisibleFP popupMenuWillBecomeInvisibleFP; 57 AccessBridge_PopupMenuWillBecomeVisibleFP popupMenuWillBecomeVisibleFP; 58 59 AccessBridge_PropertyNameChangeFP propertyNameChangeFP; 60 AccessBridge_PropertyDescriptionChangeFP propertyDescriptionChangeFP; 61 AccessBridge_PropertyStateChangeFP propertyStateChangeFP; 62 AccessBridge_PropertyValueChangeFP propertyValueChangeFP; 63 AccessBridge_PropertySelectionChangeFP propertySelectionChangeFP; 64 AccessBridge_PropertyTextChangeFP propertyTextChangeFP; 65 AccessBridge_PropertyCaretChangeFP propertyCaretChangeFP; 66 AccessBridge_PropertyVisibleDataChangeFP propertyVisibleDataChangeFP; 67 AccessBridge_PropertyChildChangeFP propertyChildChangeFP; 68 AccessBridge_PropertyActiveDescendentChangeFP propertyActiveDescendentChangeFP; 69 70 AccessBridge_PropertyTableModelChangeFP propertyTableModelChangeFP; 71 72 73 74 public: 75 AccessBridgeEventHandler(); 76 ~AccessBridgeEventHandler(); 77 long getJavaEventMask() {return javaEventMask;}; 78 long getAccessibilityEventMask() {return accessibilityEventMask;}; 79 80 // ------- Registry methods 81 void setPropertyChangeFP(AccessBridge_PropertyChangeFP fp, WinAccessBridge *wab); 82 void setJavaShutdownFP(AccessBridge_JavaShutdownFP fp, WinAccessBridge *wab); 83 void setFocusGainedFP(AccessBridge_FocusGainedFP fp, WinAccessBridge *wab); 84 void setFocusLostFP(AccessBridge_FocusLostFP fp, WinAccessBridge *wab); 85 void setCaretUpdateFP(AccessBridge_CaretUpdateFP fp, WinAccessBridge *wab); 86 void setMouseClickedFP(AccessBridge_MouseClickedFP fp, WinAccessBridge *wab); 87 void setMouseEnteredFP(AccessBridge_MouseEnteredFP fp, WinAccessBridge *wab); 88 void setMouseExitedFP(AccessBridge_MouseExitedFP fp, WinAccessBridge *wab); 89 void setMousePressedFP(AccessBridge_MousePressedFP fp, WinAccessBridge *wab); 90 void setMouseReleasedFP(AccessBridge_MouseReleasedFP fp, WinAccessBridge *wab); 91 void setMenuCanceledFP(AccessBridge_MenuCanceledFP fp, WinAccessBridge *wab); 92 void setMenuDeselectedFP(AccessBridge_MenuDeselectedFP fp, WinAccessBridge *wab); 93 void setMenuSelectedFP(AccessBridge_MenuSelectedFP fp, WinAccessBridge *wab); 94 void setPopupMenuCanceledFP(AccessBridge_PopupMenuCanceledFP fp, WinAccessBridge *wab); 95 void setPopupMenuWillBecomeInvisibleFP(AccessBridge_PopupMenuWillBecomeInvisibleFP fp, 96 WinAccessBridge *wab); 97 void setPopupMenuWillBecomeVisibleFP(AccessBridge_PopupMenuWillBecomeVisibleFP fp, 98 WinAccessBridge *wab); 99 100 void setPropertyNameChangeFP(AccessBridge_PropertyNameChangeFP fp, WinAccessBridge *wab); 101 void setPropertyDescriptionChangeFP(AccessBridge_PropertyDescriptionChangeFP fp, 102 WinAccessBridge *wab); 103 void setPropertyStateChangeFP(AccessBridge_PropertyStateChangeFP fp, WinAccessBridge *wab); 104 void setPropertyValueChangeFP(AccessBridge_PropertyValueChangeFP fp, WinAccessBridge *wab); 105 void setPropertySelectionChangeFP(AccessBridge_PropertySelectionChangeFP fp, 106 WinAccessBridge *wab); 107 void setPropertyTextChangeFP(AccessBridge_PropertyTextChangeFP fp, WinAccessBridge *wab); 108 void setPropertyCaretChangeFP(AccessBridge_PropertyCaretChangeFP fp, WinAccessBridge *wab); 109 void setPropertyVisibleDataChangeFP(AccessBridge_PropertyVisibleDataChangeFP fp, 110 WinAccessBridge *wab); 111 void setPropertyChildChangeFP(AccessBridge_PropertyChildChangeFP fp, WinAccessBridge *wab); 112 void setPropertyActiveDescendentChangeFP(AccessBridge_PropertyActiveDescendentChangeFP fp, 113 WinAccessBridge *wab); 114 115 void setPropertyTableModelChangeFP(AccessBridge_PropertyTableModelChangeFP fp, 116 WinAccessBridge *wab); 117 118 // ------- Event notification methods 119 void firePropertyChange(long vmID, JOBJECT64 event, JOBJECT64 source, 120 wchar_t *property, wchar_t *oldName, wchar_t *newName); 121 void fireJavaShutdown(long vmID); 122 void fireFocusGained(long vmID, JOBJECT64 event, JOBJECT64 source); 123 void fireFocusLost(long vmID, JOBJECT64 event, JOBJECT64 source); 124 void fireCaretUpdate(long vmID, JOBJECT64 event, JOBJECT64 source); 125 void fireMouseClicked(long vmID, JOBJECT64 event, JOBJECT64 source); 126 void fireMouseEntered(long vmID, JOBJECT64 event, JOBJECT64 source); 127 void fireMouseExited(long vmID, JOBJECT64 event, JOBJECT64 source); 128 void fireMousePressed(long vmID, JOBJECT64 event, JOBJECT64 source); 129 void fireMouseReleased(long vmID, JOBJECT64 event, JOBJECT64 source); 130 void fireMenuCanceled(long vmID, JOBJECT64 event, JOBJECT64 source); 131 void fireMenuDeselected(long vmID, JOBJECT64 event, JOBJECT64 source); 132 void fireMenuSelected(long vmID, JOBJECT64 event, JOBJECT64 source); 133 void firePopupMenuCanceled(long vmID, JOBJECT64 event, JOBJECT64 source); 134 void firePopupMenuWillBecomeInvisible(long vmID, JOBJECT64 event, JOBJECT64 source); 135 void firePopupMenuWillBecomeVisible(long vmID, JOBJECT64 event, JOBJECT64 source); 136 137 void firePropertyNameChange(long vmID, JOBJECT64 event, JOBJECT64 source, 138 wchar_t *oldName, wchar_t *newName); 139 void firePropertyDescriptionChange(long vmID, JOBJECT64 event, JOBJECT64 source, 140 wchar_t *oldDescription, wchar_t *newDescription); 141 void firePropertyStateChange(long vmID, JOBJECT64 event, JOBJECT64 source, 142 wchar_t *oldState, wchar_t *newState); 143 void firePropertyValueChange(long vmID, JOBJECT64 event, JOBJECT64 source, 144 wchar_t *oldValue, wchar_t *newValue); 145 void firePropertySelectionChange(long vmID, JOBJECT64 event, JOBJECT64 source); 146 void firePropertyTextChange(long vmID, JOBJECT64 event, JOBJECT64 source); 147 void firePropertyCaretChange(long vmID, JOBJECT64 event, JOBJECT64 source, 148 int oldPosition, int newPosition); 149 void firePropertyVisibleDataChange(long vmID, JOBJECT64 event, JOBJECT64 source); 150 void firePropertyChildChange(long vmID, JOBJECT64 event, JOBJECT64 source, 151 JOBJECT64 oldChild, JOBJECT64 newChild); 152 void firePropertyActiveDescendentChange(long vmID, JOBJECT64 event, JOBJECT64 source, 153 JOBJECT64 oldActiveDescendent, JOBJECT64 newActiveDescendent); 154 155 void firePropertyTableModelChange(long vmID, JOBJECT64 event, JOBJECT64 source, 156 wchar_t *oldValue, wchar_t *newValue); 157 158 }; 159 160 161 #endif