2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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_EditFieldImpl.cpp
20 * @brief This file contains implementation of _EditFieldImpl class
23 #include <FApp_AppInfo.h>
24 #include <FBaseSysLog.h>
25 #include <FBaseInternalTypes.h>
26 #include <FBase_LocalizedNumParser.h>
27 #include <FUiAccessibilityContainer.h>
28 #include <FUiAccessibilityElement.h>
29 #include <FUiCtrlEditField.h>
30 #include <FUiCtrlInputTypes.h>
31 #include <FUiITouchEventListener.h>
32 #include "FUi_ControlImpl.h"
33 #include "FUi_CoordinateSystemUtils.h"
34 #include "FUi_IFocusEventListener.h"
35 #include "FUi_ResourceSizeInfo.h"
36 #include "FUi_UiBuilder.h"
37 #include "FUiCtrl_Edit.h"
38 #include "FUiCtrl_EditFieldImpl.h"
39 #include "FUiCtrl_PublicActionEvent.h"
40 #include "FUiCtrl_PublicKeypadEvent.h"
41 #include "FUiCtrl_PublicLanguageEvent.h"
42 #include "FUiCtrl_PublicLinkEvent.h"
43 #include "FUiCtrl_PublicScrollPanelEvent.h"
44 #include "FUiCtrl_PublicTextBlockEvent.h"
45 #include "FUiCtrl_PublicTextEvent.h"
46 #include "FUi_CoordinateSystemUtils.h"
48 using namespace Tizen::App;
49 using namespace Tizen::Base;
50 using namespace Tizen::Base::Runtime;
51 using namespace Tizen::Base::Utility;
52 using namespace Tizen::Graphics;
53 using namespace Tizen::Locales;
54 using namespace Tizen::Ui;
56 namespace Tizen { namespace Ui { namespace Controls
59 _EditFieldImpl::EditFieldSizeInfo::EditFieldSizeInfo(void)
60 :__titleStyle(EDIT_FIELD_TITLE_STYLE_NONE)
66 _EditFieldImpl::EditFieldSizeInfo::GetDefaultMinimumSize(_ControlOrientation orientation) const
69 Dimension editFieldMinimumSize(0, 0);
73 r = GET_DIMENSION_CONFIG(EDIT::SMALL_STYLE_MIN_SIZE, orientation, editFieldMinimumSize);
74 SysTryReturn(NID_UI, r == E_SUCCESS, editFieldMinimumSize, r, "System Error occurred.");
76 else if (__titleStyle == EDIT_FIELD_TITLE_STYLE_TOP)
78 r = GET_DIMENSION_CONFIG(EDIT::TITLE_STYLE_MIN_SIZE, orientation, editFieldMinimumSize);
79 SysTryReturn(NID_UI, r == E_SUCCESS, editFieldMinimumSize, r, "System Error occurred.");
83 r = GET_DIMENSION_CONFIG(EDIT::MIN_SIZE, orientation, editFieldMinimumSize);
84 SysTryReturn(NID_UI, r == E_SUCCESS, editFieldMinimumSize, r, "System Error occurred.");
87 return editFieldMinimumSize;
91 _EditFieldImpl::EditFieldSizeInfo::GetDefaultMinimumSizeF(_ControlOrientation orientation) const
94 FloatDimension editFieldMinimumSize(0.0f, 0.0f);
98 r = GET_DIMENSION_CONFIG(EDIT::SMALL_STYLE_MIN_SIZE, orientation, editFieldMinimumSize);
99 SysTryReturn(NID_UI, r == E_SUCCESS, editFieldMinimumSize, r, "System Error occurred.");
101 else if (__titleStyle == EDIT_FIELD_TITLE_STYLE_TOP)
103 r = GET_DIMENSION_CONFIG(EDIT::TITLE_STYLE_MIN_SIZE, orientation, editFieldMinimumSize);
104 SysTryReturn(NID_UI, r == E_SUCCESS, editFieldMinimumSize, r, "System Error occurred.");
108 r = GET_DIMENSION_CONFIG(EDIT::MIN_SIZE, orientation, editFieldMinimumSize);
109 SysTryReturn(NID_UI, r == E_SUCCESS, editFieldMinimumSize, r, "System Error occurred.");
112 return editFieldMinimumSize;
116 _EditFieldImpl::EditFieldSizeInfo::SetTitleStyle(EditFieldTitleStyle titleStyle)
118 __titleStyle = titleStyle;
122 _EditFieldImpl::EditFieldSizeInfo::SetSmallStyle(bool isSmallStyle)
124 __smallStyle = isSmallStyle;
129 _EditFieldImpl::GetInstance(EditField& editField)
131 return (static_cast<_EditFieldImpl*> (editField._pControlImpl));
134 const _EditFieldImpl*
135 _EditFieldImpl::GetInstance(const EditField& editField)
137 return (static_cast<const _EditFieldImpl*> (editField._pControlImpl));
140 _EditFieldImpl::_EditFieldImpl(EditField* pPublic, _Edit* pCore)
141 : _ControlImpl(pPublic, pCore)
143 , __editFieldStyle(EDIT_FIELD_STYLE_NORMAL)
144 , __inputStyle(INPUT_STYLE_OVERLAY)
145 , __inputModeCategory(EDIT_INPUTMODE_ALPHA | EDIT_INPUTMODE_PREDICTIVE | EDIT_INPUTMODE_NUMERIC | EDIT_INPUTMODE_SYMBOL)
146 , __currentInputMode(EDIT_INPUTMODE_ALPHA)
147 , __pPublicActionEvent(null)
148 , __pPublicKeypadEvent(null)
149 , __pPublicLanguageEvent(null)
150 , __pPublicLinkEvent(null)
151 , __pPublicScrollPanelEvent(null)
152 , __pPublicTextBlockEvent(null)
153 , __pPublicTextEvent(null)
154 , __autoLinkMask(LINK_TYPE_NONE)
158 _EditFieldImpl::~_EditFieldImpl(void)
162 __pEdit->RemoveTextEventListener(*this);
163 __pEdit->RemoveActionEventListener(*this);
164 __pEdit->RemoveTextBlockEventListener(*this);
165 __pEdit->RemoveUiLinkEventListener(*this);
166 __pEdit->RemoveKeypadEventListener(*this);
167 __pEdit->RemoveActionEventListener(*this);
168 if (__pEdit->GetInputStyle() == INPUT_STYLE_OVERLAY)
170 __pEdit->RemoveScrollPanelEventListener(*this);
174 if (__pPublicTextEvent)
176 delete __pPublicTextEvent;
177 __pPublicTextEvent = null;
180 if (__pPublicActionEvent)
182 delete __pPublicActionEvent;
183 __pPublicActionEvent = null;
186 if (__pPublicTextBlockEvent)
188 delete __pPublicTextBlockEvent;
189 __pPublicTextBlockEvent = null;
192 if (__pPublicLinkEvent)
194 delete __pPublicLinkEvent;
195 __pPublicLinkEvent = null;
198 if (__pPublicKeypadEvent)
200 delete __pPublicKeypadEvent;
201 __pPublicKeypadEvent = null;
204 if (__pPublicLanguageEvent)
206 delete __pPublicLanguageEvent;
207 __pPublicLanguageEvent = null;
210 if (__pPublicScrollPanelEvent)
212 delete __pPublicScrollPanelEvent;
213 __pPublicScrollPanelEvent = null;
218 _EditFieldImpl::CreateEditFieldImplN(EditField* pControl, const Rectangle& rect, EditFieldStyle style, EditFieldTitleStyle titleStyle)
222 result r = E_SUCCESS;
224 bool isSmallStyle = false;
226 if (style == EDIT_FIELD_STYLE_NORMAL_SMALL || style == EDIT_FIELD_STYLE_PASSWORD_SMALL
227 || style == EDIT_FIELD_STYLE_EMAIL_SMALL || style == EDIT_FIELD_STYLE_URL_SMALL
228 || style == EDIT_FIELD_STYLE_IP_V4_SMALL || style == EDIT_FIELD_STYLE_PHONE_NUMBER_SMALL
229 || style == EDIT_FIELD_STYLE_NUMBER_SMALL || style == EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL)
234 _Edit* pCore = _Edit::CreateEditN();
235 SysTryReturn(NID_UI_CTRL, pCore, null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
237 _EditFieldImpl* pImpl = new (std::nothrow) _EditFieldImpl(pControl, pCore);
238 r = _ControlImpl::CheckConstruction(pCore, pImpl);
239 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
245 _EditFieldImpl::CreateEditFieldImplN(EditField* pControl, const FloatRectangle& rect, EditFieldStyle style, EditFieldTitleStyle titleStyle)
249 result r = E_SUCCESS;
251 bool isSmallStyle = false;
253 if (style == EDIT_FIELD_STYLE_NORMAL_SMALL || style == EDIT_FIELD_STYLE_PASSWORD_SMALL
254 || style == EDIT_FIELD_STYLE_EMAIL_SMALL || style == EDIT_FIELD_STYLE_URL_SMALL
255 || style == EDIT_FIELD_STYLE_IP_V4_SMALL || style == EDIT_FIELD_STYLE_PHONE_NUMBER_SMALL
256 || style == EDIT_FIELD_STYLE_NUMBER_SMALL || style == EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL)
261 _Edit* pCore = _Edit::CreateEditN();
262 SysTryReturn(NID_UI_CTRL, pCore, null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
264 _EditFieldImpl* pImpl = new (std::nothrow) _EditFieldImpl(pControl, pCore);
265 r = _ControlImpl::CheckConstruction(pCore, pImpl);
266 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
272 _EditFieldImpl::GetPublicClassName(void) const
274 return "Tizen::Ui::Controls::EditField";
278 _EditFieldImpl::GetPublic(void) const
280 return static_cast <const EditField&>(_ControlImpl::GetPublic());
284 _EditFieldImpl::GetPublic(void)
286 return static_cast <EditField&>(_ControlImpl::GetPublic());
290 _EditFieldImpl::GetCore(void) const
292 return static_cast <const _Edit&>(_ControlImpl::GetCore());
296 _EditFieldImpl::GetCore(void)
298 return static_cast <_Edit&>(_ControlImpl::GetCore());
302 _EditFieldImpl::Initialize(EditFieldStyle style, InputStyle inputStyle,
303 EditFieldTitleStyle titleStlye, bool enableClear, int limitLength,
304 GroupStyle groupStyle)
306 result r = E_SUCCESS;
308 int editfieldStyle = EDIT_STYLE_NORMAL | EDIT_STYLE_SINGLE_LINE | EDIT_STYLE_NOSCROLL;
309 bool isSmallStyle = false;
310 EditFieldStyle tempStyle = style;
311 KeypadStyle keypadStyle = KEYPAD_STYLE_NORMAL;
312 Variant variantKeypadStyle = (int)KEYPAD_STYLE_NORMAL;
314 if (style == EDIT_FIELD_STYLE_NORMAL_SMALL || style == EDIT_FIELD_STYLE_PASSWORD_SMALL
315 || style == EDIT_FIELD_STYLE_EMAIL_SMALL || style == EDIT_FIELD_STYLE_URL_SMALL
316 || style == EDIT_FIELD_STYLE_IP_V4_SMALL || style == EDIT_FIELD_STYLE_PHONE_NUMBER_SMALL
317 || style == EDIT_FIELD_STYLE_NUMBER_SMALL || style == EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL)
322 case EDIT_FIELD_STYLE_EMAIL_SMALL:
323 tempStyle = EDIT_FIELD_STYLE_EMAIL;
326 case EDIT_FIELD_STYLE_PASSWORD_SMALL:
327 tempStyle = EDIT_FIELD_STYLE_PASSWORD;
330 case EDIT_FIELD_STYLE_URL_SMALL:
331 tempStyle = EDIT_FIELD_STYLE_URL;
334 case EDIT_FIELD_STYLE_NUMBER_SMALL:
335 tempStyle = EDIT_FIELD_STYLE_NUMBER;
338 case EDIT_FIELD_STYLE_PHONE_NUMBER_SMALL:
339 tempStyle = EDIT_FIELD_STYLE_PHONE_NUMBER;
342 case EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL:
343 tempStyle = EDIT_FIELD_STYLE_PASSWORD_NUMBER;
346 case EDIT_FIELD_STYLE_IP_V4_SMALL:
347 tempStyle = EDIT_FIELD_STYLE_IP_V4;
357 if (tempStyle == EDIT_FIELD_STYLE_PASSWORD || tempStyle == EDIT_FIELD_STYLE_PASSWORD_NUMBER)
359 editfieldStyle |= EDIT_STYLE_PASSWORD;
362 if (isSmallStyle && (titleStlye != EDIT_FIELD_TITLE_STYLE_NONE))
364 r = E_UNSUPPORTED_OPTION;
365 SysLogException(NID_UI_CTRL, E_UNSUPPORTED_OPTION, "[E_UNSUPPORTED_OPTION] Unsupported operation.");
369 if (titleStlye == EDIT_FIELD_TITLE_STYLE_INNER)
371 editfieldStyle |= EDIT_STYLE_TITLE_LEFT;
373 else if (titleStlye == EDIT_FIELD_TITLE_STYLE_TOP)
375 editfieldStyle |= EDIT_STYLE_TITLE_TOP;
380 editfieldStyle |= EDIT_STYLE_CLEAR;
383 __inputStyle = inputStyle;
384 __editFieldStyle = tempStyle;
386 r = __pEdit->Initialize(editfieldStyle, inputStyle, limitLength, groupStyle);
392 if (!_AppInfo::IsOspCompat())
394 __pEdit->SetKeypadCommandButtonVisible(false);
399 case EDIT_FIELD_STYLE_EMAIL :
400 keypadStyle = KEYPAD_STYLE_EMAIL;
403 case EDIT_FIELD_STYLE_URL :
404 keypadStyle = KEYPAD_STYLE_URL;
407 case EDIT_FIELD_STYLE_NUMBER :
408 keypadStyle = KEYPAD_STYLE_NUMBER;
411 case EDIT_FIELD_STYLE_PHONE_NUMBER :
412 keypadStyle = KEYPAD_STYLE_PHONE_NUMBER;
415 case EDIT_FIELD_STYLE_PASSWORD_NUMBER :
416 keypadStyle = KEYPAD_STYLE_NUMBER;
419 case EDIT_FIELD_STYLE_IP_V4 :
420 keypadStyle = KEYPAD_STYLE_IP_V4;
423 case EDIT_FIELD_STYLE_PASSWORD :
424 keypadStyle = KEYPAD_STYLE_PASSWORD;
431 variantKeypadStyle = (int) keypadStyle;
432 __pEdit->SetPropertyKeypadStyle(variantKeypadStyle);
434 __pPublicActionEvent = _PublicActionEvent::CreateInstanceN(GetPublic());
435 SysTryReturn(NID_UI_CTRL, __pPublicActionEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
437 r = __pEdit->AddActionEventListener(*this);
438 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
440 __pPublicLinkEvent = _PublicLinkEvent::CreateInstanceN(GetPublic());
441 SysTryReturn(NID_UI_CTRL, __pPublicLinkEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
443 r = __pEdit->AddUiLinkEventListener(*this);
444 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
446 __pPublicTextBlockEvent = _PublicTextBlockEvent::CreateInstanceN(GetPublic());
447 SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
449 r = __pEdit->AddTextBlockEventListener(*this);
450 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
452 __pPublicKeypadEvent = _PublicKeypadEvent::CreateInstanceN(GetPublic());
453 SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
455 r = __pEdit->AddKeypadEventListener(*this);
456 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
458 __pPublicTextEvent = _PublicTextEvent::CreateInstanceN(GetPublic());
459 SysTryReturn(NID_UI_CTRL, __pPublicTextEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
461 r = __pEdit->AddTextEventListener(*this);
462 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
464 __pPublicScrollPanelEvent = _PublicScrollPanelEvent::CreateInstanceN(GetPublic());
465 SysTryReturn(NID_UI_CTRL, __pPublicScrollPanelEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
467 if (inputStyle == INPUT_STYLE_OVERLAY)
469 r = __pEdit->AddScrollPanelEventListener(*this);
470 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
473 __pPublicLanguageEvent = _PublicLanguageEvent::CreateInstanceN(GetPublic());
474 SysTryReturn(NID_UI_CTRL, __pPublicLanguageEvent, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
476 r = __pEdit->AddLanguageEventListener(*this);
477 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
479 if (inputStyle == INPUT_STYLE_OVERLAY)
481 __pEdit->SetAutoLinkMask(LINK_TYPE_URL | LINK_TYPE_EMAIL | LINK_TYPE_TEL_NUM);
488 _EditFieldImpl::Dispose(void)
490 result r = E_SUCCESS;
502 _EditFieldImpl::GetTextAlignment(void) const
504 return __pEdit->GetTextAlignment();
508 _EditFieldImpl::SetTextAlignment(HorizontalAlignment alignment)
510 return __pEdit->SetTextAlignment(alignment);
514 _EditFieldImpl::IsViewModeEnabled(void) const
516 return __pEdit->GetPropertyViewModeEnabled().ToBool();
520 _EditFieldImpl::SetViewModeEnabled(bool enable)
522 Variant variantEnable(enable);
524 return __pEdit->SetPropertyViewModeEnabled(variantEnable);
528 _EditFieldImpl::SetAutoLinkMask(unsigned long autoLinks)
530 result r = E_SUCCESS;
531 Variant variantAutoLinks(autoLinks);
533 r = __pEdit->SetPropertyAutoLinkMask(variantAutoLinks);
537 __autoLinkMask = autoLinks;
544 _EditFieldImpl::GetAutoLinkMask(void) const
546 SysTryReturn(NID_UI_CTRL, (__inputStyle == INPUT_STYLE_OVERLAY), LINK_TYPE_NONE, E_UNSUPPORTED_OPERATION, "[E_UNSUPPORTED_OPERATION] The current state unable to this operation.");
547 return __autoLinkMask;
551 _EditFieldImpl::GetMargin(EditMarginType marginType) const
553 return _CoordinateSystemUtils::ConvertToInteger(GetMarginF(marginType));
557 _EditFieldImpl::GetMarginF(EditMarginType marginType) const
559 if (marginType == EDIT_MARGIN_TYPE_VERTICAL)
561 return __pEdit->GetVerticalMarginF(EDIT_TEXT_TOP_MARGIN);
565 return __pEdit->GetHorizontalMarginF(EDIT_TEXT_LEFT_MARGIN);
570 _EditFieldImpl::SetMargin(EditMarginType marginType, int margin)
572 return SetMargin(marginType, _CoordinateSystemUtils::ConvertToFloat(margin));
576 _EditFieldImpl::SetMargin(EditMarginType marginType, float margin)
578 result r = E_SUCCESS;
579 Variant varMargin(margin);
581 if (marginType == EDIT_MARGIN_TYPE_HORIZONTAL)
583 r = __pEdit->SetHorizontalMargin(margin, EDIT_TEXT_LEFT_MARGIN);
584 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
585 r = __pEdit->SetHorizontalMargin(margin, EDIT_TEXT_RIGHT_MARGIN);
586 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
590 r = __pEdit->SetVerticalMargin(margin, EDIT_TEXT_TOP_MARGIN);
591 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
592 r = __pEdit->SetVerticalMargin(margin, EDIT_TEXT_BOTTOM_MARGIN);
593 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
600 _EditFieldImpl::SetKeypadActionEnabled(bool enable)
602 Variant variantEnable(enable);
604 return __pEdit->SetPropertyKeypadActionEnabled(variantEnable);
608 _EditFieldImpl::IsKeypadActionEnabled(void) const
610 return __pEdit->GetPropertyKeypadActionEnabled().ToBool();
614 _EditFieldImpl::GetKeypadAction(void) const
616 CoreKeypadAction coreKeypadAction = (CoreKeypadAction)__pEdit->GetPropertyKeypadAction().ToInt();
617 KeypadAction publicKeypadAction = KEYPAD_ACTION_ENTER;
619 switch (coreKeypadAction)
621 case CORE_KEYPAD_ACTION_ENTER:
622 publicKeypadAction = KEYPAD_ACTION_ENTER;
625 case CORE_KEYPAD_ACTION_GO:
626 publicKeypadAction = KEYPAD_ACTION_GO;
629 case CORE_KEYPAD_ACTION_NEXT:
630 publicKeypadAction = KEYPAD_ACTION_NEXT;
633 case CORE_KEYPAD_ACTION_SEND:
634 publicKeypadAction = KEYPAD_ACTION_SEND;
637 case CORE_KEYPAD_ACTION_SEARCH:
638 publicKeypadAction = KEYPAD_ACTION_SEARCH;
641 case CORE_KEYPAD_ACTION_LOGIN:
642 publicKeypadAction = KEYPAD_ACTION_LOGIN;
645 case CORE_KEYPAD_ACTION_SIGN_IN:
646 publicKeypadAction = KEYPAD_ACTION_SIGN_IN;
649 case CORE_KEYPAD_ACTION_JOIN:
650 publicKeypadAction = KEYPAD_ACTION_JOIN;
653 case CORE_KEYPAD_ACTION_DONE:
654 publicKeypadAction = KEYPAD_ACTION_DONE;
661 return publicKeypadAction;
665 _EditFieldImpl::SetKeypadAction(KeypadAction keypadAction)
667 CoreKeypadAction coreKeypadAction = CORE_KEYPAD_ACTION_ENTER;
669 switch (keypadAction)
671 case KEYPAD_ACTION_ENTER:
672 coreKeypadAction = CORE_KEYPAD_ACTION_ENTER;
675 case KEYPAD_ACTION_GO:
676 coreKeypadAction = CORE_KEYPAD_ACTION_GO;
679 case KEYPAD_ACTION_NEXT:
680 coreKeypadAction = CORE_KEYPAD_ACTION_NEXT;
683 case KEYPAD_ACTION_SEND:
684 coreKeypadAction = CORE_KEYPAD_ACTION_SEND;
687 case KEYPAD_ACTION_SEARCH:
688 coreKeypadAction = CORE_KEYPAD_ACTION_SEARCH;
691 case KEYPAD_ACTION_LOGIN:
692 coreKeypadAction = CORE_KEYPAD_ACTION_LOGIN;
695 case KEYPAD_ACTION_SIGN_IN:
696 coreKeypadAction = CORE_KEYPAD_ACTION_SIGN_IN;
699 case KEYPAD_ACTION_JOIN:
700 coreKeypadAction = CORE_KEYPAD_ACTION_JOIN;
703 case KEYPAD_ACTION_DONE:
704 coreKeypadAction = CORE_KEYPAD_ACTION_DONE;
711 Variant variantKeypadAction((int)coreKeypadAction);
713 return __pEdit->SetPropertyKeypadAction(variantKeypadAction);
717 _EditFieldImpl::GetKeypadStyle(void) const
719 return (KeypadStyle)__pEdit->GetPropertyKeypadStyle().ToInt();
723 _EditFieldImpl::SetOverlayKeypadCommandButtonVisible(bool visible)
725 Variant variantVisible(visible);
727 return __pEdit->SetPropertyOverlayKeypadCommandButtonVisible(variantVisible);
731 _EditFieldImpl::IsOverlayCommandButtonVisible(void) const
733 return __pEdit->GetPropertyOverlayKeypadCommandButtonVisible().ToBool();
737 _EditFieldImpl::HideKeypad(void)
739 return __pEdit->HideKeypad();
743 _EditFieldImpl::GetEllipsisPosition(void) const
745 return __pEdit->GetEllipsisPosition();
749 _EditFieldImpl::SetEllipsisPosition(EllipsisPosition position)
751 __pEdit->SetEllipsisPosition(position);
757 _EditFieldImpl::GetTextSize(void) const
759 return _CoordinateSystemUtils::ConvertToInteger(GetTextSizeF());
763 _EditFieldImpl::GetTextSizeF(void) const
765 return __pEdit->GetPropertyTextSize().ToFloat();
769 _EditFieldImpl::SetTextSize(int size)
771 return SetTextSize(_CoordinateSystemUtils::ConvertToFloat(size));
775 _EditFieldImpl::SetTextSize(float size)
777 Variant variantSize(size);
779 return __pEdit->SetPropertyTextSize(variantSize);
783 _EditFieldImpl::GetColor(EditStatus status) const
789 case EDIT_STATUS_NORMAL:
790 color = __pEdit->GetPropertyNormalColor().ToColor();
793 case EDIT_STATUS_DISABLED:
794 color = __pEdit->GetPropertyDisabledColor().ToColor();
797 case EDIT_STATUS_HIGHLIGHTED:
798 color = __pEdit->GetPropertyHighlightedColor().ToColor();
801 case EDIT_STATUS_PRESSED:
802 color = __pEdit->GetPropertyPressedColor().ToColor();
813 _EditFieldImpl::GetTextColor(EditTextColor type) const
815 return __pEdit->GetTextColor(type);
819 _EditFieldImpl::SetBackgroundBitmap(EditStatus status, const Bitmap& bitmap)
821 return __pEdit->SetBackgroundBitmap(status, bitmap);
825 _EditFieldImpl::SetColor(EditStatus status, const Color& color)
827 result r = E_SUCCESS;
828 Variant variantColor(color);
832 case EDIT_STATUS_NORMAL:
833 r = __pEdit->SetPropertyNormalColor(variantColor);
836 case EDIT_STATUS_DISABLED:
837 r = __pEdit->SetPropertyDisabledColor(variantColor);
840 case EDIT_STATUS_HIGHLIGHTED:
841 r = __pEdit->SetPropertyHighlightedColor(variantColor);
844 case EDIT_STATUS_PRESSED:
845 r = __pEdit->SetPropertyPressedColor(variantColor);
852 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Unable to set color.", GetErrorMessage(r));
858 _EditFieldImpl::SetTextColor(EditTextColor type, const Color& color)
860 result r = E_SUCCESS;
862 r = __pEdit->SetTextColor(type, color);
868 _EditFieldImpl::GetText(int start, int end) const
870 return __pEdit->GetText(start, end);
874 _EditFieldImpl::AddUiLinkEventListener(IUiLinkEventListener& listener)
877 SysTryReturn(NID_UI_CTRL, __pPublicLinkEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.")
879 return __pPublicLinkEvent->AddListener(listener);
883 _EditFieldImpl::RemoveUiLinkEventListener(IUiLinkEventListener& listener)
886 SysTryReturn(NID_UI_CTRL, __pPublicLinkEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.")
888 return __pPublicLinkEvent->RemoveListener(listener);
892 _EditFieldImpl::AddTextBlockEventListener(ITextBlockEventListener& listener)
895 SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
897 return __pPublicTextBlockEvent->AddListener(listener);
901 _EditFieldImpl::RemoveTextBlockEventListener(ITextBlockEventListener& listener)
904 SysTryReturn(NID_UI_CTRL, __pPublicTextBlockEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
906 return __pPublicTextBlockEvent->RemoveListener(listener);
910 _EditFieldImpl::AddKeypadEventListener(IKeypadEventListener& listener)
913 SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
915 return __pPublicKeypadEvent->AddListener(listener);
919 _EditFieldImpl::RemoveKeypadEventListener(IKeypadEventListener& listener)
922 SysTryReturn(NID_UI_CTRL, __pPublicKeypadEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
924 return __pPublicKeypadEvent->RemoveListener(listener);
928 _EditFieldImpl::AddTextEventListener(ITextEventListener& listener)
931 SysTryReturn(NID_UI_CTRL, __pPublicTextEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.")
933 return __pPublicTextEvent->AddListener(listener);
937 _EditFieldImpl::RemoveTextEventListener(ITextEventListener& listener)
940 SysTryReturn(NID_UI_CTRL, __pPublicTextEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
942 return __pPublicTextEvent->RemoveListener(listener);
946 _EditFieldImpl::AddScrollPanelEventListener(IScrollPanelEventListener& listener)
949 SysTryReturn(NID_UI_CTRL, (__pEdit->GetInputStyle() == INPUT_STYLE_OVERLAY), E_SYSTEM, E_SYSTEM, "[E_SYSTEM] System error occurred.")
950 SysTryReturn(NID_UI_CTRL, __pPublicScrollPanelEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
952 return __pPublicScrollPanelEvent->AddListener(listener);
956 _EditFieldImpl::RemoveScrollPanelEventListener(IScrollPanelEventListener& listener)
959 SysTryReturn(NID_UI_CTRL, __pPublicScrollPanelEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
961 return __pPublicScrollPanelEvent->RemoveListener(listener);
965 _EditFieldImpl::AddActionEventListener(IActionEventListener& listener)
968 SysTryReturn(NID_UI_CTRL, __pPublicActionEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
970 return __pPublicActionEvent->AddListener(listener);
974 _EditFieldImpl::RemoveActionEventListener(IActionEventListener& listener)
977 SysTryReturn(NID_UI_CTRL, __pPublicActionEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.")
979 return __pPublicActionEvent->RemoveListener(listener);
983 _EditFieldImpl::AddLanguageEventListener(ILanguageEventListener& listener)
986 SysTryReturn(NID_UI_CTRL, __pPublicLanguageEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.");
988 return __pPublicLanguageEvent->AddListener(listener);
992 _EditFieldImpl::RemoveLanguageEventListener(ILanguageEventListener& listener)
995 SysTryReturn(NID_UI_CTRL, __pPublicLanguageEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] This instance isn't constructed.")
997 return __pPublicLanguageEvent->RemoveListener(listener);
1001 _EditFieldImpl::GetRemainingLength(void) const
1003 return __pEdit->GetRemainingLength();
1007 _EditFieldImpl::SetLowerCaseModeEnabled(bool enable)
1009 Variant variantEnable(enable);
1011 __pEdit->SetPropertyLowerCaseModeEnabled(variantEnable);
1015 _EditFieldImpl::IsLowerCaseModeEnabled(void) const
1017 return __pEdit->GetPropertyLowerCaseModeEnabled().ToBool();
1021 _EditFieldImpl::SetInputModeCategory(unsigned long categories, bool enable)
1023 result r = E_SUCCESS;
1024 const unsigned long INPUT_MODE_ALL_MASK = EDIT_INPUTMODE_ALPHA | EDIT_INPUTMODE_PREDICTIVE | EDIT_INPUTMODE_NUMERIC| EDIT_INPUTMODE_SYMBOL;
1025 KeypadStyle keypadStyle = GetKeypadStyle();
1027 switch (keypadStyle)
1029 case KEYPAD_STYLE_NUMBER:
1031 case KEYPAD_STYLE_IP_V4:
1034 if (categories & (EDIT_INPUTMODE_ALPHA | EDIT_INPUTMODE_PREDICTIVE | EDIT_INPUTMODE_SYMBOL))
1036 SysLogException(NID_UI_CTRL, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The current keypad style can not support given categories.");
1038 return E_INVALID_OPERATION;
1043 if (categories & EDIT_INPUTMODE_NUMERIC)
1045 SysLogException(NID_UI_CTRL, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The current keypad style can not support given categories.");
1047 return E_INVALID_OPERATION;
1052 case KEYPAD_STYLE_PHONE_NUMBER:
1055 if (categories & (EDIT_INPUTMODE_ALPHA | EDIT_INPUTMODE_PREDICTIVE))
1057 SysLogException(NID_UI_CTRL, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The current keypad style can not support given categories.");
1059 return E_INVALID_OPERATION;
1062 if (!((categories & EDIT_INPUTMODE_NUMERIC) && (categories & EDIT_INPUTMODE_SYMBOL)))
1064 SysLogException(NID_UI_CTRL, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The current keypad style can not support given categories.");
1066 return E_INVALID_OPERATION;
1070 if (categories & (EDIT_INPUTMODE_NUMERIC | EDIT_INPUTMODE_SYMBOL))
1072 SysLogException(NID_UI_CTRL, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The current keypad style cna not support given categories.");
1074 return E_INVALID_OPERATION;
1084 if (((enable == true) && (categories == 0)) || ((enable == false) && (categories == INPUT_MODE_ALL_MASK)))
1086 SysLogException(NID_UI_CTRL, E_INVALID_ARG, "[E_INVALID_ARG] All input modes cannot be disabled.");
1088 return E_INVALID_ARG;
1091 if ((enable == false) && (categories & __currentInputMode))
1093 SysLogException(NID_UI_CTRL, E_INVALID_ARG, "[E_INVALID_ARG] The current input modes cannot be disabled.");
1095 return E_INVALID_ARG;
1100 __inputModeCategory = categories;
1101 if ((~categories) & EDIT_INPUTMODE_PREDICTIVE)
1103 __pEdit->SetTextPredictionEnabled(false);
1108 __inputModeCategory = (~categories & INPUT_MODE_ALL_MASK);
1109 if (categories == EDIT_INPUTMODE_PREDICTIVE)
1111 __pEdit->SetTextPredictionEnabled(false);
1115 // if currentInputModeCategory doesn't exist in categories, then set tempInputMode
1116 if (!(categories & __currentInputMode))
1118 const int INPUT_MODE_CATEGORY_MAX = 4;
1119 EditInputModeCategory newInputMode = __currentInputMode;
1120 EditInputModeCategory tempInputMode = EDIT_INPUTMODE_ALPHA;
1121 for (int i = 0; i < INPUT_MODE_CATEGORY_MAX; i++)
1123 if ( (categories & tempInputMode) && (tempInputMode != EDIT_INPUTMODE_PREDICTIVE))
1125 newInputMode = tempInputMode;
1129 switch (tempInputMode)
1131 case EDIT_INPUTMODE_ALPHA:
1132 tempInputMode = EDIT_INPUTMODE_PREDICTIVE;
1135 case EDIT_INPUTMODE_PREDICTIVE:
1136 tempInputMode = EDIT_INPUTMODE_NUMERIC;
1139 case EDIT_INPUTMODE_NUMERIC:
1140 tempInputMode = EDIT_INPUTMODE_SYMBOL;
1148 if (__currentInputMode != newInputMode)
1150 r = SetCurrentInputModeCategory(newInputMode);
1158 _EditFieldImpl::SetCurrentInputModeCategory(EditInputModeCategory inputModeCategory)
1160 KeypadStyle currentKeypadStyle = GetKeypadStyle();
1161 KeypadStyle keypadStyle = KEYPAD_STYLE_NORMAL;
1163 if (inputModeCategory == EDIT_INPUTMODE_NUMERIC)
1165 if (currentKeypadStyle == KEYPAD_STYLE_NORMAL)
1167 __pEdit->SetKeypadNormalNumberStyle(true);
1171 keypadStyle = KEYPAD_STYLE_NUMBER;
1172 Variant variantKeypadStyle((int)keypadStyle);
1174 __pEdit->SetPropertyKeypadStyle(variantKeypadStyle);
1177 else if (inputModeCategory == EDIT_INPUTMODE_SYMBOL)
1179 if (currentKeypadStyle == KEYPAD_STYLE_NORMAL)
1181 __pEdit->SetKeypadNormalNumberStyle(true);
1184 else if (inputModeCategory == EDIT_INPUTMODE_PREDICTIVE)
1186 __pEdit->SetTextPredictionEnabled(true);
1189 __currentInputMode = inputModeCategory;
1194 _EditFieldImpl::GetInputModeCategory(void) const
1196 return __inputModeCategory;
1199 EditInputModeCategory
1200 _EditFieldImpl::GetCurrentInputModeCategory(void) const
1202 return __currentInputMode;
1206 _EditFieldImpl::IsTextPredictionEnabled(void) const
1208 return __pEdit->IsTextPredictionEnabled();
1212 _EditFieldImpl::SetTextPredictionEnabled(bool enable)
1214 return __pEdit->SetTextPredictionEnabled(enable);
1218 _EditFieldImpl::SetCursorPosition(int position)
1220 Variant variantPosition(position);
1222 return __pEdit->SetPropertyCursorPosition(variantPosition);
1226 _EditFieldImpl::GetCursorPosition(void) const
1228 return __pEdit->GetPropertyCursorPosition().ToInt();
1232 _EditFieldImpl::GetText(void) const
1234 return __pEdit->GetPropertyText().ToString();
1238 _EditFieldImpl::GetTextLength(void) const
1240 return __pEdit->GetTextLength();
1244 _EditFieldImpl::SetText(const String& text)
1246 Variant variantText(text);
1248 return __pEdit->SetPropertyText(variantText);
1252 _EditFieldImpl::InsertTextAtCursorPosition(const String& text)
1254 return __pEdit->InsertTextAtCursorPosition(text);
1258 _EditFieldImpl::AppendText(const String& text)
1260 return __pEdit->AppendText(text);
1264 _EditFieldImpl::AppendCharacter(const Character& character)
1266 return __pEdit->AppendCharacter(character);
1270 _EditFieldImpl::Clear(void)
1272 return __pEdit->ClearText();
1276 _EditFieldImpl::DeleteCharacterAtCursorPosition(void)
1278 return __pEdit->DeleteCharacterAtCursorPosition();
1282 _EditFieldImpl::GetCurrentTextRange(int& start, int& end) const
1284 return __pEdit->GetCurrentTextRange(start, end);
1288 _EditFieldImpl::SetGuideText(const String& guideText)
1290 Variant variantGuideText(guideText);
1292 __pEdit->SetPropertyGuideText(variantGuideText);
1296 _EditFieldImpl::GetGuideText(void) const
1298 return __pEdit->GetPropertyGuideText().ToString();
1302 _EditFieldImpl::GetGuideTextColor(void) const
1304 return __pEdit->GetPropertyGuideTextColor().ToColor();
1308 _EditFieldImpl::SetGuideTextColor(const Color& color)
1310 Variant variantColor(color);
1312 return __pEdit->SetPropertyGuideTextColor(variantColor);
1316 _EditFieldImpl::SetKeypadEnabled(bool enable)
1318 Variant variantEnable(enable);
1320 __pEdit->SetPropertyKeypadEnabled(variantEnable);
1326 _EditFieldImpl::IsKeypadEnabled(void) const
1328 return __pEdit->GetPropertyKeypadEnabled().ToBool();
1332 _EditFieldImpl::ShowKeypad(void)
1334 return __pEdit->ShowKeypad();
1338 _EditFieldImpl::GetBlockRange(int& start, int& end) const
1340 __pEdit->GetBlockRange(start, end);
1344 _EditFieldImpl::BeginBlock(void)
1346 return __pEdit->BeginTextBlock();
1350 _EditFieldImpl::ReleaseBlock(void)
1352 return __pEdit->ReleaseTextBlock();
1356 _EditFieldImpl::IsBlocked(void) const
1358 return __pEdit->IsBlocked();
1362 _EditFieldImpl::Copy(void)
1364 return __pEdit->CopyText();
1368 _EditFieldImpl::Cut(void)
1370 return __pEdit->CutText();
1374 _EditFieldImpl::Paste(void)
1376 return __pEdit->PasteText();
1380 _EditFieldImpl::Remove(void)
1382 SysTryReturnResult(NID_UI_CTRL, (__pEdit->RemoveTextBlock() == E_SUCCESS), E_SYSTEM, "A system error has occurred");
1388 _EditFieldImpl::IsClipped(void) const
1390 return __pEdit->IsClipped();
1394 _EditFieldImpl::SetTitleText(const String& title)
1396 SysTryReturnResult(NID_UI_CTRL, (__pEdit->GetEditStyle() & EDIT_STYLE_TITLE_TOP) ||
1397 (__pEdit->GetEditStyle() & EDIT_STYLE_TITLE_LEFT), E_SYSTEM,
1398 "The EditField has no title style.");
1400 Variant variantTitle(title);
1402 return __pEdit->SetPropertyTitleText(variantTitle);
1406 _EditFieldImpl::GetTitleText(void) const
1408 return __pEdit->GetPropertyTitleText().ToString();
1412 _EditFieldImpl::SetTitleTextColor(EditStatus status, const Color& color)
1414 result r = E_SUCCESS;
1415 Variant variantColor(color);
1419 case EDIT_STATUS_NORMAL:
1420 r = __pEdit->SetPropertyNormalTitleTextColor(variantColor);
1423 case EDIT_STATUS_DISABLED:
1424 r = __pEdit->SetPropertyDisabledTitleTextColor(variantColor);
1427 case EDIT_STATUS_HIGHLIGHTED:
1428 r = __pEdit->SetPropertyHighlightedTitleTextColor(variantColor);
1431 case EDIT_STATUS_PRESSED:
1432 r = __pEdit->SetPropertyPressedTitleTextColor(variantColor);
1444 _EditFieldImpl::GetTitleTextColor(EditStatus status) const
1450 case EDIT_STATUS_NORMAL:
1451 color = __pEdit->GetPropertyNormalTitleTextColor().ToColor();
1454 case EDIT_STATUS_DISABLED:
1455 color = __pEdit->GetPropertyDisabledTitleTextColor().ToColor();
1458 case EDIT_STATUS_HIGHLIGHTED:
1459 color = __pEdit->GetPropertyHighlightedTitleTextColor().ToColor();
1462 case EDIT_STATUS_PRESSED:
1463 color = __pEdit->GetPropertyPressedTitleTextColor().ToColor();
1474 _EditFieldImpl::SetOverlayKeypadCommandButton(CommandButtonPosition position, const String& text, int actionId)
1476 return __pEdit->SetKeypadCommandButton(position, text, actionId);
1480 _EditFieldImpl::GetOverlayKeypadCommandButtonText(CommandButtonPosition position) const
1482 return __pEdit->GetKeypadCommandButtonText(position);
1486 _EditFieldImpl::GetOverlayKeypadCommandButtonActionId(CommandButtonPosition position) const
1488 return __pEdit->GetKeypadCommandButtonActionId(position);
1492 _EditFieldImpl::SetCurrentLanguage(LanguageCode languageCode)
1494 return __pEdit->SetCurrentLanguage(languageCode);
1498 _EditFieldImpl::GetCurrentLanguage(LanguageCode& language) const
1500 return __pEdit->GetCurrentLanguage(language);
1504 _EditFieldImpl::SetPasswordVisible(bool visible)
1506 SysTryReturnResult(NID_UI_CTRL, (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD), E_INVALID_OPERATION,
1507 "Edit Style is not EDIT_STYLE_PASSWORD.");
1509 return __pEdit->SetPasswordVisible(visible);
1513 _EditFieldImpl::IsPasswordVisible(void) const
1517 SysTryReturn(NID_UI_CTRL, (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD), false, E_INVALID_OPERATION, "Edit Style is not EDIT_STYLE_PASSWORD.\n");
1519 return __pEdit->IsPasswordVisible();
1523 _EditFieldImpl::OnBoundsChanged(const Rectangle& oldRect, const Rectangle& newRect)
1529 _EditFieldImpl::OnTextValueChanged(const _Control& source)
1531 if (__pPublicTextEvent != null)
1533 IEventArg* pEventArg = _PublicTextEvent::CreateTextEventArgN(TEXT_EVENT_CHANGED);
1534 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1536 __pPublicTextEvent->Fire(*pEventArg);
1540 SysLog(NID_UI_CTRL, "Event is not created.");
1545 _EditFieldImpl::OnTextValueChangeCanceled(const _Control& source)
1547 if (__pPublicTextEvent != null)
1549 IEventArg* pEventArg = _PublicTextEvent::CreateTextEventArgN(TEXT_EVENT_CANCELED);
1550 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1552 __pPublicTextEvent->Fire(*pEventArg);
1556 SysLog(NID_UI_CTRL, "Event is not created.");
1561 _EditFieldImpl::OnActionPerformed(const _Control& source, int actionId)
1563 if (__pPublicActionEvent != null)
1565 IEventArg* pActionEventArg = _PublicActionEvent::CreateActionEventArgN(actionId);
1566 SysTryReturnVoidResult(NID_UI_CTRL, pActionEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1568 __pPublicActionEvent->Fire(*pActionEventArg);
1572 SysLog(NID_UI_CTRL, "Event is not created.");
1577 _EditFieldImpl::OnLinkClicked(_Control& source, const String& text, Utility::LinkType linkType,
1580 if (__pPublicLinkEvent != null)
1582 IEventArg* pLinkEventArg = _PublicLinkEvent::CreateLinkEventArgN(text, linkType, link);
1583 SysTryReturnVoidResult(NID_UI_CTRL, pLinkEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1585 __pPublicLinkEvent->Fire(*pLinkEventArg);
1589 SysLog(NID_UI_CTRL, "Event is not created.");
1594 _EditFieldImpl::OnTextBlockSelected(_Control& source, int start, int end)
1596 if (__pPublicTextBlockEvent != null)
1598 IEventArg* pTextBlockEventArg = _PublicTextBlockEvent::CreateTextBlockEventArgN(start, end);
1599 SysTryReturnVoidResult(NID_UI_CTRL, pTextBlockEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1601 __pPublicTextBlockEvent->Fire(*pTextBlockEventArg);
1605 SysLog(NID_UI_CTRL, "Event is not created.");
1610 _EditFieldImpl::OnKeypadWillOpen(void)
1612 if (__pPublicKeypadEvent)
1614 IEventArg* pKeypadEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
1615 GetPublic(), KEYPAD_ACTION_ENTER, KEYPAD_EVENT_STATUS_CREATED);
1616 SysTryReturnVoidResult(NID_UI_CTRL, pKeypadEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1618 __pPublicKeypadEvent->Fire(*pKeypadEventArg);
1622 SysLog(NID_UI_CTRL, "Event is not created.");
1627 _EditFieldImpl::OnKeypadOpened(void)
1629 if (__pPublicKeypadEvent)
1631 IEventArg* pKeypadEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
1632 GetPublic(), KEYPAD_ACTION_ENTER, KEYPAD_EVENT_STATUS_OPEN);
1633 SysTryReturnVoidResult(NID_UI_CTRL, pKeypadEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1635 __pPublicKeypadEvent->Fire(*pKeypadEventArg);
1639 SysLog(NID_UI_CTRL, "Event is not created.");
1644 _EditFieldImpl::OnKeypadClosed(void)
1646 if (__pPublicKeypadEvent)
1648 IEventArg* pKeypadEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
1649 GetPublic(), KEYPAD_ACTION_ENTER, KEYPAD_EVENT_STATUS_CLOSE);
1650 SysTryReturnVoidResult(NID_UI_CTRL, pKeypadEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1652 __pPublicKeypadEvent->Fire(*pKeypadEventArg);
1656 SysLog(NID_UI_CTRL, "Event is not created.");
1661 _EditFieldImpl::OnKeypadBoundsChanged(void)
1663 if (__pPublicKeypadEvent)
1665 IEventArg* pKeypadEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
1666 GetPublic(), KEYPAD_ACTION_ENTER, KEYPAD_EVENT_STATUS_BOUNDS_CHANGED);
1667 SysTryReturnVoidResult(NID_UI_CTRL, pKeypadEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1669 __pPublicKeypadEvent->Fire(*pKeypadEventArg);
1673 SysLog(NID_UI_CTRL, "Event is not created.");
1678 _EditFieldImpl::OnKeypadActionPerformed(CoreKeypadAction keypadAction)
1680 if (__pPublicKeypadEvent)
1682 KeypadAction onKeypadAction = KEYPAD_ACTION_ENTER;
1683 switch (keypadAction)
1685 case CORE_KEYPAD_ACTION_ENTER:
1686 onKeypadAction = KEYPAD_ACTION_ENTER;
1689 case CORE_KEYPAD_ACTION_GO:
1690 onKeypadAction = KEYPAD_ACTION_GO;
1693 case CORE_KEYPAD_ACTION_NEXT:
1694 onKeypadAction = KEYPAD_ACTION_NEXT;
1697 case CORE_KEYPAD_ACTION_SEND:
1698 onKeypadAction = KEYPAD_ACTION_SEND;
1701 case CORE_KEYPAD_ACTION_SEARCH:
1702 onKeypadAction = KEYPAD_ACTION_SEARCH;
1705 case CORE_KEYPAD_ACTION_LOGIN:
1706 onKeypadAction = KEYPAD_ACTION_LOGIN;
1709 case CORE_KEYPAD_ACTION_SIGN_IN:
1710 onKeypadAction = KEYPAD_ACTION_SIGN_IN;
1713 case CORE_KEYPAD_ACTION_JOIN:
1714 onKeypadAction = KEYPAD_ACTION_JOIN;
1717 case CORE_KEYPAD_ACTION_DONE:
1718 onKeypadAction = KEYPAD_ACTION_DONE;
1725 IEventArg* pKeypadEventArg = _PublicKeypadEvent::CreateKeypadEventArgN(
1726 GetPublic(), onKeypadAction, KEYPAD_EVENT_STATUS_ENTERACTION);
1727 SysTryReturnVoidResult(NID_UI_CTRL, pKeypadEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1729 __pPublicKeypadEvent->Fire(*pKeypadEventArg);
1733 SysLog(NID_UI_CTRL, "Event is not created.");
1738 _EditFieldImpl::OnLanguageChanged(LanguageCode oldLanguage, LanguageCode newLanguage)
1740 if (__pPublicLanguageEvent)
1742 IEventArg* pKLanguageEventArg = _PublicLanguageEvent::CreateLanguageEventArgN(GetPublic(), oldLanguage, newLanguage);
1743 SysTryReturnVoidResult(NID_UI_CTRL, pKLanguageEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1745 __pPublicLanguageEvent->Fire(*pKLanguageEventArg);
1749 SysLog(NID_UI_CTRL, "Event is not created.");
1754 _EditFieldImpl::OnOverlayControlCreated(const _Control& source)
1756 if (__pPublicScrollPanelEvent != null)
1758 IEventArg* pEventArg = _PublicScrollPanelEvent::CreateScrollPanelEventArgN(OVERLAY_CONTROL_CREATED);
1759 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1761 __pPublicScrollPanelEvent->Fire(*pEventArg);
1765 SysLog(NID_UI_CTRL, "Event is not created.");
1770 _EditFieldImpl::OnOverlayControlOpened(const _Control& source)
1772 if (__pPublicScrollPanelEvent != null)
1774 IEventArg* pEventArg = _PublicScrollPanelEvent::CreateScrollPanelEventArgN(OVERLAY_CONTROL_OPENED);
1775 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1777 __pPublicScrollPanelEvent->Fire(*pEventArg);
1781 SysLog(NID_UI_CTRL, "Event is not created.");
1786 _EditFieldImpl::OnOverlayControlClosed(const _Control& source)
1788 if (__pPublicScrollPanelEvent != null)
1790 IEventArg* pEventArg = _PublicScrollPanelEvent::CreateScrollPanelEventArgN(OVERLAY_CONTROL_CLOSED);
1791 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1793 __pPublicScrollPanelEvent->Fire(*pEventArg);
1797 SysLog(NID_UI_CTRL, "Event is not created.");
1802 _EditFieldImpl::OnOtherControlSelected(const _Control& source)
1804 if (__pPublicScrollPanelEvent != null)
1806 IEventArg* pEventArg = _PublicScrollPanelEvent::CreateScrollPanelEventArgN(OTHER_CONTROL_SELECTED);
1807 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1809 __pPublicScrollPanelEvent->Fire(*pEventArg);
1813 SysLog(NID_UI_CTRL, "Event is not created.");
1818 _EditFieldImpl::SetEditTextFilter(IEditTextFilter* pFilter)
1820 __pEdit->SetEditTextFilter(pFilter);
1826 _EditFieldImpl::SendOpaqueCommand(const String& command)
1828 __pEdit->SendOpaqueCommand(command);
1833 class _EditFieldMaker
1834 : public _UiBuilderControlMaker
1837 _EditFieldMaker(_UiBuilder* pUiBuilder)
1838 : _UiBuilderControlMaker(pUiBuilder){};
1839 virtual ~_EditFieldMaker(){};
1840 static _UiBuilderControlMaker* GetInstance(_UiBuilder* pUiBuilder)
1842 _EditFieldMaker* pEditFieldMaker = new (std::nothrow) _EditFieldMaker(pUiBuilder);
1843 return pEditFieldMaker;
1846 virtual Control* Make(_UiBuilderControl* pControl)
1848 result r = E_SYSTEM;
1849 _UiBuilderControlLayout* pControlProperty = null;
1850 EditField* pEditField = null;
1851 FloatRectangle rect;
1853 String elementString;
1854 bool showTitle = false;
1855 GroupStyle groupStyle = GROUP_STYLE_NONE;
1856 InputStyle inputStyle = INPUT_STYLE_FULLSCREEN;
1857 int limitLength = EDIT_FIELD_DEFAULT_LIMIT_LENGTH;
1858 KeypadAction keypadAction = KEYPAD_ACTION_ENTER;
1859 bool lowerCaseMode = false;
1860 HorizontalAlignment horizontalAlignment = ALIGNMENT_LEFT;
1861 bool viewModeEnable = false;
1862 float fontSize = 0.0f;
1864 int opacity = EDIT_COLOR_OPACITY;
1865 EditFieldStyle editFieldStyle = EDIT_FIELD_STYLE_NORMAL;
1866 EditFieldTitleStyle editFieldTitleStyle = EDIT_FIELD_TITLE_STYLE_NONE;
1867 bool clearButtonEnable = false;
1868 bool newConstructEnable = false;
1869 float horizontalMargin = 0.0f;
1870 float verticalMargin = 0.0f;
1871 EllipsisPosition ellipsisPosition = ELLIPSIS_POSITION_END;
1873 GetProperty(pControl, &pControlProperty);
1874 if (pControlProperty == null)
1879 pEditField = new (std::nothrow) EditField();
1880 if (pEditField == null)
1885 rect = pControlProperty->GetRectF();
1887 styleString = pControlProperty->GetStyle();
1889 if (pControl->GetElement(L"inputStyle", elementString))
1891 if (elementString.Equals(L"INPUT_STYLE_OVERLAY", false))
1893 inputStyle = INPUT_STYLE_OVERLAY;
1897 inputStyle = INPUT_STYLE_FULLSCREEN;
1901 if (pControl->GetElement(L"limitLength", elementString))
1903 Base::Integer::Parse(elementString, limitLength);
1905 if (pControl->GetElement(L"GroupStyle", elementString))
1907 if (elementString.Equals(L"GROUP_STYLE_NONE", false))
1909 groupStyle = GROUP_STYLE_NONE;
1911 if (elementString.Equals(L"GROUP_STYLE_SINGLE", false))
1913 groupStyle = GROUP_STYLE_SINGLE;
1915 if (elementString.Equals(L"GROUP_STYLE_TOP", false))
1917 groupStyle = GROUP_STYLE_TOP;
1919 if (elementString.Equals(L"GROUP_STYLE_MIDDLE", false))
1921 groupStyle = GROUP_STYLE_MIDDLE;
1923 if (elementString.Equals(L"GROUP_STYLE_BOTTOM", false))
1925 groupStyle = GROUP_STYLE_BOTTOM;
1929 if (pControl->GetElement(L"titleStyle", elementString))
1931 newConstructEnable = true;
1933 if (elementString.Equals(L"EDIT_FIELD_TITLE_STYLE_NONE", false))
1935 editFieldTitleStyle = EDIT_FIELD_TITLE_STYLE_NONE;
1937 else if (elementString.Equals(L"EDIT_FIELD_TITLE_STYLE_INNER", false))
1939 editFieldTitleStyle = EDIT_FIELD_TITLE_STYLE_INNER;
1941 else if (elementString.Equals(L"EDIT_FIELD_TITLE_STYLE_TOP", false))
1943 editFieldTitleStyle = EDIT_FIELD_TITLE_STYLE_TOP;
1947 if (pControl->GetElement(L"enableClear", elementString))
1949 if (elementString.Equals(L"true", false))
1951 clearButtonEnable = true;
1955 if (styleString.Equals(L"EDIT_FIELD_STYLE_PASSWORD", false))
1957 editFieldStyle = EDIT_FIELD_STYLE_PASSWORD;
1959 else if (styleString.Equals(L"EDIT_FIELD_STYLE_NORMAL_SMALL", false))
1961 editFieldStyle = EDIT_FIELD_STYLE_NORMAL_SMALL;
1963 else if (styleString.Equals(L"EDIT_FIELD_STYLE_PASSWORD_SMALL", false))
1965 editFieldStyle = EDIT_FIELD_STYLE_PASSWORD_SMALL;
1967 else if (styleString.Equals(L"EDIT_FIELD_STYLE_EMAIL", false))
1969 editFieldStyle = EDIT_FIELD_STYLE_EMAIL;
1971 else if (styleString.Equals(L"EDIT_FIELD_STYLE_URL", false))
1973 editFieldStyle = EDIT_FIELD_STYLE_URL;
1975 else if (styleString.Equals(L"EDIT_FIELD_STYLE_EMAIL_SMALL", false))
1977 editFieldStyle = EDIT_FIELD_STYLE_EMAIL_SMALL;
1979 else if (styleString.Equals(L"EDIT_FIELD_STYLE_URL_SMALL", false))
1981 editFieldStyle = EDIT_FIELD_STYLE_URL_SMALL;
1985 editFieldStyle = EDIT_FIELD_STYLE_NORMAL;
1988 if (styleString.Equals(L"EDIT_FIELD_STYLE_NUMBER", false))
1990 editFieldStyle = EDIT_FIELD_STYLE_NUMBER;
1992 else if (styleString.Equals(L"EDIT_FIELD_STYLE_NUMBER_SMALL", false))
1994 editFieldStyle = EDIT_FIELD_STYLE_NUMBER_SMALL;
1996 else if (styleString.Equals(L"EDIT_FIELD_STYLE_PHONE_NUMBER", false))
1998 editFieldStyle = EDIT_FIELD_STYLE_PHONE_NUMBER;
2000 else if (styleString.Equals(L"EDIT_FIELD_STYLE_PHONE_NUMBER_SMALL", false))
2002 editFieldStyle = EDIT_FIELD_STYLE_PHONE_NUMBER_SMALL;
2004 else if (styleString.Equals(L"EDIT_FIELD_STYLE_PASSWORD_NUMBER", false))
2006 editFieldStyle = EDIT_FIELD_STYLE_PASSWORD_NUMBER;
2008 else if (styleString.Equals(L"EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL", false))
2010 editFieldStyle = EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL;
2012 else if (styleString.Equals(L"EDIT_FIELD_STYLE_IP_V4", false))
2014 editFieldStyle = EDIT_FIELD_STYLE_IP_V4;
2016 else if (styleString.Equals(L"EDIT_FIELD_STYLE_IP_V4_SMALL", false))
2018 editFieldStyle = EDIT_FIELD_STYLE_IP_V4_SMALL;
2021 if (newConstructEnable)
2023 r = pEditField->Construct(rect, editFieldStyle, inputStyle, editFieldTitleStyle, clearButtonEnable, limitLength, groupStyle);
2027 r = pEditField->Construct(rect, editFieldStyle, inputStyle, showTitle, limitLength, groupStyle);
2038 if (pControl->GetElement(L"commandButtonVisible", elementString))
2040 if (elementString.Equals(L"true", false))
2042 pEditField->SetOverlayKeypadCommandButtonVisible(true);
2046 pEditField->SetOverlayKeypadCommandButtonVisible(false);
2050 if (pControl->GetElement(L"text", elementString))
2052 r = pEditField->SetText(elementString);
2054 if (pControl->GetElement(L"guideText", elementString))
2056 pEditField->SetGuideText(elementString);
2058 if (pControl->GetElement(L"titleText", elementString))
2060 r = pEditField->SetTitleText(elementString);
2062 if (pControl->GetElement(L"keypadEnabled", elementString) || pControl->GetElement(L"KeypadEnabled", elementString))
2064 if (elementString.Equals(L"true", false))
2066 pEditField->SetKeypadEnabled(true);
2070 pEditField->SetKeypadEnabled(false);
2074 pEditField->SetKeypadEnabled(true);
2076 if (pControl->GetElement(L"keypadAction", elementString))
2078 if (elementString.Equals(L"KEYPAD_ACTION_ENTER", false))
2080 keypadAction = KEYPAD_ACTION_ENTER;
2082 else if (elementString.Equals(L"KEYPAD_ACTION_GO", false))
2084 keypadAction = KEYPAD_ACTION_GO;
2086 else if (elementString.Equals(L"KEYPAD_ACTION_NEXT", false))
2088 keypadAction = KEYPAD_ACTION_NEXT;
2090 else if (elementString.Equals(L"KEYPAD_ACTION_SEND", false))
2092 keypadAction = KEYPAD_ACTION_SEND;
2094 else if (elementString.Equals(L"KEYPAD_ACTION_SEARCH", false))
2096 keypadAction = KEYPAD_ACTION_SEARCH;
2098 else if (elementString.Equals(L"KEYPAD_ACTION_LOGIN", false))
2100 keypadAction = KEYPAD_ACTION_LOGIN;
2102 else if (elementString.Equals(L"KEYPAD_ACTION_SIGN_IN", false))
2104 keypadAction = KEYPAD_ACTION_SIGN_IN;
2106 else if (elementString.Equals(L"KEYPAD_ACTION_JOIN", false))
2108 keypadAction = KEYPAD_ACTION_JOIN;
2110 else if (elementString.Equals(L"KEYPAD_ACTION_DONE", false))
2112 keypadAction = KEYPAD_ACTION_DONE;
2115 r = pEditField->SetKeypadAction(keypadAction);
2118 if (pControl->GetElement(L"textHorizontalAlignment", elementString))
2120 if (elementString.Equals(L"ALIGNMENT_LEFT", false))
2122 horizontalAlignment = ALIGNMENT_LEFT;
2124 else if (elementString.Equals(L"ALIGNMENT_CENTER", false))
2126 horizontalAlignment = ALIGNMENT_CENTER;
2128 else if (elementString.Equals(L"ALIGNMENT_RIGHT", false))
2130 horizontalAlignment = ALIGNMENT_RIGHT;
2133 r = pEditField->SetTextAlignment(horizontalAlignment);
2136 if (pControl->GetElement(L"lowerCaseMode", elementString))
2138 if (elementString.Equals(L"true", false))
2140 lowerCaseMode = true;
2144 lowerCaseMode = false;
2147 pEditField->SetLowerCaseModeEnabled(lowerCaseMode);
2150 if (pControl->GetElement(L"textSize", elementString))
2152 fontSize = _LocalizedNumParser::ToDouble(elementString, "C");
2153 _ICoordinateSystemTransformer* pTransform = GetTransformer();
2156 fontSize = pTransform->Transform(fontSize);
2158 r = pEditField->SetTextSize(fontSize);
2161 if (pControl->GetElement(L"viewMode", elementString))
2163 if (elementString.Equals(L"true", false))
2165 viewModeEnable = true;
2166 r = pEditField->SetViewModeEnabled(viewModeEnable);
2170 if (pControl->GetElement(L"normalBGBitmapPath", elementString))
2172 Bitmap* pressedBGBitmap = null;
2173 pressedBGBitmap = LoadBitmapN(elementString);
2174 if (pressedBGBitmap != null)
2176 r = pEditField->SetBackgroundBitmap(EDIT_STATUS_NORMAL, *pressedBGBitmap);
2177 delete pressedBGBitmap;
2178 pressedBGBitmap = null;
2182 if (pControl->GetElement(L"disabledBGBitmapPath", elementString))
2184 Bitmap* disalbedBGBitmap = null;
2185 disalbedBGBitmap = LoadBitmapN(elementString);
2186 if (disalbedBGBitmap != null)
2188 r = pEditField->SetBackgroundBitmap(EDIT_STATUS_DISABLED, *disalbedBGBitmap);
2189 delete disalbedBGBitmap;
2190 disalbedBGBitmap = null;
2194 if (pControl->GetElement(L"highlightedBGBitmapPath", elementString))
2196 Bitmap* highlightedBGBitmap = null;
2197 highlightedBGBitmap = LoadBitmapN(elementString);
2198 if (highlightedBGBitmap != null)
2200 r = pEditField->SetBackgroundBitmap(EDIT_STATUS_HIGHLIGHTED, *highlightedBGBitmap);
2201 delete highlightedBGBitmap;
2202 highlightedBGBitmap = null;
2206 if (pControl->GetElement(L"pressedBGBitmapPath", elementString))
2208 Bitmap* pressedBGBitmap = null;
2209 pressedBGBitmap = LoadBitmapN(elementString);
2210 if (pressedBGBitmap != null)
2212 r = pEditField->SetBackgroundBitmap(EDIT_STATUS_PRESSED, *pressedBGBitmap);
2213 delete pressedBGBitmap;
2214 pressedBGBitmap = null;
2218 if (pControl->GetElement(L"normalColorOpacity", elementString))
2220 Base::Integer::Parse(elementString, opacity);
2222 if (pControl->GetElement(L"normalColor", elementString))
2224 ConvertStringToColor32(elementString, opacity, color);
2225 r = pEditField->SetColor(EDIT_STATUS_NORMAL, color);
2228 if (pControl->GetElement(L"pressedColorOpacity", elementString))
2230 Base::Integer::Parse(elementString, opacity);
2232 if (pControl->GetElement(L"pressedColor", elementString))
2234 ConvertStringToColor32(elementString, opacity, color);
2235 r = pEditField->SetColor(EDIT_STATUS_PRESSED, color);
2238 if (pControl->GetElement(L"highlightedColorOpacity", elementString))
2240 Base::Integer::Parse(elementString, opacity);
2242 if (pControl->GetElement(L"highlightedColor", elementString))
2244 ConvertStringToColor32(elementString, opacity, color);
2245 r = pEditField->SetColor(EDIT_STATUS_HIGHLIGHTED, color);
2248 if (pControl->GetElement(L"disabledColorOpacity", elementString))
2250 Base::Integer::Parse(elementString, opacity);
2252 if (pControl->GetElement(L"disabledColor", elementString))
2254 ConvertStringToColor32(elementString, opacity, color);
2255 r = pEditField->SetColor(EDIT_STATUS_DISABLED, color);
2259 if (pControl->GetElement(L"guideTextColor", elementString))
2261 ConvertStringToColor32(elementString, opacity, color);
2262 r = pEditField->SetGuideTextColor(color);
2265 if (pControl->GetElement(L"normalTextColor", elementString))
2267 ConvertStringToColor32(elementString, opacity, color);
2268 r = pEditField->SetTextColor(EDIT_TEXT_COLOR_NORMAL, color);
2271 if (pControl->GetElement(L"disabledTextColor", elementString))
2273 ConvertStringToColor32(elementString, opacity, color);
2274 r = pEditField->SetTextColor(EDIT_TEXT_COLOR_DISABLED, color);
2277 if (pControl->GetElement(L"highlightedTextColor", elementString))
2279 ConvertStringToColor32(elementString, opacity, color);
2280 r = pEditField->SetTextColor(EDIT_TEXT_COLOR_HIGHLIGHTED, color);
2283 if (pControl->GetElement(L"linkTextColor", elementString))
2285 ConvertStringToColor32(elementString, opacity, color);
2286 r = pEditField->SetTextColor(EDIT_TEXT_COLOR_LINK, color);
2289 if (pControl->GetElement(L"horizontalMargin", elementString))
2291 horizontalMargin = _LocalizedNumParser::ToDouble(elementString, "C");
2292 r = pEditField->SetMargin(EDIT_MARGIN_TYPE_HORIZONTAL, horizontalMargin);
2295 if (pControl->GetElement(L"verticalMargin", elementString))
2297 verticalMargin = _LocalizedNumParser::ToDouble(elementString, "C");
2298 r = pEditField->SetMargin(EDIT_MARGIN_TYPE_VERTICAL, verticalMargin);
2301 if (pControl->GetElement(L"titleTextColor", elementString))
2303 ConvertStringToColor32(elementString, opacity, color);
2304 r = pEditField->SetTitleTextColor(EDIT_STATUS_NORMAL, color);
2307 if (pControl->GetElement(L"ellipsisPosition", elementString))
2309 if (elementString.Equals(L"ELLIPSIS_POSITION_START", false))
2311 ellipsisPosition = ELLIPSIS_POSITION_START;
2313 else if (elementString.Equals(L"ELLIPSIS_POSITION_MIDDLE", false))
2315 ellipsisPosition = ELLIPSIS_POSITION_MIDDLE;
2319 ellipsisPosition = ELLIPSIS_POSITION_END;
2322 r = pEditField->SetEllipsisPosition(ellipsisPosition);
2325 if (pControl->GetElement(L"accessibilityHint", elementString))
2327 AccessibilityContainer* pContainer = pEditField->GetAccessibilityContainer();
2330 AccessibilityElement* pElement = pContainer->GetElement(L"EditText");
2333 pElement->SetHint(elementString);
2340 }; // _EditFieldMaker
2342 _EditFieldRegister::_EditFieldRegister(void)
2344 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
2345 pUiBuilderControlTableManager->RegisterControl(L"EditField", _EditFieldMaker::GetInstance);
2348 _EditFieldRegister::~_EditFieldRegister(void)
2350 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
2351 pUiBuilderControlTableManager->UnregisterControl(L"EditField");
2353 static _EditFieldRegister EditFieldRegisterToUiBuilder;
2354 }}} // Tizen::Ui::Controls