_ControlOrientation orientation = pEdit->GetOrientation();
FloatRectangle rect = GetBoundsF();
FloatRectangle cursorAbsBounds = __pCopyPasteManager->GetCursorBoundsF(true);
+ float clipboardHeight = 0.0f;
+ FloatRectangle keypadBounds(0.0f, 0.0f, 0.0f, 0.0f);
+ float adjustHeight = 0.0f;
+
+ _EditPresenter* pEditPresenter = pEdit->GetPresenter();
+ SysTryReturnVoidResult(NID_UI_CTRL, pEditPresenter, E_INVALID_STATE, "pEditPresenter is null.\n");
+
+ clipboardHeight = pEditPresenter->GetClipboardHeight();
+ pEditPresenter->GetKeypadBoundsEx(keypadBounds);
+ if (clipboardHeight > keypadBounds.height)
+ {
+ adjustHeight = clipboardHeight;
+ }
+ else
+ {
+ adjustHeight = keypadBounds.height;
+ }
if (orientation == _CONTROL_ORIENTATION_PORTRAIT)
{
screenSize.width = pControlManager->GetScreenSizeF().height;
screenSize.height = pControlManager->GetScreenSizeF().width;
}
+ if (adjustHeight > 0.0f)
+ {
+ screenSize.height -= adjustHeight;
+ }
if (__singleHandler)
{
, __titleBounds()
, __clientBounds()
, __previousCursorBounds()
- , __keypadBounds()
+ , __keypadBounds(0.0f, 0.0f, 0.0f,0.0f)
, __pTextObject(null)
, __pGuideTextObject(null)
, __pTitleTextObject(null)
__pEdit->SendKeypadEvent(GetKeypadAction(), CORE_KEYPAD_EVENT_STATUS_BOUNDS_CHANGED);
+ if (__isCopyPasteManagerExist)
+ {
+ DrawText();
+ if (__pCopyPasteManager->GetCopyPastePopup())
+ {
+ __pCopyPasteManager->CreateCopyPastePopup();
+ }
+ __pCopyPasteManager->Show();
+ }
+
return;
}
}
result
-_EditPresenter::GetKeypadBounds(FloatRectangle& bounds) const
+_EditPresenter::GetKeypadBounds(FloatRectangle& bounds)
{
if (__pInputConnection == null)
{
SysTryReturnResult(NID_UI_CTRL, pXformer, E_SYSTEM, "Coordinate system load failed.");
bounds = pXformer->Transform(bounds);
+ __keypadBounds = bounds;
return E_SUCCESS;
}
return maxHeight;
}
-bool
-_EditPresenter::SetKeypadBounds(const FloatRectangle& bounds)
+void
+_EditPresenter::GetKeypadBoundsEx(Tizen::Graphics::FloatRectangle& bounds) const
{
- __keypadBounds.x = bounds.x;
- __keypadBounds.y = bounds.y;
- __keypadBounds.width = bounds.width;
- __keypadBounds.height = bounds.height;
- return true;
+ bounds.x = __keypadBounds.x;
+ bounds.y = __keypadBounds.y;
+ bounds.width = __keypadBounds.width;
+ bounds.height = __keypadBounds.height;
+ return;
}
_Form*
result SetKeypadCommandButton(CommandButtonPosition position, const Tizen::Base::String& text, int actionId);
_Toolbar* GetKeypadCommandButton(void) const;
result SetKeypadCommandButtonVisible(bool visible);
- bool SetKeypadBounds(const Tizen::Graphics::FloatRectangle& bounds);
result SetText(const Tizen::Base::String& text);
result SetTextAlignment(HorizontalAlignment alignment);
result SetTextBounds(Tizen::Graphics::Rectangle& bounds);
float GetTextSizeF(void) const;
unsigned long GetInputModeCategory(void) const;
CoreKeypadAction GetKeypadAction(void) const;
- result GetKeypadBounds(Tizen::Graphics::FloatRectangle& bounds) const;
+ result GetKeypadBounds(Tizen::Graphics::FloatRectangle& bounds);
+ void GetKeypadBoundsEx(Tizen::Graphics::FloatRectangle& bounds) const;
float GetClipboardHeight(void) const;
bool CheckKeypadExist(_ControlOrientation orientation);
bool IsKeypadRotating(_ControlOrientation orientation);