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.
18 * @file FUiCtrl_Edit.h
19 * @brief This is the header file for the _Edit class.
21 * This header file contains the declarations of the %_Edit class.
24 #ifndef _FUI_CTRL_INTERNAL_EDIT_H_
25 #define _FUI_CTRL_INTERNAL_EDIT_H_
27 #include <FBaseCharacter.h>
28 #include <FBaseString.h>
29 #include <FGrpBitmap.h>
30 #include <FGrpColor.h>
31 #include <FGrpPoint.h>
32 #include <FGrpRectangle.h>
33 #include <FGrp_TextTextObject.h>
34 #include <FSysISettingEventListener.h>
35 #include <FUiControl.h>
36 #include <FUiCtrlControlsTypes.h>
37 #include <FUiCtrlEditTypes.h>
38 #include <FUiCtrlIEditTextFilter.h>
39 #include <FUiCtrl_IEditTextFilter.h>
40 #include <FUiCtrlIExpandableEditAreaEventListener.h>
41 #include <FUiCtrlInputTypes.h>
42 #include <FUiIActionEventListener.h>
43 #include <FUiIClipboardPopupEventListener.h>
44 #include <FUiITextEventListener.h>
45 #include "FUi_Control.h"
46 #include "FUi_ITouchFlickGestureEventListener.h"
47 #include "FUi_ITouchLongPressGestureEventListener.h"
48 #include "FUi_ITouchTapGestureEventListener.h"
49 #include "FUi_ResourceManager.h"
50 #include "FUi_TouchFlickGestureDetector.h"
51 #include "FUi_TouchLongPressGestureDetector.h"
52 #include "FUi_TouchTapGestureDetector.h"
53 #include "FUiCtrl_ExpandableEditAreaEvent.h"
54 #include "FUiCtrl_IActionEventListener.h"
55 #include "FUiCtrl_IExpandableEditAreaEventListener.h"
56 #include "FUiCtrl_IKeypadEventListener.h"
57 #include "FUiCtrl_ITextBlockEventListener.h"
58 #include "FUiCtrl_ITextEventListener.h"
59 #include "FUiCtrl_ILanguageEventListener.h"
60 #include "FUiCtrl_IScrollPanelEventListener.h"
61 #include "FUiCtrl_IUiLinkEventListener.h"
62 #include "FUiCtrl_KeypadEvent.h"
63 #include "FUiCtrl_LanguageEvent.h"
64 #include "FUiCtrl_LinkEvent.h"
65 #include "FUiCtrl_ScrollPanelEvent.h"
66 #include "FUiCtrl_TextBlockEvent.h"
67 #include "FUiCtrl_TextEvent.h"
69 namespace Tizen { namespace Ui
71 class _AccessibilityElement;
74 namespace Tizen { namespace Ui { namespace Animations
79 namespace Tizen { namespace Ui { namespace Controls
84 Tizen::Graphics::Color textColor;
85 Tizen::Graphics::Color titleTextColor;
86 Tizen::Graphics::Color backgroundColor;
89 struct EditBlockTextColor
92 Tizen::Graphics::Color blockTextColor;
95 struct EditCutlinkColor
97 Tizen::Graphics::Color cutlinkFgColor;
98 Tizen::Graphics::Color cutlinkBgColor;
103 EDIT_LINK_TYPE_INVALID = -1,
105 EDIT_LINK_TYPE_EMAIL,
106 EDIT_LINK_TYPE_PHONE_NUM,
107 EDIT_LINK_TYPE_STREAMING_URL,
111 enum EditTextHorizontalMargin
113 EDIT_TEXT_LEFT_MARGIN,
114 EDIT_TEXT_RIGHT_MARGIN,
115 EDIT_TEXT_HORIZONTAL_MARGIN
118 enum EditTextVerticalMargin
120 EDIT_TEXT_TOP_MARGIN,
121 EDIT_TEXT_BOTTOM_MARGIN,
122 EDIT_TEXT_VERTICAL_MARGIN
125 enum EditAccessibilityElementType
127 EDIT_ACCESSIBILITY_ELEMENT_TYPE_TEXT,
128 EDIT_ACCESSIBILITY_ELEMENT_TYPE_CLEAR_ICON
131 const int EDIT_STYLE_SINGLE_LINE = 0x00000001;
132 const int EDIT_STYLE_NORMAL = 0x00000002;
133 const int EDIT_STYLE_BORDER = 0x00000004;
134 const int EDIT_STYLE_TITLE_LEFT = 0x00000010;
135 const int EDIT_STYLE_TITLE_TOP = 0x00000020;
136 const int EDIT_STYLE_PASSWORD = 0x00000100;
137 const int EDIT_STYLE_VIEWER = 0x00000200;
138 const int EDIT_STYLE_NOSCROLL = 0x00000400;
139 const int EDIT_STYLE_CLEAR = 0x00001000;
140 const int EDIT_STYLE_ICON_EMBEDDED = 0x00010000;
141 const int EDIT_STYLE_DASHBOARD_EMBEDDED = 0x00100000;
142 const int EDIT_STYLE_FLEXIBLE = 0x01000000;
143 const int EDIT_STYLE_TOKEN = 0x02000000;
144 const int EDIT_COLOR_OPACITY = 100;
145 const int EDIT_AREA_DEFAULT_LIMIT_LENGTH = 1000;
146 const int EDIT_FIELD_DEFAULT_LIMIT_LENGTH = 100;
148 const int EDIT_COLOR_MAX = 4;
149 const int EDIT_TEXT_COLOR_MAX = 4;
150 const int EDIT_MARGIN_COUNT_MAX = 2;
151 const float DEFAULT_LINE_SPACE = 1.0f;
159 class _EditPresenter;
161 class _ScrollPanelItemEvent;
162 class _EditInternalTouchEventListener;
165 class _OSP_EXPORT_ _Edit
167 , virtual public Tizen::Base::Runtime::IEventListener
168 , virtual public Tizen::Ui::_IUiEventListener
169 , virtual public Tizen::Ui::_IUiEventPreviewer
170 , virtual public Tizen::Ui::_ITouchGestureEventListener
171 , public _ITouchFlickGestureEventListener
172 , public _ITouchLongPressGestureEventListener
173 , public _ITouchTapGestureEventListener
174 , public IClipboardPopupEventListener
175 , public _IEditTextFilter
176 , virtual public Tizen::System::ISettingEventListener
179 DECLARE_CLASS_BEGIN(_Edit, _Control);
180 DECLARE_PROPERTY("autoResizingEnabled", GetPropertyAutoResizingEnabled, SetPropertyAutoResizingEnabled);
181 DECLARE_PROPERTY("guideTextColor", GetPropertyGuideTextColor, SetPropertyGuideTextColor);
182 DECLARE_PROPERTY("normalColor", GetPropertyNormalColor, SetPropertyNormalColor);
183 DECLARE_PROPERTY("disabledColor", GetPropertyDisabledColor, SetPropertyDisabledColor);
184 DECLARE_PROPERTY("highlightedColor", GetPropertyHighlightedColor, SetPropertyHighlightedColor);
185 DECLARE_PROPERTY("pressedColor", GetPropertyPressedColor, SetPropertyPressedColor);
186 DECLARE_PROPERTY("normalTextColor", GetPropertyNormalTextColor, SetPropertyNormalTextColor);
187 DECLARE_PROPERTY("disabledTextColor", GetPropertyDisabledTextColor, SetPropertyDisabledTextColor);
188 DECLARE_PROPERTY("highlightedTextColor", GetPropertyHighlightedTextColor, SetPropertyHighlightedTextColor);
189 DECLARE_PROPERTY("pressedTextColor", GetPropertyPressedTextColor, SetPropertyPressedTextColor);
190 DECLARE_PROPERTY("lineSpacing", GetPropertyLineSpacing, SetPropertyLineSpacing);
191 DECLARE_PROPERTY("textSize", GetPropertyTextSize, SetPropertyTextSize);
192 DECLARE_PROPERTY("cursorPosition", GetPropertyCursorPosition, SetPropertyCursorPosition);
193 DECLARE_PROPERTY("guideText", GetPropertyGuideText, SetPropertyGuideText);
194 DECLARE_PROPERTY("keypadActionEnabled", GetPropertyKeypadActionEnabled, SetPropertyKeypadActionEnabled);
195 DECLARE_PROPERTY("keypadAction", GetPropertyKeypadAction, SetPropertyKeypadAction);
196 DECLARE_PROPERTY("keypadEnabled", GetPropertyKeypadEnabled, SetPropertyKeypadEnabled);
197 DECLARE_PROPERTY("keypadStyle", GetPropertyKeypadStyle, SetPropertyKeypadStyle);
198 DECLARE_PROPERTY("lowerCaseModeEnabled", GetPropertyLowerCaseModeEnabled, SetPropertyLowerCaseModeEnabled);
199 DECLARE_PROPERTY("overlayKeypadCommandButtonVisible", GetPropertyOverlayKeypadCommandButtonVisible, SetPropertyOverlayKeypadCommandButtonVisible);
200 DECLARE_PROPERTY("text", GetPropertyText, SetPropertyText);
201 DECLARE_PROPERTY("viewModeEnabled", GetPropertyViewModeEnabled, SetPropertyViewModeEnabled);
202 DECLARE_PROPERTY("autoLinkMask", GetPropertyAutoLinkMask, SetPropertyAutoLinkMask);
203 DECLARE_PROPERTY("titleText", GetPropertyTitleText, SetPropertyTitleText);
204 DECLARE_PROPERTY("normalTitleTextColor", GetPropertyNormalTitleTextColor, SetPropertyNormalTitleTextColor);
205 DECLARE_PROPERTY("disabledTitleTextColor", GetPropertyDisabledTitleTextColor, SetPropertyDisabledTitleTextColor);
206 DECLARE_PROPERTY("highlightedTitleTextColor", GetPropertyHighlightedTitleTextColor, SetPropertyHighlightedTitleTextColor);
207 DECLARE_PROPERTY("pressedTitleTextColor", GetPropertyPressedTitleTextColor, SetPropertyPressedTitleTextColor);
208 DECLARE_PROPERTY("blockedTextColor", GetPropertyBlockedTextColor, SetPropertyBlockedTextColor);
209 DECLARE_PROPERTY("topMargin", GetPropertyTopMargin, SetPropertyTopMargin);
210 DECLARE_PROPERTY("bottomMargin", GetPropertyBottomMargin, SetPropertyBottomMargin);
211 DECLARE_PROPERTY("leftMargin", GetPropertyLeftMargin, SetPropertyLeftMargin);
212 DECLARE_PROPERTY("rightMargin", GetPropertyRightMargin, SetPropertyRightMargin);
215 result SetPropertyAutoResizingEnabled(const Variant& enable);
216 result SetPropertyGuideTextColor(const Variant& color);
217 result SetPropertyNormalColor(const Variant& color);
218 result SetPropertyDisabledColor(const Variant& color);
219 result SetPropertyHighlightedColor(const Variant& color);
220 result SetPropertyPressedColor(const Variant& color);
221 result SetPropertyNormalTextColor(const Variant& color);
222 result SetPropertyDisabledTextColor(const Variant& color);
223 result SetPropertyHighlightedTextColor(const Variant& color);
224 result SetPropertyPressedTextColor(const Variant& color);
225 result SetPropertyLineSpacing(const Variant& lineSpacing);
226 result SetPropertyTextSize(const Variant& textSize);
227 result SetPropertyCursorPosition(const Variant& position);
228 result SetPropertyGuideText(const Variant& guideText);
229 result SetPropertyKeypadActionEnabled(const Variant& enabled);
230 result SetPropertyKeypadAction(const Variant& action);
231 result SetPropertyKeypadEnabled(const Variant& enabled);
232 result SetPropertyKeypadStyle(const Variant& style);
233 result SetPropertyLowerCaseModeEnabled(const Variant& enabled);
234 result SetPropertyOverlayKeypadCommandButtonVisible(const Variant& visible);
235 result SetPropertyText(const Variant& text);
236 result SetPropertyViewModeEnabled(const Variant& enabled);
237 result SetPropertyAutoLinkMask(const Variant& autoLinks);
238 result SetPropertyTitleText(const Variant& titleText);
239 result SetPropertyNormalTitleTextColor(const Variant& color);
240 result SetPropertyDisabledTitleTextColor(const Variant& color);
241 result SetPropertyHighlightedTitleTextColor(const Variant& color);
242 result SetPropertyPressedTitleTextColor(const Variant& color);
243 result SetPropertyBlockedTextColor(const Variant& color);
244 result SetPropertyTopMargin(const Variant& margin);
245 result SetPropertyBottomMargin(const Variant& margin);
246 result SetPropertyLeftMargin(const Variant& margin);
247 result SetPropertyRightMargin(const Variant& margin);
249 Variant GetPropertyAutoResizingEnabled(void) const;
250 Variant GetPropertyGuideTextColor(void) const;
251 Variant GetPropertyNormalColor(void) const;
252 Variant GetPropertyDisabledColor(void) const;
253 Variant GetPropertyHighlightedColor(void) const;
254 Variant GetPropertyPressedColor(void) const;
255 Variant GetPropertyNormalTextColor(void) const;
256 Variant GetPropertyDisabledTextColor(void) const;
257 Variant GetPropertyHighlightedTextColor(void) const;
258 Variant GetPropertyPressedTextColor(void) const;
259 Variant GetPropertyLineSpacing(void) const;
260 Variant GetPropertyTextSize(void) const;
261 Variant GetPropertyCursorPosition(void) const;
262 Variant GetPropertyGuideText(void) const;
263 Variant GetPropertyKeypadActionEnabled(void) const;
264 Variant GetPropertyKeypadAction(void) const;
265 Variant GetPropertyKeypadEnabled(void) const;
266 Variant GetPropertyKeypadStyle(void) const;
267 Variant GetPropertyLowerCaseModeEnabled(void) const;
268 Variant GetPropertyOverlayKeypadCommandButtonVisible(void) const;
269 Variant GetPropertyText(void) const;
270 Variant GetPropertyViewModeEnabled(void) const;
271 Variant GetPropertyAutoLinkMask(void) const;
272 Variant GetPropertyTitleText(void) const;
273 Variant GetPropertyNormalTitleTextColor(void) const;
274 Variant GetPropertyDisabledTitleTextColor(void) const;
275 Variant GetPropertyHighlightedTitleTextColor(void) const;
276 Variant GetPropertyPressedTitleTextColor(void) const;
277 Variant GetPropertyBlockedTextColor(void) const;
278 Variant GetPropertyTopMargin(void) const;
279 Variant GetPropertyBottomMargin(void) const;
280 Variant GetPropertyLeftMargin(void) const;
281 Variant GetPropertyRightMargin(void) const;
285 virtual ~_Edit(void);
287 static _Edit* CreateEditN(void);
288 virtual result Initialize(int editStyle, InputStyle inputStyle, int limitLength, GroupStyle groupStyle = GROUP_STYLE_NONE);
290 result SetAutoLinkMask(unsigned long autoLinks);
291 result SetAutoResizingEnabled(bool enable);
292 result SetBackgroundBitmap(EditStatus status, const Tizen::Graphics::Bitmap& bitmap);
293 result SetBlockRange(int start, int end);
294 result SetBlockTextColor(const Tizen::Graphics::Color& color);
295 result SetColor(EditStatus status, const Tizen::Graphics::Color& color);
296 result SetCurrentLanguage(Tizen::Locales::LanguageCode languageCode);
297 result SetCursorPosition(int position);
298 void SetCutlinkColorInfo(EditCutLinkType type, EditCutlinkColor colorInfo);
299 void SetEllipsisPosition(EllipsisPosition position);
300 result SetFont(const Tizen::Graphics::Font& font);
301 result SetFontType(const Tizen::Base::String& typefaceName, unsigned long styleMask);
302 result SetTextStyle(unsigned long style);
303 void SetGuideText(const Tizen::Base::String& guideText);
304 result SetGuideTextColor(const Tizen::Graphics::Color& color);
305 result SetHorizontalMargin(int margin, EditTextHorizontalMargin marginType = EDIT_TEXT_HORIZONTAL_MARGIN);
306 result SetHorizontalMargin(float margin, EditTextHorizontalMargin marginType = EDIT_TEXT_HORIZONTAL_MARGIN);
307 result SetKeypadAction(CoreKeypadAction keypadAction);
308 result SetKeypadActionEnabled(bool enabled);
309 void SetKeypadEnabled(bool enable);
310 result SetKeypadStyle(KeypadStyle keypadStyle);
311 result SetKeypadNormalNumberStyle(bool enable);
312 result SetTextPredictionEnabled(bool enable);
313 result SetLimitLength(int limitLength);
314 result SetLineSpacing(int linePixelGap);
315 result SetLineSpacing(float linePixelGap);
316 void SetLowerCaseModeEnabled(bool enable);
317 void SetMaxLineCount(int maxLineCount);
318 result SetKeypadCommandButton(CommandButtonPosition position, const Tizen::Base::String& text, int actionId);
319 result SetKeypadCommandButtonVisible(bool visible);
320 _Toolbar* GetKeypadCommandButton(void) const;
321 result SetText(const Tizen::Base::String& text);
322 result SetTextAlignment(HorizontalAlignment alignment);
323 result SetTextColor(EditTextColor type, const Tizen::Graphics::Color& color);
324 result SetTextSize(int size);
325 result SetTextSize(float size);
326 virtual result SetTitleText(const Tizen::Base::String& title);
327 result SetTitleTextColor(EditStatus status, const Tizen::Graphics::Color& color);
328 result SetViewModeEnabled(bool enable);
329 result SetVerticalMargin(int margin, EditTextVerticalMargin marginType = EDIT_TEXT_VERTICAL_MARGIN);
330 result SetVerticalMargin(float margin, EditTextVerticalMargin marginType = EDIT_TEXT_VERTICAL_MARGIN);
331 void SetEditStyle(unsigned long style);
332 void SetBorderRoundStyleEnabled(bool enable);
333 result SetPasswordVisible(bool visible);
335 unsigned long GetAutoLinkMask(void) const;
336 Tizen::Graphics::Bitmap* GetBackgroundBitmap(EditStatus status) const;
337 result LoadDefaultBackgroundBitmap(GroupStyle groupStyle);
338 result ReplaceDefaultBackgroundBitmapForSearchBar(void);
339 void SetSearchFieldFocus(bool state);
340 bool IsSearchFieldFocused(void) const;
341 Tizen::Graphics::Bitmap* GetDefaultBackgroundBitmap(EditStatus status) const;
342 bool IsCustomDefaultBackgroundBitmap(EditStatus status) const;
343 Tizen::Graphics::Bitmap* GetDefaultBackgroundEffectBitmap(void) const;
344 Tizen::Graphics::Bitmap* GetDefaultFocusBitmap(void) const;
345 void GetBlockRange(int& start, int& end) const;
346 Tizen::Graphics::Color GetBlockTextColor(void) const;
347 Tizen::Graphics::Color GetColor(EditStatus status) const;
348 result GetCurrentLanguage(Tizen::Locales::LanguageCode& language) const;
349 void GetCurrentTextRange(int& start, int& end) const;
350 int GetCursorPosition(void) const;
351 int GetCursorPositionAt(const Tizen::Graphics::FloatPoint& point) const;
352 result GetCursorBounds(bool isAbsRect, Tizen::Graphics::FloatRectangle& cursorBounds) const;
353 void GetCutlinkColorInfo(EditCutLinkType type, EditCutlinkColor* colorInfo) const;
354 EllipsisPosition GetEllipsisPosition(void) const;
355 void GetFontType(Tizen::Base::String& typefaceName, unsigned long& styleMask) const;
356 unsigned long GetTextStyle(void) const;
357 Tizen::Base::String GetGuideText(void) const;
358 Tizen::Graphics::Color GetGuideTextColor(void) const;
359 int GetHorizontalMargin(EditTextHorizontalMargin marginType) const;
360 float GetHorizontalMarginF(EditTextHorizontalMargin marginType) const;
361 InputStyle GetInputStyle(void) const;
362 CoreKeypadAction GetKeypadAction(void) const;
363 bool GetKeypadActionEnabled(void) const;
364 result GetKeypadBounds(Tizen::Graphics::FloatRectangle& rect) const;
365 float GetClipboardHeight(void) const;
366 KeypadStyle GetKeypadStyle(void) const;
367 int GetTextLimitLength(void) const;
368 int GetLineSpacing(void) const;
369 float GetLineSpacingF(void) const;
370 int GetMaxLineCount(void) const;
371 int GetKeypadCommandButtonActionId(CommandButtonPosition position) const;
372 Tizen::Base::String GetKeypadCommandButtonText(CommandButtonPosition position) const;
373 int GetRemainingLength(void) const;
374 Tizen::Base::String GetText(void) const;
375 Tizen::Base::String GetText(int start, int end) const;
376 HorizontalAlignment GetTextAlignment(void) const;
377 Tizen::Graphics::Color GetTextColor(EditStatus status) const;
378 Tizen::Graphics::Color GetTextColor(EditTextColor type) const;
379 int GetTextLength(void) const;
380 int GetTextLineCount(void) const;
381 int GetTextSize(void) const;
382 float GetTextSizeF(void) const;
383 int GetTextTotalHeight(void) const;
384 float GetTextTotalHeightF(void) const;
385 virtual Tizen::Base::String GetTitleText(void) const;
386 Tizen::Graphics::Color GetTitleTextColor(EditStatus status) const;
387 int GetVerticalMargin(EditTextVerticalMargin marginType) const;
388 float GetVerticalMarginF(EditTextVerticalMargin marginType) const;
389 unsigned long GetEditStyle(void) const;
390 void GetWordPosition(int cursorPos, int& startPos, int& endPos) const;
391 result GetTextImageRangeAt(int postion, int& startPosition, int& endPosition) const;
393 result AppendCharacter(const Tizen::Base::Character& character);
394 result AppendText(const Tizen::Base::String& text);
395 result BeginTextBlock(void);
396 bool CalculateAbsoluteCursorBounds(int index, Tizen::Graphics::FloatRectangle& absCursorRect);
397 result ClearText(void);
398 result CopyText(void);
399 result CutText(void);
400 result DeleteCharacterAt(int index);
401 result DeleteCharacterAtCursorPosition(void);
402 void SetCursorDisabled(bool disabled);
403 result HideKeypad(void);
404 void InitializeColorInformation(void);
405 void SetViewModeColorInformation(bool enabled);
406 result InsertTextAtCursorPosition(const Tizen::Base::String& text);
407 result InsertCharacterAt(int index, const Tizen::Base::Character& character);
408 result InsertTextAt(int index, const Tizen::Base::String& text);
409 result InsertTextAt(int position, const Tizen::Base::String& text, const Tizen::Graphics::Bitmap& textImage);
410 result AppendText(const Tizen::Base::String& text, const Tizen::Graphics::Bitmap& textImage);
411 bool IsAutoResizingEnabled(void) const;
412 bool IsBlocked(void) const;
413 bool IsClipped(void) const;
414 bool IsLowerCaseModeEnabled(void) const;
415 bool IsKeypadCommandButtonVisible(void) const;
416 bool IsSettingGuideTextColor(void) const;
417 bool IsViewModeEnabled(void) const;
418 bool IsKeypadEnabled(void) const;
419 bool IsTextPredictionEnabled(void) const;
420 virtual void UpdateAccessibilityElement(EditAccessibilityElementType type);
421 void SetFullScreenKeypadEdit(bool enabled);
422 bool IsFullScreenKeypadEdit(void);
423 bool IsBorderRoundStyleEnabled(void) const;
424 bool IsUsbKeyboardConnected(void) const;
425 bool IsKeypadExist(void) const;
426 bool IsClipboardExist(void) const;
427 bool CheckKeypadExist(_ControlOrientation orientation);
428 bool IsDestroyed(void) const;
429 bool IsPasswordVisible(void) const;
430 bool IsClearIconPressed(void) const;
432 void SetTextEventEnabled(bool enable);
433 bool IsTextEventEnabled(void) const;
434 virtual void SetAutoShrinkModeEnabled(bool enable);
435 virtual bool IsAutoShrinkModeEnabled(void) const;
437 result PasteText(void);
438 result ReleaseTextBlock(void);
439 result RemoveTextBlock(void);
440 result ShowKeypad(void);
442 result AddActionEventListener(const _IActionEventListener& listener);
443 result AddExpandableEditAreaEventListener(const _IExpandableEditAreaEventListener& listener);
444 result AddKeypadEventListener(const _IKeypadEventListener& listener);
445 result AddLanguageEventListener(const _ILanguageEventListener& listener);
446 result AddScrollPanelEventListener(const _IScrollPanelEventListener& listener);
447 result AddTextBlockEventListener(const _ITextBlockEventListener& listener);
448 result AddTextEventListener(const _ITextEventListener& listener);
449 result AddUiLinkEventListener(const _IUiLinkEventListener& listener);
451 result RemoveActionEventListener(const _IActionEventListener& listener);
452 result RemoveExpandableEditAreaEventListener(const _IExpandableEditAreaEventListener& listener);
453 result RemoveKeypadEventListener(const _IKeypadEventListener& listener);
454 result RemoveLanguageEventListener(const _ILanguageEventListener& listener);
455 result RemoveScrollPanelEventListener(const _IScrollPanelEventListener& listener);
456 result RemoveTextBlockEventListener(const _ITextBlockEventListener& listener);
457 result RemoveTextEventListener(const _ITextEventListener& listener);
458 result RemoveUiLinkEventListener(const _IUiLinkEventListener& listener);
460 result AttachScrollPanelEvent(void);
461 result DetachScrollPanelEvent(void);
463 result SendExpandableEditAreaEvent(_ExpandableEditAreaEventStatus status, int newLineCount = 0);
464 result SendKeypadEvent(CoreKeypadAction keypadAction, CoreKeypadEventStatus eventstatus);
465 result SendLanguageEvent(Tizen::Locales::LanguageCode prevLanguageCode, Tizen::Locales::LanguageCode currentLanguageCode);
466 result SendLinkEvent(const Tizen::Base::String& text, Tizen::Base::Utility::LinkType linkType, const Tizen::Base::String& link);
467 result SendScrollPanelEvent(CoreScrollPanelStatus eventstatus);
468 result SendTextBlockEvent(int start, int end);
469 result SendTextEvent(CoreTextEventStatus textEventStatus);
471 void OnScrollPanelBoundsChanged(void);
472 virtual result OnAttachedToMainTree(void);
473 virtual void OnBoundsChanged(void);
474 virtual void OnChangeLayout(_ControlOrientation orientation);
475 virtual void OnClipboardPopupClosed(const ClipboardItem* pClipboardItem);
476 virtual void OnDraw(void);
477 virtual bool OnFocusGained(const _Control& source);
478 virtual bool OnFocusLost(const _Control& source);
479 virtual bool OnFlickGestureDetected(_TouchFlickGestureDetector& gesture);
480 virtual bool OnFlickGestureCanceled(_TouchFlickGestureDetector& gesture);
481 virtual bool OnLongPressGestureDetected(_TouchLongPressGestureDetector& gesture);
482 virtual bool OnLongPressGestureCanceled(_TouchLongPressGestureDetector& gesture);
483 virtual bool OnTapGestureDetected(_TouchTapGestureDetector& gesture);
484 virtual bool OnTapGestureCanceled(_TouchTapGestureDetector& gesture);
485 virtual bool OnTouchMoved(const _Control& source, const _TouchInfo& touchinfo);
486 virtual bool OnTouchPressed(const _Control& source, const _TouchInfo& touchinfo);
487 virtual bool OnTouchCanceled(const _Control& source, const _TouchInfo& touchinfo);
488 virtual bool OnTouchReleased(const _Control& source, const _TouchInfo& touchinfo);
489 virtual bool OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo);
490 virtual bool OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo);
491 virtual bool OnNotifiedN(const _Control& source, Tizen::Base::Collection::IList* pArgs);
493 virtual void OnFontChanged(Tizen::Graphics::Font* pFont);
494 virtual void OnFontInfoRequested(unsigned long& style, float& size);
496 virtual result OnDetachingFromMainTree(void);
497 virtual void OnVisibleStateChanged(void);
498 virtual void OnAncestorEnableStateChanged(const _Control& control);
499 virtual void OnAncestorVisibleStateChanged(const _Control& control);
500 virtual void OnSettingChanged(Tizen::Base::String& key);
502 virtual void OnDrawFocus(void);
504 _EditPresenter* GetPresenter(void) const;
505 Tizen::Graphics::FloatDimension GetContentSizeInternalF(bool horizontalMode, bool verticalMode) const;
506 bool IsInternalFocused(void) const;
507 bool ValidatePastedText(const Tizen::Base::String& pastedText, Tizen::Base::String& replacedText);
508 void SetEditTextFilter(IEditTextFilter* pFilter);
509 void SendOpaqueCommand(const Tizen::Base::String& command);
510 _AccessibilityElement* GetTextAccessibilityElement(void) const;
513 result SetPresenter(const _EditPresenter& pPresenter);
517 _Edit& operator =(const _Edit&);
518 _EditPresenter* _pEditPresenter;
521 float __bottomMargin;
528 bool __borderRoundStyle;
530 EllipsisPosition __ellipsisPosition;
531 InputStyle __inputStyle;
532 bool __isConstructed;
534 EditColor __color[EDIT_COLOR_MAX];
535 EditBlockTextColor __blockTextColor;
536 EditCutlinkColor __cutlinkColor[EDIT_LINK_TYPE_MAX];
537 Tizen::Graphics::Color __guideTextColor;
538 Tizen::Graphics::Color __pressedGuideTextColor;
539 bool __isSettingGuideTextColor;
541 Tizen::Graphics::Bitmap* __pBackgroundBitmap[EDIT_COLOR_MAX];
544 Tizen::Graphics::Bitmap* __pDefaultBackgroundBitmap[EDIT_COLOR_MAX];
545 Tizen::Graphics::Bitmap* __pDefaultBackgroundEffectBitmap;
546 Tizen::Graphics::Bitmap* __pDefaultFocusBitmap;
548 Tizen::Ui::_TouchFlickGestureDetector* __pGestureFlick;
549 Tizen::Ui::_TouchLongPressGestureDetector* __pGestureLongPress;
550 Tizen::Ui::_TouchTapGestureDetector* __pGestureTap;
551 Tizen::Ui::Controls::_EditInternalTouchEventListener* __pEditInternalTouchEventListener;
553 _ExpandableEditAreaEvent* __pExpandableEditAreaEvent;
554 _KeypadEvent* __pKeypadEvent;
555 _LanguageEvent* __pLanguageEvent;
556 _LinkEvent* __pLinkEvent;
557 _ScrollPanelEvent* __pScrollPanelEvent;
558 _TextBlockEvent* __pTextBlockEvent;
559 _TextEvent* __pTextEvent;
560 Tizen::Ui::_AccessibilityElement* __pTextAccessibilityElement;
561 Tizen::Ui::_AccessibilityElement* __pClearButtonTextAccessibilityElement;
562 Tizen::Ui::_AccessibilityElement* __pToolbarAccessibilityElement;
563 bool __isAccessibilityCreated;
564 bool __isFullScreenKeypadEdit;
565 bool __internalFocus;
567 IEditTextFilter* __pTextFilter;
568 Tizen::Graphics::FloatRectangle __previousBounds;
569 bool __isTouchMoving;
570 bool __isSearchFieldFocused;
571 bool __isTextEventEnabled;
574 }}} // Tizen::Ui::Controls
576 #endif // _FUI_CTRL_INTERNAL_EDIT_H_