--- /dev/null 2015-03-30 22:03:09.000000000 -0500 +++ new/jdk/src/windows/native/sun/bridge/AccessBridgeEventHandler.h 2015-03-30 22:03:08.373885900 -0500 @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * A class to manage firing Accessibility events to Windows AT + */ + +#ifndef __AccessBridgeEventHandler_H__ +#define __AccessBridgeEventHandler_H__ + +#include "AccessBridgeCallbacks.h" +#include "AccessBridgePackages.h" + +class WinAccessBridge; + +class AccessBridgeEventHandler { + long javaEventMask; + long accessibilityEventMask; + + AccessBridge_PropertyChangeFP propertyChangeFP; + AccessBridge_JavaShutdownFP javaShutdownFP; + AccessBridge_FocusGainedFP focusGainedFP; + AccessBridge_FocusLostFP focusLostFP; + AccessBridge_CaretUpdateFP caretUpdateFP; + AccessBridge_MouseClickedFP mouseClickedFP; + AccessBridge_MouseEnteredFP mouseEnteredFP; + AccessBridge_MouseExitedFP mouseExitedFP; + AccessBridge_MousePressedFP mousePressedFP; + AccessBridge_MouseReleasedFP mouseReleasedFP; + AccessBridge_MenuCanceledFP menuCanceledFP; + AccessBridge_MenuDeselectedFP menuDeselectedFP; + AccessBridge_MenuSelectedFP menuSelectedFP; + AccessBridge_PopupMenuCanceledFP popupMenuCanceledFP; + AccessBridge_PopupMenuWillBecomeInvisibleFP popupMenuWillBecomeInvisibleFP; + AccessBridge_PopupMenuWillBecomeVisibleFP popupMenuWillBecomeVisibleFP; + + AccessBridge_PropertyNameChangeFP propertyNameChangeFP; + AccessBridge_PropertyDescriptionChangeFP propertyDescriptionChangeFP; + AccessBridge_PropertyStateChangeFP propertyStateChangeFP; + AccessBridge_PropertyValueChangeFP propertyValueChangeFP; + AccessBridge_PropertySelectionChangeFP propertySelectionChangeFP; + AccessBridge_PropertyTextChangeFP propertyTextChangeFP; + AccessBridge_PropertyCaretChangeFP propertyCaretChangeFP; + AccessBridge_PropertyVisibleDataChangeFP propertyVisibleDataChangeFP; + AccessBridge_PropertyChildChangeFP propertyChildChangeFP; + AccessBridge_PropertyActiveDescendentChangeFP propertyActiveDescendentChangeFP; + + AccessBridge_PropertyTableModelChangeFP propertyTableModelChangeFP; + + + +public: + AccessBridgeEventHandler(); + ~AccessBridgeEventHandler(); + long getJavaEventMask() {return javaEventMask;}; + long getAccessibilityEventMask() {return accessibilityEventMask;}; + + // ------- Registry methods + void setPropertyChangeFP(AccessBridge_PropertyChangeFP fp, WinAccessBridge *wab); + void setJavaShutdownFP(AccessBridge_JavaShutdownFP fp, WinAccessBridge *wab); + void setFocusGainedFP(AccessBridge_FocusGainedFP fp, WinAccessBridge *wab); + void setFocusLostFP(AccessBridge_FocusLostFP fp, WinAccessBridge *wab); + void setCaretUpdateFP(AccessBridge_CaretUpdateFP fp, WinAccessBridge *wab); + void setMouseClickedFP(AccessBridge_MouseClickedFP fp, WinAccessBridge *wab); + void setMouseEnteredFP(AccessBridge_MouseEnteredFP fp, WinAccessBridge *wab); + void setMouseExitedFP(AccessBridge_MouseExitedFP fp, WinAccessBridge *wab); + void setMousePressedFP(AccessBridge_MousePressedFP fp, WinAccessBridge *wab); + void setMouseReleasedFP(AccessBridge_MouseReleasedFP fp, WinAccessBridge *wab); + void setMenuCanceledFP(AccessBridge_MenuCanceledFP fp, WinAccessBridge *wab); + void setMenuDeselectedFP(AccessBridge_MenuDeselectedFP fp, WinAccessBridge *wab); + void setMenuSelectedFP(AccessBridge_MenuSelectedFP fp, WinAccessBridge *wab); + void setPopupMenuCanceledFP(AccessBridge_PopupMenuCanceledFP fp, WinAccessBridge *wab); + void setPopupMenuWillBecomeInvisibleFP(AccessBridge_PopupMenuWillBecomeInvisibleFP fp, + WinAccessBridge *wab); + void setPopupMenuWillBecomeVisibleFP(AccessBridge_PopupMenuWillBecomeVisibleFP fp, + WinAccessBridge *wab); + + void setPropertyNameChangeFP(AccessBridge_PropertyNameChangeFP fp, WinAccessBridge *wab); + void setPropertyDescriptionChangeFP(AccessBridge_PropertyDescriptionChangeFP fp, + WinAccessBridge *wab); + void setPropertyStateChangeFP(AccessBridge_PropertyStateChangeFP fp, WinAccessBridge *wab); + void setPropertyValueChangeFP(AccessBridge_PropertyValueChangeFP fp, WinAccessBridge *wab); + void setPropertySelectionChangeFP(AccessBridge_PropertySelectionChangeFP fp, + WinAccessBridge *wab); + void setPropertyTextChangeFP(AccessBridge_PropertyTextChangeFP fp, WinAccessBridge *wab); + void setPropertyCaretChangeFP(AccessBridge_PropertyCaretChangeFP fp, WinAccessBridge *wab); + void setPropertyVisibleDataChangeFP(AccessBridge_PropertyVisibleDataChangeFP fp, + WinAccessBridge *wab); + void setPropertyChildChangeFP(AccessBridge_PropertyChildChangeFP fp, WinAccessBridge *wab); + void setPropertyActiveDescendentChangeFP(AccessBridge_PropertyActiveDescendentChangeFP fp, + WinAccessBridge *wab); + + void setPropertyTableModelChangeFP(AccessBridge_PropertyTableModelChangeFP fp, + WinAccessBridge *wab); + + // ------- Event notification methods + void firePropertyChange(long vmID, JOBJECT64 event, JOBJECT64 source, + wchar_t *property, wchar_t *oldName, wchar_t *newName); + void fireJavaShutdown(long vmID); + void fireFocusGained(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireFocusLost(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireCaretUpdate(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMouseClicked(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMouseEntered(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMouseExited(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMousePressed(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMouseReleased(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMenuCanceled(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMenuDeselected(long vmID, JOBJECT64 event, JOBJECT64 source); + void fireMenuSelected(long vmID, JOBJECT64 event, JOBJECT64 source); + void firePopupMenuCanceled(long vmID, JOBJECT64 event, JOBJECT64 source); + void firePopupMenuWillBecomeInvisible(long vmID, JOBJECT64 event, JOBJECT64 source); + void firePopupMenuWillBecomeVisible(long vmID, JOBJECT64 event, JOBJECT64 source); + + void firePropertyNameChange(long vmID, JOBJECT64 event, JOBJECT64 source, + wchar_t *oldName, wchar_t *newName); + void firePropertyDescriptionChange(long vmID, JOBJECT64 event, JOBJECT64 source, + wchar_t *oldDescription, wchar_t *newDescription); + void firePropertyStateChange(long vmID, JOBJECT64 event, JOBJECT64 source, + wchar_t *oldState, wchar_t *newState); + void firePropertyValueChange(long vmID, JOBJECT64 event, JOBJECT64 source, + wchar_t *oldValue, wchar_t *newValue); + void firePropertySelectionChange(long vmID, JOBJECT64 event, JOBJECT64 source); + void firePropertyTextChange(long vmID, JOBJECT64 event, JOBJECT64 source); + void firePropertyCaretChange(long vmID, JOBJECT64 event, JOBJECT64 source, + int oldPosition, int newPosition); + void firePropertyVisibleDataChange(long vmID, JOBJECT64 event, JOBJECT64 source); + void firePropertyChildChange(long vmID, JOBJECT64 event, JOBJECT64 source, + JOBJECT64 oldChild, JOBJECT64 newChild); + void firePropertyActiveDescendentChange(long vmID, JOBJECT64 event, JOBJECT64 source, + JOBJECT64 oldActiveDescendent, JOBJECT64 newActiveDescendent); + + void firePropertyTableModelChange(long vmID, JOBJECT64 event, JOBJECT64 source, + wchar_t *oldValue, wchar_t *newValue); + +}; + + +#endif