blob: bbf29d51f36b63b5c01e007b7e5f5bf2c558674d [file] [log] [blame]
/*
* Copyright (c) 2005, 2015, 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.
*/
#define JACCESSINSPECTOR_LOG "jaccessinspector.log"
void CALLBACK TimerProc(HWND hWnd, UINT uTimerMsg, UINT uTimerID, DWORD dwTime);
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam);
BOOL InitWindow(HANDLE hInstance);
INT_PTR CALLBACK jaccessinspectorDialogProc( HWND hDlg, UINT message,
WPARAM wParam, LPARAM lParam );
void HandleJavaPropertyChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
wchar_t *name, wchar_t *oldValue,
wchar_t *newValue );
void HandleJavaShutdown(long vmID);
void HandleJavaFocusGained(long vmID, FocusEvent event, AccessibleContext ac);
void HandleJavaFocusLost(long vmID, FocusEvent event, AccessibleContext ac);
void HandleJavaCaretUpdate(long vmID, CaretEvent event, AccessibleContext ac);
void HandleMouseClicked(long vmID, MouseEvent event, AccessibleContext ac);
void HandleMouseEntered(long vmID, MouseEvent event, AccessibleContext ac);
void HandleMouseExited(long vmID, MouseEvent event, AccessibleContext ac);
void HandleMousePressed(long vmID, MouseEvent event, AccessibleContext ac);
void HandleMouseReleased(long vmID, MouseEvent event, AccessibleContext ac);
void HandleMenuCanceled(long vmID, MenuEvent event, AccessibleContext ac);
void HandleMenuDeselected(long vmID, MenuEvent event, AccessibleContext ac);
void HandleMenuSelected(long vmID, MenuEvent event, AccessibleContext ac);
void HandlePopupMenuCanceled(long vmID, MenuEvent event, AccessibleContext ac);
void HandlePopupMenuWillBecomeInvisible( long vmID, MenuEvent event,
AccessibleContext ac );
void HandlePopupMenuWillBecomeVisible( long vmID, MenuEvent event,
AccessibleContext ac );
void HandlePropertyNameChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
wchar_t *oldName, wchar_t *newName);
void HandlePropertyDescriptionChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
wchar_t *oldDescription,
wchar_t *newDescription );
void HandlePropertyStateChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
wchar_t *oldState, wchar_t *newState );
void HandlePropertyValueChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
wchar_t *oldValue, wchar_t *newValue );
void HandlePropertySelectionChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac );
void HandlePropertyTextChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac );
void HandlePropertyCaretChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
int oldPosition, int newPosition );
void HandlePropertyVisibleDataChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac );
void HandlePropertyChildChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
jobject oldChild, jobject newChild );
void HandlePropertyActiveDescendentChange(long vmID, PropertyChangeEvent event,
AccessibleContext ac,
jobject oldActiveDescendent,
jobject newActiveDescendent);
void HandlePropertyTableModelChange( long vmID, PropertyChangeEvent event,
AccessibleContext ac,
wchar_t *oldValue, wchar_t *newValue );
char *getAccessibleInfo( long vmID, AccessibleContext ac,
int x, int y, char *buffer, int bufsize );
char *getTimeAndDate();
void displayAndLogText(char *buffer, ...);
const char * const jaccessinspectorOptionsRegistryKey =
"Software\\JavaSoft\\Java Development Kit\\jaccessinspector";
BOOL SaveActiveEventOptionsToRegistry();
BOOL ReadActiveEventOptionsFromRegistry();
void ApplyEventOptions(HWND hWnd);
BOOL EnableDlgItem(HWND hDlg, int nIDDlgItem, BOOL bEnable);
void EnableMessageNavButtons();
void WINAPI AddToMessageHistory(const char * message);
BOOL UpdateMessageNumber();
INT_PTR CALLBACK GoToMessageDialogProc( HWND hDlg, UINT message, WPARAM wParam,
LPARAM lParam );
BOOL InitGoToMessageDialogBox(HANDLE hInstance);
BOOL ShouldCheckMonitorTheSameEventsAsJAWS();
void MaybeCheckMonitorTheSameEventsAsJAWS(HMENU menu);
BOOL ShouldCheckMonitorAllEvents();
void MaybeCheckMonitorAllEvents(HMENU menu);