1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* vim:expandtab:shiftwidth=4:tabstop=4:
4 /* ***** BEGIN LICENSE BLOCK *****
5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
7 * The contents of this file are subject to the Mozilla Public License Version
8 * 1.1 (the "License"); you may not use this file except in compliance with
9 * the License. You may obtain a copy of the License at
10 * http://www.mozilla.org/MPL/
12 * Software distributed under the License is distributed on an "AS IS" basis,
13 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14 * for the specific language governing rights and limitations under the
17 * The Original Code is mozilla.org code.
19 * The Initial Developer of the Original Code is
21 * Portions created by the Initial Developer are Copyright (C) 2007
22 * the Initial Developer. All Rights Reserved.
25 * Alexander Surkov <surkov.alexander@gmail.com> (original author)
27 * Alternatively, the contents of this file may be used under the terms of
28 * either the GNU General Public License Version 2 or later (the "GPL"), or
29 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30 * in which case the provisions of the GPL or the LGPL are applicable instead
31 * of those above. If you wish to allow use of your version of this file only
32 * under the terms of either the GPL or the LGPL, and not to allow others to
33 * use your version of this file under the terms of the MPL, indicate your
34 * decision by deleting the provisions above and replace them with the notice
35 * and other provisions required by the GPL or the LGPL. If you do not delete
36 * the provisions above, a recipient may use your version of this file under
37 * the terms of any one of the MPL, the GPL or the LGPL.
39 * ***** END LICENSE BLOCK ***** */
45 #include "AccessibleEventId.h"
47 const PRUint32 kEVENT_WIN_UNKNOWN
= 0x00000000;
48 const PRUint32 kEVENT_LAST_ENTRY
= 0xffffffff;
50 static const PRUint32 gWinEventMap
[] = {
51 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent doesn't have 0 constant
52 EVENT_OBJECT_SHOW
, // nsIAccessibleEvent::EVENT_DOM_CREATE
53 EVENT_OBJECT_HIDE
, // nsIAccessibleEvent::EVENT_DOM_DESTROY
54 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_DOM_SIGNIFICANT_CHANGE
55 EVENT_OBJECT_SHOW
, // nsIAccessibleEvent::EVENT_ASYNCH_SHOW
56 EVENT_OBJECT_HIDE
, // nsIAccessibleEvent::EVENT_ASYNCH_HIDE
57 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_ASYNCH_LAYOUT_CHANGE
58 IA2_EVENT_ACTIVE_DECENDENT_CHANGED
, // nsIAccessibleEvent::EVENT_ACTIVE_DECENDENT_CHANGED
59 EVENT_OBJECT_FOCUS
, // nsIAccessibleEvent::EVENT_FOCUS
60 EVENT_OBJECT_STATECHANGE
, // nsIAccessibleEvent::EVENT_STATE_CHANGE
61 EVENT_OBJECT_LOCATIONCHANGE
, // nsIAccessibleEvent::EVENT_LOCATION_CHANGE
62 EVENT_OBJECT_NAMECHANGE
, // nsIAccessibleEvent::EVENT_NAME_CHANGE
63 EVENT_OBJECT_DESCRIPTIONCHANGE
, // nsIAccessibleEvent::EVENT_DESCRIPTION_CHANGE
64 EVENT_OBJECT_VALUECHANGE
, // nsIAccessibleEvent::EVENT_VALUE_CHANGE
65 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_HELP_CHANGE
66 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_DEFACTION_CHANGE
67 IA2_EVENT_ACTION_CHANGED
, // nsIAccessibleEvent::EVENT_ACTION_CHANGE
68 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_ACCELERATOR_CHANGE
69 EVENT_OBJECT_SELECTION
, // nsIAccessibleEvent::EVENT_SELECTION
70 EVENT_OBJECT_SELECTIONADD
, // nsIAccessibleEvent::EVENT_SELECTION_ADD
71 EVENT_OBJECT_SELECTIONREMOVE
, // nsIAccessibleEvent::EVENT_SELECTION_REMOVE
72 EVENT_OBJECT_SELECTIONWITHIN
, // nsIAccessibleEvent::EVENT_SELECTION_WITHIN
73 EVENT_SYSTEM_ALERT
, // nsIAccessibleEvent::EVENT_ALERT
74 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_FOREGROUND
75 EVENT_SYSTEM_MENUSTART
, // nsIAccessibleEvent::EVENT_MENU_START
76 EVENT_SYSTEM_MENUEND
, // nsIAccessibleEvent::EVENT_MENU_END
77 EVENT_SYSTEM_MENUPOPUPSTART
, // nsIAccessibleEvent::EVENT_MENUPOPUP_START
78 EVENT_SYSTEM_MENUPOPUPEND
, // nsIAccessibleEvent::EVENT_MENUPOPUP_END
79 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_CAPTURE_START
80 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_CAPTURE_END
81 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_MOVESIZE_START
82 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_MOVESIZE_END
83 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_CONTEXT_HELP_START
84 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_CONTEXT_HELP_END
85 EVENT_SYSTEM_DRAGDROPSTART
, // nsIAccessibleEvent::EVENT_DRAGDROP_START
86 EVENT_SYSTEM_DRAGDROPEND
, // nsIAccessibleEvent::EVENT_DRAGDROP_END
87 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_DIALOG_START
88 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_DIALOG_END
89 EVENT_SYSTEM_SCROLLINGSTART
, // nsIAccessibleEvent::EVENT_SCROLLING_START
90 EVENT_SYSTEM_SCROLLINGEND
, // nsIAccessibleEvent::EVENT_SCROLLING_END
91 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_MINIMIZE_START
92 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_MINIMIZE_END
93 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_DOCUMENT_LOAD_START
94 IA2_EVENT_DOCUMENT_LOAD_COMPLETE
, // nsIAccessibleEvent::EVENT_DOCUMENT_LOAD_COMPLETE
95 IA2_EVENT_DOCUMENT_RELOAD
, // nsIAccessibleEvent::EVENT_DOCUMENT_RELOAD
96 IA2_EVENT_DOCUMENT_LOAD_STOPPED
, // nsIAccessibleEvent::EVENT_DOCUMENT_LOAD_STOPPED
97 IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED
, // nsIAccessibleEvent::EVENT_DOCUMENT_ATTRIBUTES_CHANGED
98 IA2_EVENT_DOCUMENT_CONTENT_CHANGED
, // nsIAccessibleEvent::EVENT_DOCUMENT_CONTENT_CHANGED
99 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_PROPERTY_CHANGED
100 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_SELECTION_CHANGED
101 IA2_EVENT_TEXT_ATTRIBUTE_CHANGED
, // nsIAccessibleEvent::EVENT_TEXT_ATTRIBUTE_CHANGED
102 IA2_EVENT_TEXT_CARET_MOVED
, // nsIAccessibleEvent::EVENT_TEXT_CARET_MOVED
103 IA2_EVENT_TEXT_CHANGED
, // nsIAccessibleEvent::EVENT_TEXT_CHANGED
104 IA2_EVENT_TEXT_INSERTED
, // nsIAccessibleEvent::EVENT_TEXT_INSERTED
105 IA2_EVENT_TEXT_REMOVED
, // nsIAccessibleEvent::EVENT_TEXT_REMOVED
106 IA2_EVENT_TEXT_UPDATED
, // nsIAccessibleEvent::EVENT_TEXT_UPDATED
107 IA2_EVENT_TEXT_SELECTION_CHANGED
, // nsIAccessibleEvent::EVENT_TEXT_SELECTION_CHANGED
108 IA2_EVENT_VISIBLE_DATA_CHANGED
, // nsIAccessibleEvent::EVENT_VISIBLE_DATA_CHANGED
109 IA2_EVENT_TEXT_COLUMN_CHANGED
, // nsIAccessibleEvent::EVENT_TEXT_COLUMN_CHANGED
110 IA2_EVENT_SECTION_CHANGED
, // nsIAccessibleEvent::EVENT_SECTION_CHANGED
111 IA2_EVENT_TABLE_CAPTION_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_CAPTION_CHANGED
112 IA2_EVENT_TABLE_MODEL_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_MODEL_CHANGED
113 IA2_EVENT_TABLE_SUMMARY_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_SUMMARY_CHANGED
114 IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_ROW_DESCRIPTION_CHANGED
115 IA2_EVENT_TABLE_ROW_HEADER_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_ROW_HEADER_CHANGED
116 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_TABLE_ROW_INSERT
117 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_TABLE_ROW_DELETE
118 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_TABLE_ROW_REORDER
119 IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
120 IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED
, // nsIAccessibleEvent::EVENT_TABLE_COLUMN_HEADER_CHANGED
121 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_TABLE_COLUMN_INSERT
122 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_TABLE_COLUMN_DELETE
123 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_TABLE_COLUMN_REORDER
124 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_ACTIVATE
125 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_CREATE
126 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_DEACTIVATE
127 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_DESTROY
128 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_MAXIMIZE
129 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_MINIMIZE
130 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_RESIZE
131 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_WINDOW_RESTORE
132 IA2_EVENT_HYPERLINK_END_INDEX_CHANGED
, // nsIAccessibleEvent::EVENT_HYPERLINK_END_INDEX_CHANGED
133 IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED
, // nsIAccessibleEvent::EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED
134 IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED
, // nsIAccessibleEvent::EVENT_HYPERLINK_SELECTED_LINK_CHANGED
135 IA2_EVENT_HYPERTEXT_LINK_ACTIVATED
, // nsIAccessibleEvent::EVENT_HYPERTEXT_LINK_ACTIVATED
136 IA2_EVENT_HYPERTEXT_LINK_SELECTED
, // nsIAccessibleEvent::EVENT_HYPERTEXT_LINK_SELECTED
137 IA2_EVENT_HYPERLINK_START_INDEX_CHANGED
, // nsIAccessibleEvent::EVENT_HYPERLINK_START_INDEX_CHANGED
138 IA2_EVENT_HYPERTEXT_CHANGED
, // nsIAccessibleEvent::EVENT_HYPERTEXT_CHANGED
139 IA2_EVENT_HYPERTEXT_NLINKS_CHANGED
, // nsIAccessibleEvent::EVENT_HYPERTEXT_NLINKS_CHANGED
140 IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
, // nsIAccessibleEvent::EVENT_OBJECT_ATTRIBUTE_CHANGED
141 IA2_EVENT_PAGE_CHANGED
, // nsIAccessibleEvent::EVENT_PAGE_CHANGED
142 kEVENT_WIN_UNKNOWN
, // nsIAccessibleEvent::EVENT_INTERNAL_LOAD
143 EVENT_OBJECT_REORDER
, // nsIAccessibleEvent::EVENT_REORDER
144 kEVENT_LAST_ENTRY
// nsIAccessibleEvent::EVENT_LAST_ENTRY