Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / google_input_tools / src / chrome / os / inputview / events.js
blob646298ffd0679158dcdd5baf42aa94968b06d976
1 // Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
2 // limitations under the License.
3 // See the License for the specific language governing permissions and
4 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5 // distributed under the License is distributed on an "AS-IS" BASIS,
6 // Unless required by applicable law or agreed to in writing, software
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // You may obtain a copy of the License at
11 // you may not use this file except in compliance with the License.
12 // Licensed under the Apache License, Version 2.0 (the "License");
14 goog.provide('i18n.input.chrome.inputview.events.ConfigLoadedEvent');
15 goog.provide('i18n.input.chrome.inputview.events.ContextUpdateEvent');
16 goog.provide('i18n.input.chrome.inputview.events.DragEvent');
17 goog.provide('i18n.input.chrome.inputview.events.EventType');
18 goog.provide('i18n.input.chrome.inputview.events.LayoutLoadedEvent');
19 goog.provide('i18n.input.chrome.inputview.events.MessageEvent');
20 goog.provide('i18n.input.chrome.inputview.events.PointerEvent');
21 goog.provide('i18n.input.chrome.inputview.events.SurroundingTextChangedEvent');
22 goog.provide('i18n.input.chrome.inputview.events.SwipeEvent');
24 goog.require('goog.events');
25 goog.require('goog.events.Event');
28 goog.scope(function() {
29 var events = i18n.input.chrome.inputview.events;
32 /**
33  * Event types in input view keyboard.
34  *
35  * @enum {string}
36  */
37 events.EventType = {
38   CLICK: goog.events.getUniqueId('c'),
39   CONFIG_LOADED: goog.events.getUniqueId('cl'),
40   DOUBLE_CLICK: goog.events.getUniqueId('dc'),
41   DOUBLE_CLICK_END: goog.events.getUniqueId('dce'),
42   DRAG: goog.events.getUniqueId('dg'),
43   LAYOUT_LOADED: goog.events.getUniqueId('ll'),
44   LONG_PRESS: goog.events.getUniqueId('lp'),
45   LONG_PRESS_END: goog.events.getUniqueId('lpe'),
46   POINTER_DOWN: goog.events.getUniqueId('pd'),
47   POINTER_UP: goog.events.getUniqueId('pu'),
48   POINTER_OVER: goog.events.getUniqueId('pv'),
49   POINTER_OUT: goog.events.getUniqueId('po'),
50   REFRESH: goog.events.getUniqueId('rf'),
51   SETTINGS_READY: goog.events.getUniqueId('sr'),
52   SURROUNDING_TEXT_CHANGED: goog.events.getUniqueId('stc'),
53   SWIPE: goog.events.getUniqueId('s'),
54   CONTEXT_UPDATE: goog.events.getUniqueId('cu'),
55   CONTEXT_FOCUS: goog.events.getUniqueId('cf'),
56   CONTEXT_BLUR: goog.events.getUniqueId('cb'),
57   VISIBILITY_CHANGE: goog.events.getUniqueId('vc'),
58   MODEL_UPDATE: goog.events.getUniqueId('mu'),
59   URL_CHANGED: goog.events.getUniqueId('uc'),
60   UPDATE_SETTINGS: goog.events.getUniqueId('us'),
61   VOICE_STATE_CHANGE: goog.events.getUniqueId('vsc'),
62   HWT_NETWORK_ERROR: goog.events.getUniqueId('hne'),
63   FRONT_TOGGLE_LANGUAGE_STATE: goog.events.getUniqueId('ftls')
68 /**
69  * The event when the data is loaded complete.
70  *
71  * @param {!Object} data The layout data.
72  * @constructor
73  * @extends {goog.events.Event}
74  */
75 events.LayoutLoadedEvent = function(data) {
76   goog.base(this, events.EventType.LAYOUT_LOADED);
78   /**
79    * The layout data.
80    *
81    * @type {!Object}
82    */
83   this.data = data;
85 goog.inherits(events.LayoutLoadedEvent, goog.events.Event);
89 /**
90  * The event when the configuration is loaded complete.
91  *
92  * @param {!Object} data The configuration data.
93  * @constructor
94  * @extends {goog.events.Event}
95  */
96 events.ConfigLoadedEvent = function(data) {
97   goog.base(this, events.EventType.CONFIG_LOADED);
99   /**
100    * The configuration data.
101    *
102    * @type {!Object}
103    */
104   this.data = data;
106 goog.inherits(events.ConfigLoadedEvent, goog.events.Event);
111  * The events generated from receiving a message. It dispatched from adapter to
112  * controller or other parts which do not have access to chrome APIs.
114  * @param {events.EventType} type .
115  * @param {*} msg .
116  * @constructor
117  * @extends {goog.events.Event}
118  */
119 events.MessageEvent = function(type, msg) {
120   goog.base(this, type);
122   /** @type {*} */
123   this.msg = msg;
125 goog.inherits(events.MessageEvent, goog.events.Event);
130  * The pointer event.
132  * @param {i18n.input.chrome.inputview.elements.Element} view .
133  * @param {events.EventType} type .
134  * @param {Node} target The event target.
135  * @param {number} x .
136  * @param {number} y .
137  * @param {number} identifier .
138  * @param {number=} opt_timestamp The timestamp of a pointer event.
139  * @constructor
140  * @extends {goog.events.Event}
141  */
142 events.PointerEvent = function(view, type, target, x, y, identifier,
143     opt_timestamp) {
144   goog.base(this, type, target);
146   /**
147    * The view.
148    *
149    * @type {i18n.input.chrome.inputview.elements.Element}
150    */
151   this.view = view;
153   /**
154    * The x-coordinate.
155    *
156    * @type {number}
157    */
158   this.x = x;
160   /**
161    * The y-coordinate.
162    *
163    * @type {number}
164    */
165   this.y = y;
167   /**
168    * The event identifier.
169    *
170    * @type {number}
171    */
172   this.identifier = identifier;
174   /**
175    * The timestamp.
176    *
177    * @type {number}
178    */
179   this.timestamp = opt_timestamp || 0;
181 goog.inherits(events.PointerEvent, goog.events.Event);
186  * The swipe event.
188  * @param {i18n.input.chrome.inputview.elements.Element} view .
189  * @param {number} direction See SwipeDirection in pointer handler.
190  * @param {Node} target The event target.
191  * @param {number} x .
192  * @param {number} y .
193  * @param {number} identifier .
194  * @constructor
195  * @extends {events.PointerEvent}
196  */
197 events.SwipeEvent = function(view, direction, target, x, y, identifier) {
198   goog.base(this, view, events.EventType.SWIPE,
199       target, x, y, identifier);
201   /**
202    * The direction.
203    *
204    * @type {number}
205    */
206   this.direction = direction;
208 goog.inherits(events.SwipeEvent, events.PointerEvent);
213  * The drag event.
215  * @param {i18n.input.chrome.inputview.elements.Element} view .
216  * @param {number} direction See SwipeDirection in pointer handler.
217  * @param {Node} target The event target.
218  * @param {number} x .
219  * @param {number} y .
220  * @param {number} deltaX The drag distance of x-coordinate.
221  * @param {number} deltaY The drag distance of y-coordinate.
222  * @param {number} identifier .
223  * @constructor
224  * @extends {events.PointerEvent}
225  */
226 events.DragEvent = function(view, direction, target, x, y, deltaX, deltaY,
227     identifier) {
228   goog.base(this, view, events.EventType.DRAG,
229       target, x, y, identifier);
230   /**
231    * The direction
232    *
233    * @type {number}
234    */
235   this.direction = direction;
237   /**
238    * The value of deltaX
239    *
240    * @type {number}
241    */
242   this.deltaX = deltaX;
244   /**
245    * The value of deltaY
246    *
247    * @type {number}
248    */
249   this.deltaY = deltaY;
251 goog.inherits(events.DragEvent, events.PointerEvent);
256  * The event when the surrounding text is changed.
258  * @param {string} text The surrounding text.
259  * @param {number} anchor .
260  * @param {number} focus .
261  * @constructor
262  * @extends {goog.events.Event}
263  */
264 events.SurroundingTextChangedEvent = function(text, anchor, focus) {
265   goog.base(this, events.EventType.SURROUNDING_TEXT_CHANGED);
267   /** @type {string} */
268   this.text = text;
269   /** @type {number} */
270   this.anchor = anchor;
271   /** @type {number} */
272   this.focus = focus;
274 goog.inherits(events.SurroundingTextChangedEvent, goog.events.Event);
279  * The event when context is updated.
281  * @param {string} compositionText .
282  * @param {string} committedText .
283  * @constructor
284  * @extends {goog.events.Event}
285  */
286 events.ContextUpdateEvent = function(compositionText, committedText) {
287   goog.base(this, events.EventType.CONTEXT_UPDATE);
289   /** @type {string} */
290   this.compositionText = compositionText;
292   /** @type {string} */
293   this.committedText = committedText;
295 goog.inherits(events.ContextUpdateEvent, goog.events.Event);
297 });  // goog.scope