X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-editor-impl.cpp;h=82f69754eacba0b9a84edb9f003d922a80a6e33e;hb=0438dc45f141969836bd6c9c31458101511bbfca;hp=4e7d3f02fdd1e9e1efe504ce07fbd84503bb4f19;hpb=f1876c34a8f667f79182fa8a772ee889e27290c1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp index 4e7d3f0..82f6975 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -146,6 +146,7 @@ DALI_DEVEL_PROPERTY_REGISTRATION(Toolkit, TextEditor, "enableEditing", DALI_DEVEL_PROPERTY_REGISTRATION_READ_ONLY(Toolkit, TextEditor, "selectedText", STRING, SELECTED_TEXT ) DALI_DEVEL_PROPERTY_REGISTRATION(Toolkit, TextEditor, "fontSizeScale", FLOAT, FONT_SIZE_SCALE ) DALI_DEVEL_PROPERTY_REGISTRATION(Toolkit, TextEditor, "primaryCursorPosition", INTEGER, PRIMARY_CURSOR_POSITION ) +DALI_DEVEL_PROPERTY_REGISTRATION(Toolkit, TextEditor, "grabHandleColor", VECTOR4, GRAB_HANDLE_COLOR ) DALI_SIGNAL_REGISTRATION(Toolkit, TextEditor, "textChanged", SIGNAL_TEXT_CHANGED ) DALI_SIGNAL_REGISTRATION(Toolkit, TextEditor, "inputStyleChanged", SIGNAL_INPUT_STYLE_CHANGED) @@ -764,6 +765,15 @@ void TextEditor::SetProperty(BaseObject* object, Property::Index index, const Pr } break; } + case Toolkit::DevelTextEditor::Property::GRAB_HANDLE_COLOR: + { + const Vector4 color = value.Get(); + DALI_LOG_INFO(gLogFilter, Debug::General, "TextEditor %p GRAB_HANDLE_COLOR %f,%f,%f,%f\n", impl.mController.Get(), color.r, color.g, color.b, color.a); + + impl.mDecorator->SetHandleColor(color); + impl.RequestTextRelayout(); + break; + } } // switch } // texteditor } @@ -1120,6 +1130,11 @@ Property::Value TextEditor::GetProperty(BaseObject* object, Property::Index inde value = static_cast(impl.mController->GetPrimaryCursorPosition()); break; } + case Toolkit::DevelTextEditor::Property::GRAB_HANDLE_COLOR: + { + value = impl.mDecorator->GetHandleColor(); + break; + } } //switch } @@ -1384,7 +1399,7 @@ float TextEditor::GetHeightForWidth(float width) void TextEditor::ResizeActor(Actor& actor, const Vector2& size) { - if (actor.GetProperty(Dali::Actor::Property::SIZE).GetVectorXY() != size) + if(actor.GetProperty(Dali::Actor::Property::SIZE).GetVectorXY() != size) { actor.SetProperty(Actor::Property::SIZE, size); } @@ -1446,6 +1461,12 @@ void TextEditor::OnRelayout(const Vector2& size, RelayoutContainer& container) } RenderText(updateTextType); + + // If there is text changed, callback is called. + if(mTextChanged) + { + EmitTextChangedSignal(); + } } // The text-editor emits signals when the input style changes. These changes of style are @@ -1659,10 +1680,23 @@ void TextEditor::CaretMoved(unsigned int position) } } -void TextEditor::TextChanged() +void TextEditor::TextChanged(bool immediate) +{ + if(immediate) // Emits TextChangedSignal immediately + { + EmitTextChangedSignal(); + } + else + { + mTextChanged = true; + } +} + +void TextEditor::EmitTextChangedSignal() { Dali::Toolkit::TextEditor handle(GetOwner()); mTextChangedSignal.Emit(handle); + mTextChanged = false; } void TextEditor::MaxLengthReached() @@ -1984,7 +2018,8 @@ TextEditor::TextEditor() mHasBeenStaged(false), mScrollAnimationEnabled(false), mScrollBarEnabled(false), - mScrollStarted(false) + mScrollStarted(false), + mTextChanged(false) { }