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=dc82c36bcb1b959125e2eb418aa5287c14719ae3;hp=4650a6dccc393a1931038ff7d112191f5f7d2be9;hb=ed11499452da1ccd5fdfa36324881dc66a5281bc;hpb=0a7241e813fbfd78d2dc0d2d8c75ec65484b4c47 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 4650a6d..dc82c36 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -143,6 +143,8 @@ DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "renderingBackend", DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "maxLength", INTEGER, MAX_LENGTH ) DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "selectedTextStart", INTEGER, SELECTED_TEXT_START ) DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "selectedTextEnd", INTEGER, SELECTED_TEXT_END ) +DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "horizontalScrollPosition", FLOAT, HORIZONTAL_SCROLL_POSITION ) +DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "verticalScrollPosition", INTEGER, VERTICAL_SCROLL_POSITION ) DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "enableEditing", BOOLEAN, ENABLE_EDITING ) DALI_DEVEL_PROPERTY_REGISTRATION_READ_ONLY( Toolkit, TextEditor, "selectedText", STRING, SELECTED_TEXT ) @@ -722,6 +724,26 @@ void TextEditor::SetProperty( BaseObject* object, Property::Index index, const P impl.SetEditable( editable ); break; } + case Toolkit::DevelTextEditor::Property::HORIZONTAL_SCROLL_POSITION: + { + float horizontalScroll = value.Get< float >(); + DALI_LOG_INFO( gLogFilter, Debug::General, "TextEditor %p HORIZONTAL_SCROLL_POSITION %d\n", impl.mController.Get(), horizontalScroll ); + if (horizontalScroll >= 0.0f) + { + impl.ScrollBy( Vector2(horizontalScroll - impl.GetHorizontalScrollPosition(), 0 )); + } + break; + } + case Toolkit::DevelTextEditor::Property::VERTICAL_SCROLL_POSITION: + { + float verticalScroll = value.Get< float >(); + DALI_LOG_INFO( gLogFilter, Debug::General, "TextEditor %p VERTICAL_SCROLL_POSITION %d\n", impl.mController.Get(), verticalScroll ); + if (verticalScroll >= 0.0f) + { + impl.ScrollBy( Vector2(0, verticalScroll - impl.GetVerticalScrollPosition() )); + } + break; + } } // switch } // texteditor } @@ -1058,6 +1080,16 @@ Property::Value TextEditor::GetProperty( BaseObject* object, Property::Index ind value = impl.IsEditable(); break; } + case Toolkit::DevelTextEditor::Property::HORIZONTAL_SCROLL_POSITION: + { + value = impl.GetHorizontalScrollPosition(); + break; + } + case Toolkit::DevelTextEditor::Property::VERTICAL_SCROLL_POSITION: + { + value = impl.GetVerticalScrollPosition(); + break; + } } //switch } @@ -1081,6 +1113,32 @@ void TextEditor::SelectNone() } } +void TextEditor::ScrollBy(Vector2 scroll) +{ + if( mController && mController->IsShowingRealText() ) + { + mController->ScrollBy(scroll); + } +} + +float TextEditor::GetHorizontalScrollPosition() +{ + if( mController && mController->IsShowingRealText() ) + { + return mController->GetHorizontalScrollPosition(); + } + return 0; +} + +float TextEditor::GetVerticalScrollPosition() +{ + if( mController && mController->IsShowingRealText() ) + { + return mController->GetVerticalScrollPosition(); + } + return 0; +} + string TextEditor::GetSelectedText() const { string selectedText = "";