*/
void SendOpaqueCommand (const Tizen::Base::String& command);
+ /**
+ * Makes password text visible even when %EditField is in password-related styles
+ *
+ * @since 2.2
+ *
+ * @return An error code
+ * @param[in] visible Set to @c true to show password as plain text, @n else @c false.
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
+ * This operation is supported when the EditFieldStyle is ::EDIT_FIELD_STYLE_PASSWORD, @n ::EDIT_FIELD_STYLE_PASSWORD_SMALL, ::EDIT_FIELD_STYLE_PASSWORD_NUMBER, or ::EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL.
+ */
+ result SetPasswordVisible(bool visible);
+
+ /**
+ * Checks whether the password text is visible when %EditField is in password-related styles
+ *
+ * @since 2.2
+ *
+ * @return @c true if the password is visible as plain text, @n
+ * else @c false
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
+ * This operation is supported when the EditFieldStyle is ::EDIT_FIELD_STYLE_PASSWORD, @n ::EDIT_FIELD_STYLE_PASSWORD_SMALL, ::EDIT_FIELD_STYLE_PASSWORD_NUMBER, or ::EDIT_FIELD_STYLE_PASSWORD_NUMBER_SMALL.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ * @see SetPasswordVisible()
+ */
+ bool IsPasswordVisible(void) const;
+
protected:
friend class _EditFieldImpl;
return;
}
+result
+EditField::SetPasswordVisible(bool visible)
+{
+ _EditFieldImpl* pEditFieldImpl = _EditFieldImpl::GetInstance(*this);
+ SysAssertf(pEditFieldImpl != null, "Not yet constructed. Construct() should be called before use.");
+
+ return pEditFieldImpl->SetPasswordVisible(visible);
+}
+
+bool
+EditField::IsPasswordVisible(void) const
+{
+ const _EditFieldImpl* pEditFieldImpl = _EditFieldImpl::GetInstance(*this);
+ SysAssertf(pEditFieldImpl != null, "Not yet constructed. Construct() should be called before use.");
+
+ return pEditFieldImpl->IsPasswordVisible();
+}
+
}}} // Tizen::Ui::Controls
return __pTextAccessibilityElement;
}
+result
+_Edit::SetPasswordVisible(bool visible)
+{
+ return _pEditPresenter->SetPasswordVisible(visible);
+}
+
+bool
+_Edit::IsPasswordVisible(void) const
+{
+ return _pEditPresenter->IsPasswordVisible();
+}
+
}}} // Tizen::Ui::Controls
}
result
+_EditFieldImpl::SetPasswordVisible(bool visible)
+{
+ SysTryReturnResult(NID_UI_CTRL, (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD), E_INVALID_OPERATION,
+ "Edit Style is not EDIT_STYLE_PASSWORD.\n");
+
+ return __pEdit->SetPasswordVisible(visible);
+}
+
+bool
+_EditFieldImpl::IsPasswordVisible(void) const
+{
+ ClearLastResult();
+
+ SysTryReturn(NID_UI_CTRL, (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD), false, E_INVALID_OPERATION, "Edit Style is not EDIT_STYLE_PASSWORD.\n");
+
+ return __pEdit->IsPasswordVisible();
+}
+
+result
_EditFieldImpl::OnBoundsChanged(const Rectangle& oldRect, const Rectangle& newRect)
{
return E_SUCCESS;
, __blockTextColor(Color(0, 0, 0))
, __rowCursorIndex(-1)
, __columnCursorIndex(-1)
+ , __isPasswordVisible(false)
{
}
return E_SYSTEM;
}
+ if (__isPasswordVisible)
+ {
+ return r;
+ }
+
StartPasswordTimer();
if (IsBlocked() == true)
{
{
result r = E_SUCCESS;
+ if (__isPasswordVisible)
+ {
+ return r;
+ }
+
if (__pPasswordTimer == null)
{
__pPasswordTimer = new (std::nothrow) Timer;
{
result r = E_SUCCESS;
+ if (__isPasswordVisible)
+ {
+ return r;
+ }
+
if (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD)
{
if (GetTextLength() > 0)
{
result r = E_SUCCESS;
+ if (__isPasswordVisible)
+ {
+ return r;
+ }
+
int bufferLength = GetTextLength();
for (int i = 0; i < bufferLength && i < EDIT_PASSWORD_BUFFER_MAX - 1; i++)
}
result
+_EditPresenter::ChangePasswordToPlainText(void)
+{
+ result r = E_SUCCESS;
+
+ if (__isPasswordVisible == false)
+ {
+ return r;
+ }
+
+ if (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD)
+ {
+ int textLength = GetTextLength();
+ if ((textLength > 0) && (textLength <= __limitLength))
+ {
+ wchar_t* tempString = const_cast<wchar_t*>(__pTextString->GetPointer());
+ for (int i = 0; i < textLength; i++)
+ {
+ __pTextBuffer[i] = tempString[i];
+ }
+ __pTextBuffer[textLength] = 0;
+ __pTextObject->RemoveAll();
+ TextSimple* pSimpleText = new (std::nothrow)TextSimple(__pTextBuffer, textLength,TEXT_ELEMENT_SOURCE_TYPE_EXTERNAL, __pFont);
+ __pTextObject->AppendElement(*pSimpleText);
+ __pTextObject->Compose();
+ __isCursorChanged = true;
+ }
+ }
+
+ return r;
+}
+
+result
_EditPresenter::SetAutoResizingEnabled(bool enable)
{
return __pEditModel->SetAutoResizingEnabled(enable);
}
}
+result
+_EditPresenter::SetPasswordVisible(bool visible)
+{
+ result r = E_SUCCESS;
+
+ SysTryReturnResult(NID_UI_CTRL, (__pEdit->GetEditStyle() & EDIT_STYLE_PASSWORD), E_INVALID_OPERATION,
+ "Edit Style is not EDIT_STYLE_PASSWORD.\n")
+
+
+ if (__isPasswordVisible == visible)
+ {
+ return r;
+ }
+
+ __isPasswordVisible = visible;
+
+ if (GetTextLength()== 0)
+ {
+ return r;
+ }
+
+ InitializeCopyPasteManager();
+
+ if (__isInputConnectionBound && __isTextComposing)
+ {
+ __pInputConnection->FinishTextComposition();
+ __isTextComposing = false;
+ __composingTextLength = 0;
+ }
+
+ if (__isPasswordVisible)
+ {
+ StopPasswordTimer();
+ ChangePasswordToPlainText();
+ }
+ else
+ {
+ ReplaceTextIntoPasswordHyphenString();
+ __pTextObject->NotifyTextChanged(__pTextBuffer, 0, __pTextString->GetLength(), 0);
+ }
+
+ return r;
+}
+
+bool
+_EditPresenter::IsPasswordVisible(void) const
+{
+ return __isPasswordVisible;
+}
+
}}} // Tizen::Ui::Controls
pAccessibilityContainer->AddChildContainer(*pAccessibilityEdit);
}
}
+
+ if (__pCallerEdit)
+ {
+ if (editStyle & EDIT_STYLE_PASSWORD)
+ {
+ __pChildEdit->SetPasswordVisible(__pCallerEdit->IsPasswordVisible());
+ }
+ }
}
SetClipChildrenEnabled(false);
result SetVerticalMargin(float margin, EditTextVerticalMargin marginType = EDIT_TEXT_VERTICAL_MARGIN);
void SetEditStyle(unsigned long style);
void SetBorderRoundStyleEnabled(bool enable);
+ result SetPasswordVisible(bool visible);
unsigned long GetAutoLinkMask(void) const;
Tizen::Graphics::Bitmap* GetBackgroundBitmap(EditStatus status) const;
bool IsClipboardExist(void) const;
bool CheckKeypadExist(_ControlOrientation orientation);
bool IsDestroyed(void) const;
+ bool IsPasswordVisible(void) const;
virtual void SetAutoShrinkModeEnabled(bool enable);
virtual bool IsAutoShrinkModeEnabled(void) const;
result SetTitleTextColor(EditStatus status, const Tizen::Graphics::Color& color);
result SetViewModeEnabled(bool enable);
result SetTextPredictionEnabled(bool enable);
+ result SetPasswordVisible(bool visible);
unsigned long GetAutoLinkMask(void) const;
void GetBlockRange(int& start, int& end) const;
bool IsOverlayCommandButtonVisible(void) const;
bool IsViewModeEnabled(void) const;
bool IsTextPredictionEnabled(void) const;
+ bool IsPasswordVisible(void) const;
result Paste(void);
result ReleaseBlock(void);
result CalculateCursorBounds(const Tizen::Graphics::FloatRectangle& textBounds, Tizen::Graphics::FloatRectangle& cursorBounds, int rowIndex, int columnIndex);
virtual void ResetTextBounds(void){}
void UpdateKeypadCommandString(void);
+ result SetPasswordVisible(bool visible);
+ bool IsPasswordVisible(void) const;
protected:
void StopTitleSlidingTimer(void);
result ChangePasswordToEchoCharacter(wchar_t* dspStrBuffer, wchar_t echoChar);
// todo : move to PastePasswordEchoCharacter
result ReplaceTextIntoPasswordHyphenString(void);
+ result ChangePasswordToPlainText(void);
// todo : delete, do not use
result SetFocused(void);
void ScrollText(float distance);
Tizen::Graphics::Color __blockTextColor;
int __rowCursorIndex;
int __columnCursorIndex;
+ bool __isPasswordVisible;
}; // _EditPresenter
}}} // Tizen::Ui::Controls