X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-editor-property-handler.cpp;h=403f777cfb939df8e22c49a5a46d68ece8d37eeb;hb=ff6ce970724ccc8bee65f7c93411b274907c09d7;hp=62dfbda54262f92bfe94988bd485345fd1060c1a;hpb=e8a0d6cffda02a66a542fe89240fb41bc7c08215;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/text-controls/text-editor-property-handler.cpp b/dali-toolkit/internal/controls/text-controls/text-editor-property-handler.cpp index 62dfbda..403f777 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-property-handler.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-property-handler.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,6 +14,7 @@ * limitations under the License. */ +#include #include #include @@ -125,6 +126,16 @@ void TextEditor::PropertyHandler::SetProperty(Toolkit::TextEditor textEditor, Pr } break; } + case Toolkit::DevelTextEditor::Property::VERTICAL_ALIGNMENT: + { + Toolkit::Text::VerticalAlignment::Type alignment(static_cast(-1)); // Set to invalid value to ensure a valid mode does get set + if(Text::GetVerticalAlignmentEnumeration(value, alignment)) + { + impl.mController->SetVerticalAlignment(alignment); + DALI_LOG_INFO(gTextEditorLogFilter, Debug::General, "TextEditor %p VERTICAL_ALIGNMENT %d\n", impl.mController.Get(), alignment); + } + break; + } case Toolkit::TextEditor::Property::SCROLL_THRESHOLD: { const float threshold = value.Get(); @@ -311,6 +322,7 @@ void TextEditor::PropertyHandler::SetProperty(Toolkit::TextEditor textEditor, Pr DALI_LOG_INFO(gTextEditorLogFilter, Debug::General, "TextEditor %p ENABLE_MARKUP %d\n", impl.mController.Get(), enableMarkup); impl.mController->SetMarkupProcessorEnabled(enableMarkup); + CommonTextUtils::SynchronizeTextAnchorsInParent(textEditor, impl.mController, impl.mAnchorActors); break; } case Toolkit::TextEditor::Property::INPUT_COLOR: @@ -608,6 +620,15 @@ void TextEditor::PropertyHandler::SetProperty(Toolkit::TextEditor textEditor, Pr } break; } + case Toolkit::DevelTextEditor::Property::ENABLE_FONT_SIZE_SCALE: + { + const bool enableFontSizeScale = value.Get(); + if(!Equals(impl.mController->IsFontSizeScaleEnabled(), enableFontSizeScale)) + { + impl.mController->SetFontSizeScaleEnabled(enableFontSizeScale); + } + break; + } case Toolkit::DevelTextEditor::Property::PRIMARY_CURSOR_POSITION: { uint32_t position = static_cast(value.Get()); @@ -687,6 +708,49 @@ void TextEditor::PropertyHandler::SetProperty(Toolkit::TextEditor textEditor, Pr impl.mRenderer.Reset(); break; } + case Toolkit::DevelTextEditor::Property::STRIKETHROUGH: + { + const bool update = SetStrikethroughProperties(impl.mController, value, Text::EffectStyle::DEFAULT); + if(update) + { + impl.mRenderer.Reset(); + } + break; + } + case Toolkit::DevelTextEditor::Property::INPUT_STRIKETHROUGH: + { + const bool update = SetStrikethroughProperties(impl.mController, value, Text::EffectStyle::INPUT); + if(update) + { + impl.mRenderer.Reset(); + } + break; + } + case Toolkit::DevelTextEditor::Property::CHARACTER_SPACING: + { + const float characterSpacing = value.Get(); + impl.mController->SetCharacterSpacing(characterSpacing); + impl.mRenderer.Reset(); + break; + } + case Toolkit::DevelTextEditor::Property::RELATIVE_LINE_SIZE: + { + const float relativeLineSize = value.Get(); + DALI_LOG_INFO(gTextEditorLogFilter, Debug::Verbose, "TextEditor %p RELATIVE_LINE_SIZE %f\n", impl.mController.Get(), relativeLineSize); + + impl.mController->SetRelativeLineSize(relativeLineSize); + impl.mRenderer.Reset(); + break; + } + case Toolkit::DevelTextEditor::Property::SELECTION_POPUP_STYLE: + { + const Property::Map* map = value.GetMap(); + if(map) + { + impl.mDecorator->SetSelectionPopupStyle(*map); + } + break; + } } } @@ -741,6 +805,16 @@ Property::Value TextEditor::PropertyHandler::GetProperty(Toolkit::TextEditor tex } break; } + case Toolkit::DevelTextEditor::Property::VERTICAL_ALIGNMENT: + { + const char* name = Text::GetVerticalAlignmentString(impl.mController->GetVerticalAlignment()); + + if(name) + { + value = std::string(name); + } + break; + } case Toolkit::TextEditor::Property::SCROLL_THRESHOLD: { value = impl.mDecorator->GetScrollThreshold(); @@ -973,6 +1047,16 @@ Property::Value TextEditor::PropertyHandler::GetProperty(Toolkit::TextEditor tex value = impl.mController->GetLineWrapMode(); break; } + case Toolkit::DevelTextEditor::Property::STRIKETHROUGH: + { + GetStrikethroughProperties(impl.mController, value, Text::EffectStyle::DEFAULT); + break; + } + case Toolkit::DevelTextEditor::Property::INPUT_STRIKETHROUGH: + { + GetStrikethroughProperties(impl.mController, value, Text::EffectStyle::INPUT); + break; + } case Toolkit::DevelTextEditor::Property::ENABLE_SHIFT_SELECTION: { value = impl.mController->IsShiftSelectionEnabled(); @@ -1030,6 +1114,11 @@ Property::Value TextEditor::PropertyHandler::GetProperty(Toolkit::TextEditor tex value = impl.mController->GetFontSizeScale(); break; } + case Toolkit::DevelTextEditor::Property::ENABLE_FONT_SIZE_SCALE: + { + value = impl.mController->IsFontSizeScaleEnabled(); + break; + } case Toolkit::DevelTextEditor::Property::PRIMARY_CURSOR_POSITION: { value = static_cast(impl.mController->GetPrimaryCursorPosition()); @@ -1074,6 +1163,23 @@ Property::Value TextEditor::PropertyHandler::GetProperty(Toolkit::TextEditor tex value = impl.mController->GetDefaultLineSize(); break; } + case Toolkit::DevelTextEditor::Property::CHARACTER_SPACING: + { + value = impl.mController->GetCharacterSpacing(); + break; + } + case Toolkit::DevelTextEditor::Property::RELATIVE_LINE_SIZE: + { + value = impl.mController->GetRelativeLineSize(); + break; + } + case Toolkit::DevelTextEditor::Property::SELECTION_POPUP_STYLE: + { + Property::Map map; + impl.mDecorator->GetSelectionPopupStyle(map); + value = map; + break; + } } //switch return value; }