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.
19 * @file FUiCtrl_Keypad.cpp
20 * @brief This file contains implementation of _Keypad class
22 * This file contains implementation of _Keypad class.
25 #include <FBaseSysLog.h>
26 #include <FGrp_BitmapImpl.h>
27 #include "FUi_AccessibilityContainer.h"
28 #include "FUi_AccessibilityElement.h"
29 #include "FUi_EcoreEvas.h"
30 #include "FUi_EcoreEvasMgr.h"
31 #include "FUi_CoordinateSystemUtils.h"
32 #include "FUi_SystemUtilImpl.h"
33 #include "FUiCtrlForm.h"
34 #include "FUiCtrl_Edit.h"
35 #include "FUiCtrl_Frame.h"
36 #include "FUiCtrl_Form.h"
37 #include "FUiCtrl_Keypad.h"
38 #include "FUiCtrl_Toolbar.h"
40 using namespace Tizen::Graphics;
41 using namespace Tizen::Base;
42 using namespace Tizen::Base::Runtime;
43 using namespace Tizen::Ui;
44 using namespace Tizen::Ui::Controls;
46 namespace Tizen { namespace Ui { namespace Controls
48 const int COMMAND_DONE_BUTTON_ID = 100;
49 const int COMMAND_CANCEL_BUTTON_ID = 101;
50 const int FOOTER_BACK_BUTTON_ID = 102;
52 IMPLEMENT_PROPERTY(_Keypad);
54 _Keypad::_Keypad(void)
55 : __isInitialized(false)
56 , __isSingleLineEnabled(false)
63 , __isCommandButtonPressed(false)
64 , __isPredictionWindowOpendInUSBMode(false)
66 _AccessibilityContainer* pAccessibilityContainer = GetAccessibilityContainer();
67 if(pAccessibilityContainer)
69 pAccessibilityContainer->Activate(true);
73 _Keypad::~_Keypad(void)
79 _Keypad::CreateKeypadN(void)
83 _Keypad* pKeypad = new (std::nothrow) _Keypad;
84 result r = GetLastResult();
85 SysTryCatch(NID_UI_CTRL, pKeypad, , r, "[%s] Propagating.", GetErrorMessage(r));
86 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
88 r = pKeypad->CreateRootVisualElement();
89 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
91 pKeypad->AcquireHandle();
102 _Keypad::Initialize(int editStyle, _KeypadStyleInfo keypadStyleInfo, int limitLength, _Edit* pCallerEdit)
104 result r = E_SUCCESS;
105 bool UsbKeyboardConnected = false;
107 _ControlManager* pControlManager = _ControlManager::GetInstance();
108 SysTryReturnResult(NID_UI_CTRL, pControlManager, E_SYSTEM, "Failed to get root.");
110 if (GetOwner() == null)
112 _Frame* pFrame = dynamic_cast <_Frame*>(pControlManager->GetCurrentFrame());
113 SysTryReturn(NID_UI_CTRL, pFrame != null, E_SYSTEM,
114 E_SYSTEM, "[E_SYSTEM] This instance is not constructed.");
116 _Form* pForm = pFrame->GetCurrentForm();
131 __pOwner = GetOwner();
134 __pFooter = CreateFooter();
138 SysTryReturnResult(NID_UI_CTRL, __pFooter, GetLastResult(), "Unable to create Edit");
143 __pCallerEdit = pCallerEdit;
147 __pCallerEdit = null;
150 if ( __pChildEdit == null)
152 __pChildEdit = _Edit::CreateEditN();
153 SysTryReturnResult(NID_UI_CTRL, __pChildEdit, E_OUT_OF_MEMORY, "Unable to create Edit");
157 _AccessibilityContainer* pAccessibilityContainer = null;
159 GET_STRING_CONFIG(IDS_COM_SK_DONE, doneText);
160 GET_STRING_CONFIG(IDS_COM_SK_CANCEL, cancelText);
162 __pChildEdit->SetFullScreenKeypadEdit(true);
164 r = __pChildEdit->Initialize(editStyle, INPUT_STYLE_OVERLAY, limitLength);
165 SysTryCatch(NID_UI_CTRL, __pChildEdit, , r, "[%s] Propagating.", GetErrorMessage(r));
167 __pChildEdit->SetTextPredictionEnabled(keypadStyleInfo.textPredictionEnabled);
168 __pChildEdit->SetKeypadNormalNumberStyle(keypadStyleInfo.isNormalNumberStyle);
169 __pChildEdit->SetKeypadStyle(keypadStyleInfo.keypadStyle);
170 if (!keypadStyleInfo.enterActionEnabled)//EditField Style
172 __pChildEdit->SetKeypadActionEnabled(false);
175 __pChildEdit->SetLowerCaseModeEnabled(keypadStyleInfo.isLowerCaseModeEnabled);
177 r = __pChildEdit->SetKeypadCommandButtonVisible(false);
178 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
180 __pChildEdit->AddKeypadEventListener(*this);
182 r = AttachChild(*__pChildEdit);
183 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
185 pAccessibilityContainer = GetAccessibilityContainer();
186 if (pAccessibilityContainer)
188 _AccessibilityContainer* pAccessibilityEdit = __pChildEdit->GetAccessibilityContainer();
189 if (pAccessibilityEdit)
191 pAccessibilityContainer->AddChildContainer(*pAccessibilityEdit);
196 UsbKeyboardConnected = __pChildEdit->IsUsbKeyboardConnected();
198 r = ChangeLayoutInternal();
200 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
202 __pChildEdit->SetVisibleState(true);
204 __isInitialized = true;
214 _Keypad::CreateFooter(void)
216 result r = E_SUCCESS;
218 _Toolbar* pFooter = null;
222 _ControlManager* pControlManager = _ControlManager::GetInstance();
223 SysTryReturn(NID_UI_CTRL, pControlManager, null, E_SYSTEM, "Fail to get ControlManager instance");
225 _Frame* pFrame = dynamic_cast <_Frame*>(pControlManager->GetCurrentFrame());
226 SysTryReturn(NID_UI_CTRL, pFrame, null, E_SYSTEM, "This instance is not constructed.");
230 FloatRectangle bounds(0.0f,0.0f,0.0f,0.0f);
232 FloatDimension screenSize = pControlManager->GetScreenSizeF();
234 pFooter = _Toolbar::CreateToolbarN(false);
235 SysTryReturn(NID_UI_CTRL, pFooter, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Unable to create instance.");
237 r = pFooter->Construct();
238 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
240 r = pFooter->SetStyle(TOOLBAR_TEXT);
241 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
243 pFooter->SetResizable(true);//[twt] is it necessary???????
244 pFooter->SetMovable(true);
246 _ControlOrientation orientation = GetOrientation();
248 if (orientation == _CONTROL_ORIENTATION_PORTRAIT)
250 bounds.width = screenSize.width;
254 bounds.width = screenSize.height;
258 GET_SHAPE_CONFIG(FOOTER::HEIGHT, orientation, height);
259 bounds.height = height;
261 r = pFooter->SetBounds(bounds);
262 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
264 pFooter->SetResizable(false);
265 pFooter->SetMovable(false);
267 GET_STRING_CONFIG(IDS_COM_SK_DONE, doneText);
268 //GET_STRING_CONFIG(IDS_COM_SK_CANCEL, cancelText);
270 r = pFooter->AddItem(CreateButtonItemN(COMMAND_DONE_BUTTON_ID, doneText));
271 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
273 pFooter->SetBackEventListener(*this, FOOTER_BACK_BUTTON_ID);
274 pFooter->AddActionEventListener(*this);
276 pFooter->SetButton(BACK_BUTTON, CreateFooterBackButton(pFooter));
278 r = AttachChild(*pFooter);
279 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
295 _Keypad::CreateFooterBackButton(_Toolbar* pFooter)
297 _Button* pButton = _Button::CreateButtonN();
299 float buttonHeight = 0.0f;
300 float buttonWidth = 0.0f;
301 float iconSize = 0.0f;
303 GET_SHAPE_CONFIG(FOOTER::BUTTON_ITEM_HEIGHT, pFooter->GetOrientation(), buttonHeight);
304 GET_SHAPE_CONFIG(FOOTER::BUTTON_ITEM_WIDTH, pFooter->GetOrientation(), buttonWidth);
305 GET_SHAPE_CONFIG(FOOTER::BUTTON_ITEM_ICON_SIZE, pFooter->GetOrientation(), iconSize);
307 pButton->SetSize(FloatDimension(buttonWidth, buttonHeight));
309 Bitmap* pBackgroundNormalBitmap = null;
310 Bitmap* pBackgroundPressedBitmap = null;
311 Bitmap* pColorReplacedBitmap = null;
312 Bitmap* pBackIconNormalBitmap = null;
313 Bitmap* pBackIconNormalEffectBitmap = null;
315 GET_BITMAP_CONFIG_N(FOOTER::BUTTON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBackgroundNormalBitmap);
316 GET_BITMAP_CONFIG_N(FOOTER::BUTTON_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pBackgroundPressedBitmap);
317 GET_BITMAP_CONFIG_N(FOOTER::BACK_ICON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBackIconNormalBitmap);
318 GET_BITMAP_CONFIG_N(FOOTER::BACK_ICON_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBackIconNormalEffectBitmap);
320 bool themeBackNormalBitmap = IS_CUSTOM_BITMAP(FOOTER::BACK_ICON_NORMAL);
321 if (!themeBackNormalBitmap)
323 GET_BITMAP_CONFIG_N(FOOTER::BACK_ICON_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBackIconNormalEffectBitmap);
326 if (pBackgroundNormalBitmap)
328 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackgroundNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA),
329 pFooter->GetButtonColor(_BUTTON_STATUS_NORMAL));
330 pButton->SetBackgroundBitmap(_BUTTON_STATUS_NORMAL, *pColorReplacedBitmap);
331 delete pColorReplacedBitmap;
333 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackgroundNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA),
334 pFooter->GetButtonColor(_BUTTON_STATUS_HIGHLIGHTED));
335 pButton->SetBackgroundBitmap(_BUTTON_STATUS_HIGHLIGHTED, *pColorReplacedBitmap);
336 delete pColorReplacedBitmap;
338 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackgroundNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA),
339 pFooter->GetButtonColor(_BUTTON_STATUS_DISABLED));
340 pButton->SetBackgroundBitmap(_BUTTON_STATUS_DISABLED, *pColorReplacedBitmap);
341 delete pColorReplacedBitmap;
343 delete pBackgroundNormalBitmap;
346 if (pBackgroundPressedBitmap)
348 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackgroundPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA),
349 pFooter->GetButtonColor(_BUTTON_STATUS_PRESSED));
350 pButton->SetBackgroundBitmap(_BUTTON_STATUS_PRESSED, *pColorReplacedBitmap);
351 delete pColorReplacedBitmap;
353 delete pBackgroundPressedBitmap;
356 if (pBackIconNormalBitmap)
362 GET_COLOR_CONFIG(FOOTER::BACK_ICON_NORMAL, normalColor);
363 GET_COLOR_CONFIG(FOOTER::BACK_ICON_PRESSED, pressedColor);
364 GET_COLOR_CONFIG(FOOTER::BACK_ICON_DISABLED, disabledColor);
366 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackIconNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), normalColor);
367 if (pColorReplacedBitmap)
369 pColorReplacedBitmap->Scale(FloatDimension(iconSize, iconSize));
371 pButton->SetBitmap(_BUTTON_STATUS_NORMAL, FloatPoint(0.0f, 0.0f), *pColorReplacedBitmap);
373 delete pColorReplacedBitmap;
376 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackIconNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), pressedColor);
377 if (pColorReplacedBitmap)
379 pColorReplacedBitmap->Scale(FloatDimension(iconSize, iconSize));
381 pButton->SetBitmap(_BUTTON_STATUS_PRESSED, FloatPoint(0.0f, 0.0f), *pColorReplacedBitmap);
382 delete pColorReplacedBitmap;
385 pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBackIconNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), disabledColor);
386 if (pColorReplacedBitmap)
388 pColorReplacedBitmap->Scale(FloatDimension(iconSize, iconSize));
390 pButton->SetBitmap(_BUTTON_STATUS_DISABLED, FloatPoint(0.0f, 0.0f), *pColorReplacedBitmap);
391 delete pColorReplacedBitmap;
394 delete pBackIconNormalBitmap;
397 if (pBackIconNormalEffectBitmap)
399 pButton->SetEffectBitmap(_BUTTON_STATUS_NORMAL, FloatPoint(0.0f, 0.0f), *pBackIconNormalEffectBitmap);
400 pButton->SetEffectBitmap(_BUTTON_STATUS_PRESSED, FloatPoint(0.0f, 0.0f), *pBackIconNormalEffectBitmap);
401 pButton->SetEffectBitmap(_BUTTON_STATUS_SELECTED, FloatPoint(0.0f, 0.0f), *pBackIconNormalEffectBitmap);
402 pButton->SetEffectBitmap(_BUTTON_STATUS_HIGHLIGHTED, FloatPoint(0.0f, 0.0f), *pBackIconNormalEffectBitmap);
403 pButton->SetEffectBitmap(_BUTTON_STATUS_DISABLED, FloatPoint(0.0f, 0.0f), *pBackIconNormalEffectBitmap);
405 delete pBackIconNormalEffectBitmap;
412 _Keypad::CreateButtonItemN(int actionId, const String& text)
414 result r = E_SUCCESS;
415 _Button* pButton = _Button::CreateButtonN();
416 SysTryReturn(NID_UI_CTRL, pButton, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Unable to create instance.");
418 r = pButton->SetActionId(actionId);
419 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
421 r = pButton->SetText(text);
422 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
432 _Keypad::ChangeLayoutInternal(void)
434 result r = E_SUCCESS;
435 _ControlManager* pControlManager = _ControlManager::GetInstance();
436 SysTryReturnResult(NID_UI_CTRL, pControlManager, E_SYSTEM, "Failed to get root.");
437 FloatDimension screenSize = pControlManager->GetScreenSizeF();
438 _ControlOrientation orientation = GetOrientation();
440 _Frame* pFrame = dynamic_cast <_Frame*>(pControlManager->GetCurrentFrame());
441 SysTryReturn(NID_UI_CTRL, pFrame, null, E_SYSTEM, "This instance is not constructed.");
443 _Form* pForm = pFrame->GetCurrentForm();
445 FloatRectangle bounds;
446 if (orientation == _CONTROL_ORIENTATION_PORTRAIT)
448 bounds.width = screenSize.width;
449 bounds.height = screenSize.height;
453 bounds.width = screenSize.height;
454 bounds.height = screenSize.width;
457 if (pForm && pForm->IsIndicatorVisible())
459 float indicatorHeight = pForm->GetIndicatorBoundsF().height;
460 bounds.y += indicatorHeight;
461 bounds.height -= indicatorHeight;
466 r = SetBounds(bounds);
467 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
471 __pChildEdit->ChangeLayout(orientation);
473 FloatRectangle editRect = bounds;
475 editRect.y = 0.0f;//_keypad's client doesn't include indicator
477 float footerHeight = 0.0f;
478 GET_SHAPE_CONFIG(FOOTER::HEIGHT, orientation, footerHeight);
480 editRect.height -= footerHeight;
482 FloatRectangle keypadRect;
483 if (__pChildEdit->IsKeypadExist())
485 r = __pChildEdit->GetKeypadBounds(keypadRect);
486 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
487 editRect.height -= keypadRect.height;
489 if (!__isPredictionWindowOpendInUSBMode)
491 __pFooter->SetHideButton(true);
492 __pFooter->Invalidate(true);
497 __pFooter->SetHideButton(false);
498 __pFooter->Invalidate(true);
501 r = __pChildEdit->SetBounds(editRect);
502 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
504 FloatRectangle footerBounds(0.0f, 0.0f, 0.0f, 0.0f);
506 footerBounds.y = editRect.height;
507 footerBounds.width = editRect.width;
508 footerBounds.height = footerHeight;
510 __pFooter->SetResizable(true);
511 __pFooter->SetMovable(true);
513 __pFooter->SetBounds(footerBounds);
515 __pFooter->SetResizable(false);
516 __pFooter->SetMovable(false);
522 _Keypad::GetIndicatorBounds(void) const
524 float indicatorwidth = 0.0f;
525 float indicatorheight = 0.0f;
527 GET_SHAPE_CONFIG(FORM::INDICATOR_WIDTH, GetOrientation(), indicatorwidth);
528 GET_SHAPE_CONFIG(FORM::INDICATOR_HEIGHT, GetOrientation(), indicatorheight);
530 FloatRectangle rect (0.0f, 0.0f, indicatorwidth, indicatorheight);
536 _Keypad::OnAttachedToMainTree(void)
538 result r = E_SUCCESS;
540 r = __pChildEdit->SetText(__text);
541 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
549 _Keypad::OnNativeWindowActivated(void)
551 __pChildEdit->SetFocused();
557 _Keypad::OnDraw(void)
559 Canvas* pCanvas = GetCanvasN();
560 SysTryReturnVoidResult(NID_UI_CTRL, pCanvas, E_SYSTEM, "[E_SYSTEM] System error occurred.");
562 Color backgroundColor;
563 GET_COLOR_CONFIG(EDIT::BG_NORMAL, backgroundColor);
565 pCanvas->SetBackgroundColor(backgroundColor);
573 _Keypad::SetSingleLineEnabled(bool enabled)
575 SetProperty("singleLineEnabled", Variant(enabled));
581 _Keypad::IsSingleLineEnabled(void) const
583 Variant enabled = GetProperty("singleLineEnabled");
585 return enabled.ToBool();
589 _Keypad::SetPropertySingleLineEnabled(const Variant& enabled)
591 __isSingleLineEnabled = enabled.ToBool();
597 _Keypad::GetPropertySingleLineEnabled(void) const
599 return Variant(__isSingleLineEnabled);
603 _Keypad::GetText(void) const
605 Variant text = GetProperty("text");
607 return text.ToString();
611 _Keypad::SetText(const String& text)
613 SetProperty("text", Variant(text));
619 _Keypad::SetPropertyText(const Variant& text)
621 __text = text.ToString();
627 _Keypad::GetPropertyText(void) const
629 return Variant(__text);
633 _Keypad::AddTextEventListener(const _ITextEventListener& listener)
635 if (__pTextEvent == null)
637 __pTextEvent = _TextEvent::CreateInstanceN(*this);
638 SysTryReturn(NID_UI_CTRL, __pTextEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] System error occurred.\n");
641 return __pTextEvent->AddListener(listener);
645 _Keypad::RemoveTextEventListener(const _ITextEventListener& listener)
647 SysTryReturn(NID_UI_CTRL, __pTextEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
648 __pTextEvent->RemoveListener(listener);
654 _Keypad::SetEditTextFilter(IEditTextFilter* pFilter)
658 __pChildEdit->SetEditTextFilter(pFilter);
665 _Keypad::SendOpaqueCommand (const Tizen::Base::String& command)
669 __pChildEdit->SendOpaqueCommand(command);
676 _Keypad::OnActionPerformed(const _Control& source, int actionId)
678 bool isReCreationLock = false;
679 if ((actionId != COMMAND_DONE_BUTTON_ID) && (actionId != FOOTER_BACK_BUTTON_ID))
683 if (actionId == FOOTER_BACK_BUTTON_ID)
685 if (__pChildEdit->IsKeypadExist())
687 _SystemUtilImpl::GenerateKeyEvent(KEY_EVENT_TYPE_PRESSED, _KEY_STOP);
688 _SystemUtilImpl::GenerateKeyEvent(KEY_EVENT_TYPE_RELEASED, _KEY_STOP);
693 __pChildEdit->HideKeypad();
697 __pCallerEdit->SetKeypadEnabled(false);
698 isReCreationLock = true;
701 if (isReCreationLock)
703 __pCallerEdit->SetKeypadEnabled(true);
706 CoreTextEventStatus textEventStatus = CORE_TEXT_EVENT_CHANGED;
707 if (actionId == COMMAND_DONE_BUTTON_ID)
709 __text = __pChildEdit->GetText();
710 textEventStatus = CORE_TEXT_EVENT_CHANGED;
714 textEventStatus = CORE_TEXT_EVENT_CANCELED;
717 __isCommandButtonPressed = true;
721 __pCallerEdit->SetText(__text);
722 _Control* pParent = __pCallerEdit->GetParent();
725 pParent->Invalidate(true);
728 if (!__pCallerEdit->IsInputEventEnabled())
730 __pCallerEdit->UnlockInputEvent();
732 __pCallerEdit->SendTextEvent(textEventStatus);
736 __pOwner->Invalidate(true);
739 IEventArg* pEventArg = _TextEvent::CreateTextEventArgN(textEventStatus);
742 __pTextEvent->Fire(*pEventArg);
751 _Keypad::OnKeypadWillOpen(void)
757 _Keypad::OnKeypadOpened(void)
759 if (__pChildEdit->IsUsbKeyboardConnected())
761 __isPredictionWindowOpendInUSBMode = true;
764 ChangeLayoutInternal();//usb off & bounded or usb on & prediction
770 _Keypad::OnKeypadClosed(void)
772 ChangeLayoutInternal();
778 _Keypad::OnKeypadBoundsChanged(void)
780 ChangeLayoutInternal();// predictive window show/hide
786 _Keypad::OnKeypadActionPerformed(CoreKeypadAction keypadAction)
792 _Keypad::OnChangeLayout(_ControlOrientation orientation)
796 ChangeLayoutInternal();
803 _Keypad::Dispose(void)
805 result r = E_SUCCESS;
808 DetachChild(*__pFooter);
814 __pChildEdit->HideKeypad();
815 DetachChild(*__pChildEdit);
819 __pCallerEdit = null;
829 } } } // Tizen::Ui::Controls