blob: 32fd2cf5c2ff7187c0967e8439c1b43b378fcfd6 [file] [log] [blame]
/*
* 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