TextField and TextEditor uses Property::Index (enums) to set the Map for PLACEHOLDER.
return type is a MAP of Property Index keys with corresponding values regardless of setting type.
Change-Id: I70127d906ccb42085ce4ba3215888176ee1720d3
{
const KeyValuePair& valueGet = fontStyleMapGet.GetKeyValue( index );
- Property::Value* valueSet = fontStyleMapSet.Find( valueGet.first.stringKey );
+ Property::Value* valueSet = NULL;
+ if ( valueGet.first.type == Property::Key::INDEX )
+ {
+ valueSet = fontStyleMapSet.Find( valueGet.first.indexKey );
+ }
+ else
+ {
+ // Get Key is a string so searching Set Map for a string key
+ valueSet = fontStyleMapSet.Find( valueGet.first.stringKey );
+ }
+
if( NULL != valueSet )
{
if( valueGet.second.Get<std::string>() != valueSet->Get<std::string>() )
}
else
{
- tet_printf( " The key %s doesn't exist.", valueGet.first.stringKey.c_str() );
+ if ( valueGet.first.type == Property::Key::INDEX )
+ {
+ tet_printf( " The key %d doesn't exist.", valueGet.first.indexKey );
+ }
+ else
+ {
+ tet_printf( " The key %s doesn't exist.", valueGet.first.stringKey.c_str() );
+ }
return false;
}
}
Property::Map placeholderPixelSizeMapSet;
Property::Map placeholderPixelSizeMapGet;
Property::Map placeholderFontstyleMap;
- placeholderPixelSizeMapSet["placeholderText"] = "Setting Placeholder Text";
- placeholderPixelSizeMapSet["placeholderTextFocused"] = "Setting Placeholder Text Focused";
- placeholderPixelSizeMapSet["placeholderColor"] = Color::BLUE;
- placeholderPixelSizeMapSet["placeholderFontFamily"] = "Arial";
- placeholderPixelSizeMapSet["placeholderPixelSize"] = 15.0f;
+ placeholderPixelSizeMapSet["text"] = "Setting Placeholder Text";
+ placeholderPixelSizeMapSet["textFocused"] = "Setting Placeholder Text Focused";
+ placeholderPixelSizeMapSet["color"] = Color::BLUE;
+ placeholderPixelSizeMapSet["fontFamily"] = "Arial";
+ placeholderPixelSizeMapSet["pixelSize"] = 15.0f;
placeholderFontstyleMap.Insert( "weight", "bold" );
- placeholderPixelSizeMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderPixelSizeMapSet["fontStyle"] = placeholderFontstyleMap;
editor.SetProperty( TextEditor::Property::PLACEHOLDER, placeholderPixelSizeMapSet );
placeholderPixelSizeMapGet = editor.GetProperty<Property::Map>( TextEditor::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderPixelSizeMapGet.Count(), placeholderPixelSizeMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderPixelSizeMapGet, placeholderPixelSizeMapSet ), true, TEST_LOCATION );
+
+ tet_infoline("Test Placeholder settings set as strings is converted correctly to Property Index key and holds set value");
+ Property::Map placeholderConversionMap;
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT ] = placeholderPixelSizeMapSet["text"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = placeholderPixelSizeMapSet["textFocused"] ;
+ placeholderConversionMap[ Text::PlaceHolder::Property::COLOR ] = placeholderPixelSizeMapSet["color"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_FAMILY ] = placeholderPixelSizeMapSet["fontFamily"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::PIXEL_SIZE ] = placeholderPixelSizeMapSet["pixelSize"];
+
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderPixelSizeMapGet, placeholderConversionMap ), true, TEST_LOCATION );
// Check the placeholder property with point size
Property::Map placeholderMapSet;
Property::Map placeholderMapGet;
- placeholderMapSet["placeholderText"] = "Setting Placeholder Text";
- placeholderMapSet["placeholderTextFocused"] = "Setting Placeholder Text Focused";
- placeholderMapSet["placeholderColor"] = Color::RED;
- placeholderMapSet["placeholderFontFamily"] = "Arial";
- placeholderMapSet["placeholderPointSize"] = 12.0f;
-
+ placeholderMapSet["text"] = "Setting Placeholder Text";
+ placeholderMapSet["textFocused"] = "Setting Placeholder Text Focused";
+ placeholderMapSet["color"] = Color::RED;
+ placeholderMapSet["fontFamily"] = "Arial";
+ placeholderMapSet["pointSize"] = 12.0f;
// Check the placeholder font style property
placeholderFontstyleMap.Clear();
placeholderFontstyleMap.Insert( "weight", "bold" );
placeholderFontstyleMap.Insert( "width", "condensed" );
placeholderFontstyleMap.Insert( "slant", "italic" );
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
editor.SetProperty( TextEditor::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = editor.GetProperty<Property::Map>( TextEditor::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ tet_infoline("Test Placeholder settings set as strings is converted correctly to Property Index key and holds set value");
+ placeholderConversionMap.Clear();
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT ] = placeholderMapSet["text"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = placeholderMapSet["textFocused"] ;
+ placeholderConversionMap[ Text::PlaceHolder::Property::COLOR ] = placeholderMapSet["color"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_FAMILY ] = placeholderMapSet["fontFamily"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::POINT_SIZE ] = placeholderMapSet["pointSize"];
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderConversionMap ), true, TEST_LOCATION );
// Reset font style.
placeholderFontstyleMap.Clear();
placeholderFontstyleMap.Insert( "weight", "normal" );
placeholderFontstyleMap.Insert( "slant", "oblique" );
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
editor.SetProperty( TextEditor::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = editor.GetProperty<Property::Map>( TextEditor::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderMapSet["fontStyle"];
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderConversionMap ), true, TEST_LOCATION );
placeholderFontstyleMap.Clear();
placeholderFontstyleMap.Insert( "slant", "roman" );
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
editor.SetProperty( TextEditor::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = editor.GetProperty<Property::Map>( TextEditor::Property::PLACEHOLDER );
placeholderFontstyleMap.Clear();
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
editor.SetProperty( TextEditor::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = editor.GetProperty<Property::Map>( TextEditor::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderMapSet["fontStyle"];
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderConversionMap ), true, TEST_LOCATION );
END_TEST;
}
Property::Map placeholderPixelSizeMapSet;
Property::Map placeholderPixelSizeMapGet;
Property::Map placeholderFontstyleMap;
- placeholderPixelSizeMapSet["placeholderText"] = "Setting Placeholder Text";
- placeholderPixelSizeMapSet["placeholderTextFocused"] = "Setting Placeholder Text Focused";
- placeholderPixelSizeMapSet["placeholderColor"] = Color::BLUE;
- placeholderPixelSizeMapSet["placeholderFontFamily"] = "Arial";
- placeholderPixelSizeMapSet["placeholderPixelSize"] = 15.0f;
- placeholderPixelSizeMapSet["placeholderEllipsis"] = true;
+ placeholderPixelSizeMapSet["text"] = "Setting Placeholder Text";
+ placeholderPixelSizeMapSet["textFocused"] = "Setting Placeholder Text Focused";
+ placeholderPixelSizeMapSet["color"] = Color::BLUE;
+ placeholderPixelSizeMapSet["fontFamily"] = "Arial";
+ placeholderPixelSizeMapSet["pixelSize"] = 15.0f;
+ placeholderPixelSizeMapSet["ellipsis"] = true;
placeholderFontstyleMap.Insert( "weight", "bold" );
placeholderPixelSizeMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
placeholderPixelSizeMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderPixelSizeMapGet.Count(), placeholderPixelSizeMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderPixelSizeMapGet, placeholderPixelSizeMapSet ), true, TEST_LOCATION );
+
+ tet_infoline("Test Placeholder settings set as strings is converted correctly to Property Index key and holds set value");
+ Property::Map placeholderConversionMap;
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT ] = placeholderPixelSizeMapSet["text"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = placeholderPixelSizeMapSet["textFocused"] ;
+ placeholderConversionMap[ Text::PlaceHolder::Property::COLOR ] = placeholderPixelSizeMapSet["color"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_FAMILY ] = placeholderPixelSizeMapSet["fontFamily"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::PIXEL_SIZE ] = placeholderPixelSizeMapSet["pixelSize"];
+
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderPixelSizeMapGet, placeholderConversionMap ), true, TEST_LOCATION );
// Check the placeholder property with point size
Property::Map placeholderMapSet;
Property::Map placeholderMapGet;
- placeholderMapSet["placeholderText"] = "Setting Placeholder Text";
- placeholderMapSet["placeholderTextFocused"] = "Setting Placeholder Text Focused";
- placeholderMapSet["placeholderColor"] = Color::RED;
- placeholderMapSet["placeholderFontFamily"] = "Arial";
- placeholderMapSet["placeholderPointSize"] = 12.0f;
- placeholderMapSet["placeholderEllipsis"] = false;
+ placeholderMapSet["text"] = "Setting Placeholder Text";
+ placeholderMapSet["textFocused"] = "Setting Placeholder Text Focused";
+ placeholderMapSet["color"] = Color::RED;
+ placeholderMapSet["fontFamily"] = "Arial";
+ placeholderMapSet["pointSize"] = 12.0f;
+ placeholderMapSet["ellipsis"] = false;
// Check the placeholder font style property
placeholderFontstyleMap.Clear();
placeholderFontstyleMap.Insert( "weight", "bold" );
placeholderFontstyleMap.Insert( "width", "condensed" );
placeholderFontstyleMap.Insert( "slant", "italic" );
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ placeholderConversionMap.Clear();
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT ] = placeholderPixelSizeMapSet["text"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = placeholderPixelSizeMapSet["textFocused"] ;
+ placeholderConversionMap[ Text::PlaceHolder::Property::COLOR ] = placeholderPixelSizeMapSet["color"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_FAMILY ] = placeholderPixelSizeMapSet["fontFamily"];
+ placeholderConversionMap[ Text::PlaceHolder::Property::POINT_SIZE ] = placeholderPixelSizeMapSet["pointSize"];
+
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderConversionMap ), true, TEST_LOCATION );
// Reset font style.
placeholderFontstyleMap.Clear();
placeholderFontstyleMap.Insert( "weight", "normal" );
placeholderFontstyleMap.Insert( "slant", "oblique" );
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderConversionMap ), true, TEST_LOCATION );
placeholderFontstyleMap.Clear();
placeholderFontstyleMap.Insert( "slant", "roman" );
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
+
field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
placeholderFontstyleMap.Clear();
- placeholderMapSet["placeholderFontStyle"] = placeholderFontstyleMap;
+ placeholderMapSet["fontStyle"] = placeholderFontstyleMap;
+ placeholderConversionMap[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderPixelSizeMapSet["fontStyle"];
field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
- DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderConversionMap ), true, TEST_LOCATION );
// Check the ellipsis property
DALI_TEST_CHECK( !field.GetProperty<bool>( TextField::Property::ELLIPSIS ) );
END_TEST;
}
+
+int UtcDaliTextFieldSettingPlaceholder(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline("UtcDaliTextFieldSettingPlaceholder");
+
+ TextField field = TextField::New();
+ DALI_TEST_CHECK( field );
+ Stage::GetCurrent().Add( field );
+
+ // Check the placeholder property with pixel size
+ Property::Map placeholderPixelSizeMapSet;
+ Property::Map placeholderPixelSizeMapGet;
+ Property::Map placeholderFontstyleMap;
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::TEXT ] = "Setting Placeholder Text";
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = "Setting Placeholder Text Focused";
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::COLOR ] = Color::BLUE;
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::FONT_FAMILY ] = "Arial";
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::PIXEL_SIZE ] = 15.0f;
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::ELLIPSIS ] = true;
+
+ placeholderFontstyleMap.Insert( "weight", "bold" );
+ placeholderPixelSizeMapSet[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderFontstyleMap;
+ field.SetProperty( TextField::Property::PLACEHOLDER, placeholderPixelSizeMapSet );
+
+ placeholderPixelSizeMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
+ DALI_TEST_EQUALS( placeholderPixelSizeMapGet.Count(), placeholderPixelSizeMapSet.Count(), TEST_LOCATION );
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderPixelSizeMapGet, placeholderPixelSizeMapSet ), true, TEST_LOCATION );
+
+ // Check the placeholder property with point size
+ Property::Map placeholderMapSet;
+ Property::Map placeholderMapGet;
+ placeholderMapSet[ Text::PlaceHolder::Property::TEXT ] = "Setting Placeholder Text";
+ placeholderMapSet[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = "Setting Placeholder Text Focused";
+ placeholderMapSet[ Text::PlaceHolder::Property::COLOR ] = Color::RED;
+ placeholderMapSet[ Text::PlaceHolder::Property::FONT_FAMILY ] = "Arial";
+ placeholderMapSet[ Text::PlaceHolder::Property::POINT_SIZE ] = 12.0f;
+ placeholderMapSet[ Text::PlaceHolder::Property::ELLIPSIS ] = false;
+
+ // Check the placeholder font style property
+ placeholderFontstyleMap.Clear();
+
+ placeholderFontstyleMap.Insert( "weight", "bold" );
+ placeholderFontstyleMap.Insert( "width", "condensed" );
+ placeholderFontstyleMap.Insert( "slant", "italic" );
+ placeholderMapSet[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderFontstyleMap;
+ field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
+
+ placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
+ DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ // Reset font style.
+ placeholderFontstyleMap.Clear();
+ placeholderFontstyleMap.Insert( "weight", "normal" );
+ placeholderFontstyleMap.Insert( "slant", "oblique" );
+ placeholderMapSet[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderFontstyleMap;
+ field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
+
+ placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
+ DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ placeholderFontstyleMap.Clear();
+ placeholderFontstyleMap.Insert( "slant", "roman" );
+ placeholderMapSet[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderFontstyleMap;
+ field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
+
+ placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
+
+ placeholderFontstyleMap.Clear();
+ placeholderMapSet[ Text::PlaceHolder::Property::FONT_STYLE ] = placeholderFontstyleMap;
+
+ field.SetProperty( TextField::Property::PLACEHOLDER, placeholderMapSet );
+ placeholderMapGet = field.GetProperty<Property::Map>( TextField::Property::PLACEHOLDER );
+ DALI_TEST_EQUALS( placeholderMapGet.Count(), placeholderMapSet.Count(), TEST_LOCATION );
+ DALI_TEST_EQUALS( DaliTestCheckMaps( placeholderMapGet, placeholderMapSet ), true, TEST_LOCATION );
+
+ END_TEST;
+}
#include <dali-toolkit/public-api/controls/slider/slider.h>
#include <dali-toolkit/public-api/controls/table-view/table-view.h>
#include <dali-toolkit/public-api/controls/text-controls/hidden-input-properties.h>
+#include <dali-toolkit/public-api/controls/text-controls/placeholder-properties.h>
#include <dali-toolkit/public-api/controls/text-controls/text-editor.h>
#include <dali-toolkit/public-api/controls/text-controls/text-field.h>
#include <dali-toolkit/public-api/controls/text-controls/text-label.h>
mPlaceholderFont( NULL ),
mPlaceholderTextActive(),
mPlaceholderTextInactive(),
- mPlaceholderTextColor( 0.8f, 0.8f, 0.8f, 0.8f ),
+ mPlaceholderTextColor( 0.8f, 0.8f, 0.8f, 0.8f ), // This color has been published in the Public API (placeholder-properties.h).
mEventQueue(),
mInputStyleChangedQueue(),
mPreviousState( INACTIVE ),
#include <dali/devel-api/text-abstraction/font-client.h>
// INTERNAL INCLUDES
+#include <dali-toolkit/public-api/controls/text-controls/placeholder-properties.h>
#include <dali-toolkit/internal/text/bidirectional-support.h>
#include <dali-toolkit/internal/text/character-set-conversion.h>
#include <dali-toolkit/internal/text/layouts/layout-parameters.h>
const std::string EMPTY_STRING("");
-const char * const PLACEHOLDER_TEXT = "placeholderText";
-const char * const PLACEHOLDER_TEXT_FOCUSED = "placeholderTextFocused";
-const char * const PLACEHOLDER_COLOR = "placeholderColor";
-const char * const PLACEHOLDER_FONT_FAMILY = "placeholderFontFamily";
-const char * const PLACEHOLDER_FONT_STYLE = "placeholderFontStyle";
-const char * const PLACEHOLDER_POINT_SIZE = "placeholderPointSize";
-const char * const PLACEHOLDER_PIXEL_SIZE = "placeholderPixelSize";
-const char * const PLACEHOLDER_ELLIPSIS = "placeholderEllipsis";
+const char * const PLACEHOLDER_TEXT = "text";
+const char * const PLACEHOLDER_TEXT_FOCUSED = "textFocused";
+const char * const PLACEHOLDER_COLOR = "color";
+const char * const PLACEHOLDER_FONT_FAMILY = "fontFamily";
+const char * const PLACEHOLDER_FONT_STYLE = "fontStyle";
+const char * const PLACEHOLDER_POINT_SIZE = "pointSize";
+const char * const PLACEHOLDER_PIXEL_SIZE = "pixelSize";
+const char * const PLACEHOLDER_ELLIPSIS = "ellipsis";
float ConvertToEven( float value )
{
Property::Key& key = keyValue.first;
Property::Value& value = keyValue.second;
- if( key == PLACEHOLDER_TEXT )
+ if( key == Toolkit::Text::PlaceHolder::Property::TEXT || key == PLACEHOLDER_TEXT )
{
std::string text = "";
value.Get( text );
SetPlaceholderText( Controller::PLACEHOLDER_TYPE_INACTIVE, text );
}
- else if( key == PLACEHOLDER_TEXT_FOCUSED )
+ else if( key == Toolkit::Text::PlaceHolder::Property::TEXT_FOCUSED || key == PLACEHOLDER_TEXT_FOCUSED )
{
std::string text = "";
value.Get( text );
SetPlaceholderText( Controller::PLACEHOLDER_TYPE_ACTIVE, text );
}
- else if( key == PLACEHOLDER_COLOR )
+ else if( key == Toolkit::Text::PlaceHolder::Property::COLOR || key == PLACEHOLDER_COLOR )
{
Vector4 textColor;
value.Get( textColor );
SetPlaceholderTextColor( textColor );
}
}
- else if( key == PLACEHOLDER_FONT_FAMILY )
+ else if( key == Toolkit::Text::PlaceHolder::Property::FONT_FAMILY || key == PLACEHOLDER_FONT_FAMILY )
{
std::string fontFamily = "";
value.Get( fontFamily );
SetPlaceholderFontFamily( fontFamily );
}
- else if( key == PLACEHOLDER_FONT_STYLE )
+ else if( key == Toolkit::Text::PlaceHolder::Property::FONT_STYLE || key == PLACEHOLDER_FONT_STYLE )
{
SetFontStyleProperty( this, value, Text::FontStyle::PLACEHOLDER );
}
- else if( key == PLACEHOLDER_POINT_SIZE )
+ else if( key == Toolkit::Text::PlaceHolder::Property::POINT_SIZE || key == PLACEHOLDER_POINT_SIZE )
{
float pointSize;
value.Get( pointSize );
SetPlaceholderTextFontSize( pointSize, Text::Controller::POINT_SIZE );
}
}
- else if( key == PLACEHOLDER_PIXEL_SIZE )
+ else if( key == Toolkit::Text::PlaceHolder::Property::PIXEL_SIZE || key == PLACEHOLDER_PIXEL_SIZE )
{
float pixelSize;
value.Get( pixelSize );
SetPlaceholderTextFontSize( pixelSize, Text::Controller::PIXEL_SIZE );
}
}
- else if( key == PLACEHOLDER_ELLIPSIS )
+ else if( key == Toolkit::Text::PlaceHolder::Property::ELLIPSIS || key == PLACEHOLDER_ELLIPSIS )
{
bool ellipsis;
value.Get( ellipsis );
{
if( !mImpl->mEventData->mPlaceholderTextActive.empty() )
{
- map[ PLACEHOLDER_TEXT_FOCUSED ] = mImpl->mEventData->mPlaceholderTextActive;
+ map[ Text::PlaceHolder::Property::TEXT_FOCUSED ] = mImpl->mEventData->mPlaceholderTextActive;
}
if( !mImpl->mEventData->mPlaceholderTextInactive.empty() )
{
- map[ PLACEHOLDER_TEXT ] = mImpl->mEventData->mPlaceholderTextInactive;
+ map[ Text::PlaceHolder::Property::TEXT ] = mImpl->mEventData->mPlaceholderTextInactive;
}
- map[ PLACEHOLDER_COLOR ] = mImpl->mEventData->mPlaceholderTextColor;
- map[ PLACEHOLDER_FONT_FAMILY ] = GetPlaceholderFontFamily();
+ map[ Text::PlaceHolder::Property::COLOR ] = mImpl->mEventData->mPlaceholderTextColor;
+ map[ Text::PlaceHolder::Property::FONT_FAMILY ] = GetPlaceholderFontFamily();
Property::Value fontStyleMapGet;
GetFontStyleProperty( this, fontStyleMapGet, Text::FontStyle::PLACEHOLDER );
- map[ PLACEHOLDER_FONT_STYLE ] = fontStyleMapGet;
+ map[ Text::PlaceHolder::Property::FONT_STYLE ] = fontStyleMapGet;
// Choose font size : POINT_SIZE or PIXEL_SIZE
if( !mImpl->mEventData->mIsPlaceholderPixelSize )
{
- map[ PLACEHOLDER_POINT_SIZE ] = GetPlaceholderTextFontSize( Text::Controller::POINT_SIZE );
+ map[ Text::PlaceHolder::Property::POINT_SIZE ] = GetPlaceholderTextFontSize( Text::Controller::POINT_SIZE );
}
else
{
- map[ PLACEHOLDER_PIXEL_SIZE ] = GetPlaceholderTextFontSize( Text::Controller::PIXEL_SIZE );
+ map[ Text::PlaceHolder::Property::PIXEL_SIZE ] = GetPlaceholderTextFontSize( Text::Controller::PIXEL_SIZE );
}
if( mImpl->mEventData->mPlaceholderEllipsisFlag )
{
- map[ PLACEHOLDER_ELLIPSIS ] = IsPlaceholderTextElideEnabled();
+ map[ Text::PlaceHolder::Property::ELLIPSIS ] = IsPlaceholderTextElideEnabled();
}
}
}
--- /dev/null
+#ifndef DALI_TOOLKIT_PLACEHOLDER_PROPERTIES_H
+#define DALI_TOOLKIT_PLACEHOLDER_PROPERTIES_H
+
+/*
+ * Copyright (c) 2017 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+/**
+ * @addtogroup dali_toolkit_controls
+ * @{
+ */
+
+namespace Text
+{
+
+/**
+ * @brief Placeholder text used by Text controls to show text before any text inputed.
+ * @SINCE_1_2.62
+ *
+ */
+namespace PlaceHolder
+{
+
+/**
+ * @brief Placeholder text Propeties used by Text controls to show placeholder
+ * @SINCE_1_2.62
+ *
+ */
+namespace Property
+{
+
+/**
+ * @brief The configurable settings for the Placeholder text.
+ * @SINCE_1_2.62
+ *
+ */
+enum Setting
+{
+ /**
+ * @brief The text to display as a placeholder.
+ * @details Name "text", type Property::STRING.
+ * @note Optional. If not provided then no placeholder text will be shown whilst control not focused.
+ * @SINCE_1_2.62
+ */
+ TEXT,
+
+ /**
+ * @brief The text to display as placeholder when focused.
+ * @details Name "textFocused", type Property::STRING.
+ * @note Optional. If not provided then no placeholder text will be shown when focused.
+ * @SINCE_1_2.62
+ */
+ TEXT_FOCUSED,
+
+ /**
+ * @brief The colour of the placeholder text.
+ * @details Name "color", type Property::VECTOR4.
+ * @note If color not provided then 80% white will be used.
+ * @SINCE_1_2.62
+ */
+ COLOR,
+
+ /**
+ * @brief The font family to be used for placeholder text.
+ * @details Name "fontFamily", type Property::STRING.
+ * @note Optional. Default font family used if not provided.
+ * @SINCE_1_2.62
+ */
+ FONT_FAMILY,
+
+ /**
+ * @brief The font style to be used for placeholder text.
+ * @details Name "fontStyle", type Property::MAP.
+ *
+ * Example usage:
+ * @code
+ * Property::Map fontStylePropertyMap;
+ * fontStylePropertyMap.Insert( "weight", "bold" );
+ * fontStylePropertyMap.Insert( "width", "condensed" );
+ * fontStylePropertyMap.Insert( "slant", "italic" );
+ * ...
+ * placeholderPropertyMap[ Text::PlaceHolder::Property::FONT_STYLE] = fontStylePropertyMap;
+ * @endcode
+ *
+ * @note Optional. Default font style used if not provided.
+ * @SINCE_1_2.62
+ */
+ FONT_STYLE,
+
+ /**
+ * @brief The font point size to be used.
+ * @details Name "pointSize", type Property::FLOAT.
+ * @note Optional. Not required if PIXEL_SIZE provided. If neither provided then the text control point size is used.
+ * @SINCE_1_2.62
+ */
+ POINT_SIZE,
+
+ /**
+ * @brief The font size in pixels to be used
+ * @details Name "pixelSize", type Property::FLOAT.
+ * @note Optional. Not required if POINT_SIZE provided. If neither provided then the text control point size is used.
+ * @SINCE_1_2.62
+ */
+ PIXEL_SIZE,
+
+ /**
+ * @brief If ellipsis should be used when placeholder is too long.
+ * @details Name "ellipsis", type Property::BOOLEAN
+ * @note Optional. Default is false.
+ * @SINCE_1_2.62
+ */
+ ELLIPSIS
+};
+
+} // namespace Property
+
+} // namespace PlaceHolder
+
+
+} // namespace Text
+
+/**
+ * @}
+ */
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif //DALI_TOOLKIT_PLACEHOLDER_PROPERTIES_H
* Example:
* @code
* Property::Map propertyMap;
- * propertyMap["placeholderText"] = "Setting Placeholder Text";
- * propertyMap["placeholderTextFocused"] = "Setting Placeholder Text Focused";
- * propertyMap["placeholderColor"] = Color::RED;
- * propertyMap["placeholderFontFamily"] = "Arial";
- * propertyMap["placeholderPointSize"] = 12.0f;
+ * propertyMap["text"] = "Setting Placeholder Text";
+ * propertyMap["textFocused"] = "Setting Placeholder Text Focused";
+ * propertyMap["color"] = Color::RED;
+ * propertyMap["fontFamily"] = "Arial";
+ * propertyMap["pointSize"] = 12.0f;
*
* Property::Map fontStyleMap;
* fontStyleMap.Insert( "weight", "bold" );
* fontStyleMap.Insert( "width", "condensed" );
* fontStyleMap.Insert( "slant", "italic" );
- * propertyMap["placeholderFontStyle"] = fontStyleMap;
+ * propertyMap["fontStyle"] = fontStyleMap;
*
* editor.SetProperty( TextEditor::Property::PLACEHOLDER, propertyMap );
* @endcode
* Example Usage:
* @code
* Property::Map propertyMap;
- * propertyMap["placeholderText"] = "Setting Placeholder Text";
- * propertyMap["placeholderTextFocused"] = "Setting Placeholder Text Focused";
- * propertyMap["placeholderColor"] = Color::RED;
- * propertyMap["placeholderFontFamily"] = "Arial";
- * propertyMap["placeholderPointSize"] = 12.0f;
- * propertyMap["placeholderEllipsis"] = true;
+ * propertyMap[ Text::PlaceHolder::Property::TEXT ] = "Setting Placeholder Text";
+ * propertyMap[ Text::PlaceHolder::Property::TEXT_FOCUSED] = "Setting Placeholder Text Focused";
+ * propertyMap[ Text::PlaceHolder::Property::COLOR] = Color::RED;
+ * propertyMap[ Text::PlaceHolder::Property::FONT_FAMILY ] = "Arial";
+ * propertyMap[ Text::PlaceHolder::Property::POINT_SIZE ] = 12.0f;
+ * propertyMap[ Text::PlaceHolder::Property::ELLIPSIS ] = true;
*
* Property::Map fontStyleMap;
* fontStyleMap.Insert( "weight", "bold" );
* fontStyleMap.Insert( "width", "condensed" );
* fontStyleMap.Insert( "slant", "italic" );
- * propertyMap["placeholderFontStyle"] = fontStyleMap;
+ * propertyMap[ Text::PlaceHolder::Property::FONT_STYLE] = fontStyleMap;
*
* field.SetProperty( TextField::Property::PLACEHOLDER, propertyMap );
* @endcode
public_api_text_controls_header_files = \
$(public_api_src_dir)/controls/text-controls/hidden-input-properties.h \
+ $(public_api_src_dir)/controls/text-controls/placeholder-properties.h \
$(public_api_src_dir)/controls/text-controls/text-editor.h \
$(public_api_src_dir)/controls/text-controls/text-label.h \
$(public_api_src_dir)/controls/text-controls/text-field.h