if(controller.mImpl->IsShowingPlaceholderText() ||
(0u == controller.mImpl->mModel->mLogicalModel->mText.Count()))
{
- controller.ShowPlaceholderText();
+ ShowPlaceholderText(*controller.mImpl);
}
}
if(controller.mImpl->IsShowingPlaceholderText() ||
(0u == controller.mImpl->mModel->mLogicalModel->mText.Count()))
{
- controller.ShowPlaceholderText();
+ ShowPlaceholderText(*controller.mImpl);
}
}
}
{
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());
{
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;
{
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;
{
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;
{
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)
{
if(controller.mImpl->IsShowingPlaceholderText())
{
controller.mImpl->mModel->mVisualModel->SetTextColor(textColor);
+ controller.mImpl->mModel->mLogicalModel->mColorRuns.Clear();
+ controller.mImpl->mOperationsPending = static_cast<OperationsMask>(controller.mImpl->mOperationsPending | COLOR);
controller.mImpl->RequestRelayout();
}
}
}
}
-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;
}
}
+void Controller::PlaceholderHandler::CreatePlaceholderFont(Controller& controller)
+{
+ if(nullptr == controller.mImpl->mEventData->mPlaceholderFont)
+ {
+ controller.mImpl->mEventData->mPlaceholderFont = std::unique_ptr<FontDefaults>(new FontDefaults());
+ }
+}
+
} // namespace Text
} // namespace Toolkit