2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 * @file FUi_UiKeyEvent.h
19 * @brief This is the header file for the _UiKeyEvent class.
21 * This header file contains the declarations of the %_UiKeyEvent class.
24 #ifndef _FUI_INTERNAL_UI_KEY_EVENT_H_
25 #define _FUI_INTERNAL_UI_KEY_EVENT_H_
27 #include <FUiIKeyEventListener.h>
28 #include "FUi_UiEvent.h"
30 namespace Tizen {namespace Ui
38 _KEY_INVALID = KEY_INVALID,
43 _KEY_SIDE_UP = KEY_SIDE_UP,
48 _KEY_SIDE_DOWN = KEY_SIDE_DOWN,
58 _KEY_CLEAR = KEY_CLEAR,
63 _KEY_CAMERA = KEY_CAMERA,
68 _KEY_SWITCH = KEY_SWITCH,
123 _KEY_ASTERISK = KEY_ASTERISK,
128 _KEY_SHARP = KEY_SHARP,
131 * Left directional key
133 _KEY_LEFT = KEY_LEFT,
141 * Down directional key
143 _KEY_DOWN = KEY_DOWN,
146 * Right directional key
148 _KEY_RIGHT = KEY_RIGHT,
288 _KEY_BACKSPACE = KEY_BACKSPACE,
293 _KEY_COMMA = KEY_COMMA,
298 _KEY_ENTER = KEY_ENTER,
303 _KEY_CAPSLOCK = KEY_CAPSLOCK,
308 _KEY_QUESTION = KEY_QUESTION,
316 * Language Symbol key
321 * Language Setting key
323 _KEY_SETTING = KEY_SETTING,
328 _KEY_SPACE = KEY_SPACE,
341 * Camera half shutter key
343 _KEY_CAMERA_HALF_SHUTTER = KEY_CAMERA_HALF_SHUTTER,
346 * Character symbol 1 key
348 _KEY_CHAR_SYM_1 = KEY_CHAR_SYM_1,
351 * Character symbol 2 key
353 _KEY_CHAR_SYM_2 = KEY_CHAR_SYM_2,
356 * Character symbol 3 key
358 _KEY_CHAR_SYM_3 = KEY_CHAR_SYM_3,
361 * Character symbol 4 key
363 _KEY_CHAR_SYM_4 = KEY_CHAR_SYM_4,
366 * Character symbol 5 key
368 _KEY_CHAR_SYM_5 = KEY_CHAR_SYM_5,
371 * Character symbol 6 key
373 _KEY_CHAR_SYM_6 = KEY_CHAR_SYM_6,
376 * Character symbol 7 key
378 _KEY_CHAR_SYM_7 = KEY_CHAR_SYM_7,
381 * Character symbol 8 key
383 _KEY_CHAR_SYM_8 = KEY_CHAR_SYM_8,
386 * Character symbol 9 key
388 _KEY_CHAR_SYM_9 = KEY_CHAR_SYM_9,
391 * Character symbol A key
393 _KEY_CHAR_SYM_A = KEY_CHAR_SYM_A,
396 * Character symbol B key
398 _KEY_CHAR_SYM_B = KEY_CHAR_SYM_B,
401 * Character symbol C key
403 _KEY_CHAR_SYM_C = KEY_CHAR_SYM_C,
406 * Character symbol D key
408 _KEY_CHAR_SYM_D = KEY_CHAR_SYM_D,
411 * Character symbol E key.
413 _KEY_CHAR_SYM_E = KEY_CHAR_SYM_E,
416 * Character symbol F key.
418 _KEY_CHAR_SYM_F = KEY_CHAR_SYM_F,
421 * Special function 1 key
423 _KEY_FN_1 = KEY_FN_1,
426 * Special function 2 key
428 _KEY_FN_2 = KEY_FN_2,
431 * Special function 3 key
433 _KEY_FN_3 = KEY_FN_3,
436 * Special function 4 key
438 _KEY_FN_4 = KEY_FN_4,
441 * Special function 5 key
443 _KEY_FN_5 = KEY_FN_5,
448 _KEY_POWER_HOLD = KEY_POWER_HOLD,
453 _KEY_DELETE = KEY_DELETE,
455 _KEY_CTRL_L = KEY_HARDWARE_MAX,
478 * internal Key - send
485 _KEY_MODIFIER_NONE = 0, /**< No active modifiers */
486 _KEY_MODIFIER_SHIFT = 1 << 0, /**< "Control" is pressed */
487 _KEY_MODIFIER_CTRL = 1 << 1, /**< "Alt" is pressed */
488 _KEY_MODIFIER_ALT = 1 << 2, /**< "Shift" is pressed */
489 _KEY_MODIFIER_WIN = 1 << 3, /**< "Win" (between "Ctrl" and "Alt") is pressed */
490 _KEY_MODIFIER_SCROLL = 1 << 4, /**< "AltGr" is pressed */
491 _KEY_MODIFIER_NUM = 1 << 5,
492 _KEY_MODIFIER_CAPS = 1 << 6,
493 _KEY_LOCK_SCROLL = 1 << 7,
494 _KEY_LOCK_NUM = 1 << 8,
495 _KEY_LOCK_CAPS = 1 << 9,
496 _KEY_LOCK_SHIFT = 1 << 10,
497 _KEY_MODIFIER_ALTGR = 1 << 11,
501 class _OSP_EXPORT_ _KeyInfo
504 _KeyInfo(KeyState keyState, _KeyCode keyCode, int keyModifier, void* pUserData);
506 _KeyInfo(const _KeyInfo& rhs);
507 _KeyInfo& operator =(const _KeyInfo& rhs);
510 void SetKeyState(KeyState keyState);
511 KeyState GetKeyState(void) const;
513 void SetKeyCode(_KeyCode keyCode);
514 _KeyCode GetKeyCode(void) const;
516 void SetKeyModifier(int keyModifier);
517 int GetKeyModifier(void) const;
519 void SetUserData(void* pUserData);
520 void* GetUserData(void) const;
529 class _IKeyEventListener;
532 * This is internal. If used in an application, the application can get rejected during the certification process.
534 * @brief This class impliments _UiKeyEvent and
535 * fire the Window Event object of a Ui Control.
543 * This is the default class constructor.
546 _UiKeyEvent(const _UiObjectHandle& destination, const _KeyInfo& keyInfo, _UiEventRouteType routeType = _UI_EVENT_ROUTE_TUNNEL_BUBBLE, const _UiObjectHandle& source = _UiObjectHandle());
547 _UiKeyEvent(const _UiKeyEvent& rhs);
550 * This is the default class destructor.
553 virtual ~_UiKeyEvent(void);
556 _UiKeyEvent& operator =(const _UiKeyEvent& rhs);
559 const _KeyInfo* GetKeyInfo(void) const;
562 void SetKeyState(KeyState keyState);
563 KeyState GetKeyState(void) const;
565 void SetKeyCode(_KeyCode keyCode);
566 _KeyCode GetKeyCode(void) const;
568 void SetKeyModifier(int keyModifier);
569 int GetKeyModifier(void) const;
572 virtual _UiKeyEvent* CloneN(void) const;
573 virtual _UiEventType GetEventType(void) const;
574 virtual result OnPreviewEventProcessing(const _Control& control, bool& isFiltered);
575 virtual result OnEventProcessing(const _Control& control, bool& isFiltered);
576 virtual result OnListenerProcessing(const _IUiEventListener& listener, bool& isFiltered);
579 result FireListener(const _IKeyEventListener* pListener, bool& isFiltered);
587 #endif //_FUI_INTERNAL_UI_KEY_EVENT_H_