};
const unsigned int VERTICAL_ALIGNMENT_STRING_TABLE_COUNT = sizeof( VERTICAL_ALIGNMENT_STRING_TABLE ) / sizeof( VERTICAL_ALIGNMENT_STRING_TABLE[0] );
+const Scripting::StringEnum LINE_WRAP_MODE_STRING_TABLE[] =
+{
+ { "WRAP_MODE_WORD", Toolkit::Text::Layout::LineWrap::WORD },
+ { "WRAP_MODE_CHARACTER", Toolkit::Text::Layout::LineWrap::CHARACTER }
+};
+const unsigned int LINE_WRAP_MODE_STRING_TABLE_COUNT = sizeof( LINE_WRAP_MODE_STRING_TABLE ) / sizeof( LINE_WRAP_MODE_STRING_TABLE[0] );
+
// Type registration
BaseHandle Create()
{
DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextLabel, "autoScrollLoopDelay", FLOAT, AUTO_SCROLL_LOOP_DELAY )
DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextLabel, "autoScrollStopMode", STRING, AUTO_SCROLL_STOP_MODE )
DALI_DEVEL_PROPERTY_REGISTRATION_READ_ONLY( Toolkit, TextLabel, "lineCount", INTEGER, LINE_COUNT )
-
+DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextLabel, "lineWrapMode", STRING, LINE_WRAP_MODE )
+DALI_DEVEL_ANIMATABLE_PROPERTY_REGISTRATION_WITH_DEFAULT( Toolkit, TextLabel, "textColorAnimatable", Color::WHITE, TEXT_COLOR_ANIMATABLE )
DALI_TYPE_REGISTRATION_END()
} // namespace
case Toolkit::TextLabel::Property::TEXT_COLOR:
{
- if( impl.mController )
- {
- const Vector4& textColor = value.Get< Vector4 >();
- if( impl.mController->GetDefaultColor() != textColor )
- {
- impl.mController->SetDefaultColor( textColor );
- impl.mRenderer.Reset();
- }
- }
+ SetProperty( object, DevelTextLabel::Property::TEXT_COLOR_ANIMATABLE, value );
break;
}
}
break;
}
+ case Toolkit::DevelTextLabel::Property::LINE_WRAP_MODE:
+ {
+ const std::string& wrapModeStr = value.Get< std::string >();
+ DALI_LOG_INFO( gLogFilter, Debug::General, "TextLabel %p LINE_WRAP_MODE %s\n", impl.mController.Get(), wrapModeStr.c_str() );
+
+ Layout::LineWrap::Mode lineWrapMode( Layout::LineWrap::WORD );
+ if( Scripting::GetEnumeration< Layout::LineWrap::Mode >( wrapModeStr.c_str(),
+ LINE_WRAP_MODE_STRING_TABLE,
+ LINE_WRAP_MODE_STRING_TABLE_COUNT,
+ lineWrapMode ) )
+ {
+ impl.mController->SetLineWrapMode( lineWrapMode );
+ }
+ break;
+ }
}
}
}
break;
}
case Toolkit::TextLabel::Property::TEXT_COLOR:
+ case Toolkit::DevelTextLabel::Property::TEXT_COLOR_ANIMATABLE:
{
if ( impl.mController )
{
}
break;
}
+ case Toolkit::DevelTextLabel::Property::LINE_WRAP_MODE:
+ {
+ if( impl.mController )
+ {
+ value = impl.mController->GetLineWrapMode();
+ }
+ break;
+ }
case Toolkit::DevelTextLabel::Property::LINE_COUNT:
{
if( impl.mController )
return mController->GetHeightForWidth( width ) + padding.top + padding.bottom;
}
+void TextLabel::OnPropertySet( Property::Index index, Property::Value propertyValue )
+{
+ DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextLabel::OnPropertySet index[%d]\n", index );
+
+ switch ( index )
+ {
+ case Toolkit::TextLabel::Property::TEXT_COLOR:
+ case Toolkit::DevelTextLabel::Property::TEXT_COLOR_ANIMATABLE:
+ {
+ const Vector4& textColor = propertyValue.Get< Vector4 >();
+ if( mController->GetDefaultColor() != textColor )
+ {
+ mController->SetDefaultColor( textColor );
+ mRenderer.Reset();
+ }
+ break;
+ }
+ default:
+ {
+ Control::OnPropertySet( index, propertyValue ); // up call to control for non-handled properties
+ break;
+ }
+ }
+}
+
void TextLabel::OnRelayout( const Vector2& size, RelayoutContainer& container )
{
DALI_LOG_INFO( gLogFilter, Debug::General, "TextLabel::OnRelayout\n" );
float alignmentOffset = 0.f;
if( mRenderer )
{
+
+ Dali::Toolkit::TextLabel handle = Dali::Toolkit::TextLabel( GetOwner() );
+
renderableActor = mRenderer->Render( mController->GetView(),
+ handle,
+ Toolkit::DevelTextLabel::Property::TEXT_COLOR_ANIMATABLE,
alignmentOffset,
DepthIndex::CONTENT );
}