X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-placeholder-handler.cpp;h=312ecb5e6d73177b26af15f671c9c4d2c5099ffe;hp=81d491af4e29730cd07c07f3e9cdc7d7712da513;hb=7c13cc0c065ae22e7ad0deaea4f56730ff050c5c;hpb=f2039d47f9bed8104575da80a2ecf0bb6e37ff8d diff --git a/dali-toolkit/internal/text/text-controller-placeholder-handler.cpp b/dali-toolkit/internal/text/text-controller-placeholder-handler.cpp index 81d491a..312ecb5 100644 --- a/dali-toolkit/internal/text/text-controller-placeholder-handler.cpp +++ b/dali-toolkit/internal/text/text-controller-placeholder-handler.cpp @@ -61,7 +61,7 @@ void Controller::PlaceholderHandler::SetPlaceholderTextElideEnabled(Controller& if(controller.mImpl->IsShowingPlaceholderText() || (0u == controller.mImpl->mModel->mLogicalModel->mText.Count())) { - controller.ShowPlaceholderText(); + ShowPlaceholderText(*controller.mImpl); } } @@ -87,7 +87,7 @@ void Controller::PlaceholderHandler::SetPlaceholderText(Controller& controller, if(controller.mImpl->IsShowingPlaceholderText() || (0u == controller.mImpl->mModel->mLogicalModel->mText.Count())) { - controller.ShowPlaceholderText(); + ShowPlaceholderText(*controller.mImpl); } } } @@ -111,10 +111,8 @@ void Controller::PlaceholderHandler::SetPlaceholderFontFamily(Controller& contro { if(NULL != controller.mImpl->mEventData) { - if(NULL == controller.mImpl->mEventData->mPlaceholderFont) - { - controller.mImpl->mEventData->mPlaceholderFont = new FontDefaults(); - } + // if mPlaceholderFont is null, create an instance. + CreatePlaceholderFont(controller); controller.mImpl->mEventData->mPlaceholderFont->mFontDescription.family = placeholderTextFontFamily; DALI_LOG_INFO(gLogFilter, Debug::General, "Controller::SetPlaceholderFontFamily %s\n", placeholderTextFontFamily.c_str()); @@ -138,10 +136,8 @@ void Controller::PlaceholderHandler::SetPlaceholderTextFontWeight(Controller& co { if(NULL != controller.mImpl->mEventData) { - if(NULL == controller.mImpl->mEventData->mPlaceholderFont) - { - controller.mImpl->mEventData->mPlaceholderFont = new FontDefaults(); - } + // if mPlaceholderFont is null, create an instance. + CreatePlaceholderFont(controller); controller.mImpl->mEventData->mPlaceholderFont->mFontDescription.weight = weight; controller.mImpl->mEventData->mPlaceholderFont->weightDefined = true; @@ -173,10 +169,8 @@ void Controller::PlaceholderHandler::SetPlaceholderTextFontWidth(Controller& con { if(NULL != controller.mImpl->mEventData) { - if(NULL == controller.mImpl->mEventData->mPlaceholderFont) - { - controller.mImpl->mEventData->mPlaceholderFont = new FontDefaults(); - } + // if mPlaceholderFont is null, create an instance. + CreatePlaceholderFont(controller); controller.mImpl->mEventData->mPlaceholderFont->mFontDescription.width = width; controller.mImpl->mEventData->mPlaceholderFont->widthDefined = true; @@ -208,10 +202,8 @@ void Controller::PlaceholderHandler::SetPlaceholderTextFontSlant(Controller& con { if(NULL != controller.mImpl->mEventData) { - if(NULL == controller.mImpl->mEventData->mPlaceholderFont) - { - controller.mImpl->mEventData->mPlaceholderFont = new FontDefaults(); - } + // if mPlaceholderFont is null, create an instance. + CreatePlaceholderFont(controller); controller.mImpl->mEventData->mPlaceholderFont->mFontDescription.slant = slant; controller.mImpl->mEventData->mPlaceholderFont->slantDefined = true; @@ -243,10 +235,8 @@ void Controller::PlaceholderHandler::SetPlaceholderTextFontSize(Controller& cont { if(NULL != controller.mImpl->mEventData) { - if(NULL == controller.mImpl->mEventData->mPlaceholderFont) - { - controller.mImpl->mEventData->mPlaceholderFont = new FontDefaults(); - } + // if mPlaceholderFont is null, create an instance. + CreatePlaceholderFont(controller); switch(type) { @@ -332,6 +322,8 @@ void Controller::PlaceholderHandler::SetPlaceholderTextColor(Controller& control if(controller.mImpl->IsShowingPlaceholderText()) { controller.mImpl->mModel->mVisualModel->SetTextColor(textColor); + controller.mImpl->mModel->mLogicalModel->mColorRuns.Clear(); + controller.mImpl->mOperationsPending = static_cast(controller.mImpl->mOperationsPending | COLOR); controller.mImpl->RequestRelayout(); } } @@ -451,10 +443,8 @@ void Controller::PlaceholderHandler::GetPlaceholderProperty(Controller& controll } } -void Controller::PlaceholderHandler::ShowPlaceholderText(Controller& controller) +void Controller::PlaceholderHandler::ShowPlaceholderText(Controller::Impl& impl) { - Controller::Impl& impl = *controller.mImpl; - if(impl.IsPlaceholderAvailable()) { EventData*& eventData = impl.mEventData; @@ -533,6 +523,14 @@ void Controller::PlaceholderHandler::ShowPlaceholderText(Controller& controller) } } +void Controller::PlaceholderHandler::CreatePlaceholderFont(Controller& controller) +{ + if(nullptr == controller.mImpl->mEventData->mPlaceholderFont) + { + controller.mImpl->mEventData->mPlaceholderFont = std::unique_ptr(new FontDefaults()); + } +} + } // namespace Text } // namespace Toolkit