X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-editor-impl.cpp;h=efcfe2cf5f40efd2f795b1385d376a8c78283127;hp=0442a478e05228131675120c5bfb893c3529639c;hb=dea624eb348a4926d8761c8a1364f03f9f71acf5;hpb=8147c2dfb1c1ae88c929cbad7329c27830842525;ds=sidebyside 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 0442a47..efcfe2c 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -35,7 +35,6 @@ #include #include #include -#include #include #include #include @@ -138,9 +137,11 @@ DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "enableShiftSelection", DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "enableGrabHandle", BOOLEAN, ENABLE_GRAB_HANDLE ) DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "matchSystemLanguageDirection", BOOLEAN, MATCH_SYSTEM_LANGUAGE_DIRECTION ) DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "renderingBackend", INTEGER, RENDERING_BACKEND ) +DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "maxLength", INTEGER, MAX_LENGTH ) DALI_SIGNAL_REGISTRATION( Toolkit, TextEditor, "textChanged", SIGNAL_TEXT_CHANGED ) DALI_SIGNAL_REGISTRATION( Toolkit, TextEditor, "inputStyleChanged", SIGNAL_INPUT_STYLE_CHANGED ) +DALI_SIGNAL_REGISTRATION( Toolkit, TextEditor, "maxLengthReached", SIGNAL_MAX_LENGTH_REACHED ) DALI_TYPE_REGISTRATION_END() @@ -771,6 +772,17 @@ void TextEditor::SetProperty( BaseObject* object, Property::Index index, const P } break; } + case Toolkit::DevelTextEditor::Property::MAX_LENGTH: + { + if( impl.mController ) + { + const int max = value.Get< int >(); + DALI_LOG_INFO( gLogFilter, Debug::General, "TextEditor %p MAX_LENGTH %d\n", impl.mController.Get(), max ); + + impl.mController->SetMaximumNumberOfCharacters( max ); + } + break; + } } // switch } // texteditor } @@ -1171,6 +1183,14 @@ Property::Value TextEditor::GetProperty( BaseObject* object, Property::Index ind } break; } + case Toolkit::DevelTextEditor::Property::MAX_LENGTH: + { + if( impl.mController ) + { + value = impl.mController->GetMaximumNumberOfCharacters(); + } + break; + } } //switch } @@ -1182,6 +1202,11 @@ InputMethodContext TextEditor::GetInputMethodContext() return mInputMethodContext; } +DevelTextEditor::MaxLengthReachedSignalType& TextEditor::MaxLengthReachedSignal() +{ + return mMaxLengthReachedSignal; +} + bool TextEditor::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) { Dali::BaseHandle handle( object ); @@ -1197,6 +1222,14 @@ bool TextEditor::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface { editor.InputStyleChangedSignal().Connect( tracker, functor ); } + else if( 0 == strcmp( signalName.c_str(), SIGNAL_MAX_LENGTH_REACHED ) ) + { + if( editor ) + { + Internal::TextEditor& editorImpl( GetImpl( editor ) ); + editorImpl.MaxLengthReachedSignal().Connect( tracker, functor ); + } + } else { // signalName does not match any signal @@ -1588,7 +1621,8 @@ void TextEditor::TextChanged() void TextEditor::MaxLengthReached() { - // Nothing to do as TextEditor doesn't emit a max length reached signal. + Dali::Toolkit::TextEditor handle( GetOwner() ); + mMaxLengthReachedSignal.Emit( handle ); } void TextEditor::InputStyleChanged( Text::InputStyle::Mask inputStyleMask )