Shortcut check for markup in a string, before attempting to parse and split the strin... 50/19450/1
authorRichard Underhill <r.underhill@partner.samsung.com>
Mon, 7 Apr 2014 14:37:15 +0000 (15:37 +0100)
committerVictor Cebollada <v.cebollada@samsung.com>
Fri, 11 Apr 2014 14:36:55 +0000 (15:36 +0100)
[Issue#] N/A

[Problem]

[Cause]

[Solution] Avoids stylestack if no markup
Markup processing on text view and text input must now be specifically
enabled via the SetMarkupProcessingEnabled( true )

Change-Id: Ide2f77c644c3bec42f71d3f3963f1f9c2584a353
Signed-off-by: Richard Underhill <r.underhill@partner.samsung.com>
16 files changed:
automated-tests/dali-internal-test-suite/text-view/utc-Dali-TextView-HelperAndDebug.cpp
automated-tests/dali-internal-test-suite/text-view/utc-Dali-TextView-Processor.cpp
automated-tests/dali-internal-test-suite/text-view/utc-Dali-TextView-Relayout-Utilities.cpp
automated-tests/dali-internal-test-suite/text-view/utc-Dali-TextView.cpp
automated-tests/dali-test-suite/text-view/utc-Dali-MarkupProcessor.cpp
automated-tests/dali-test-suite/text-view/utc-Dali-TextView.cpp
capi/dali-toolkit/public-api/controls/text-input/text-input.h
capi/dali-toolkit/public-api/controls/text-view/text-view.h
capi/dali-toolkit/public-api/markup-processor/markup-processor.h
dali-toolkit/internal/controls/text-input/text-input-impl.cpp
dali-toolkit/internal/controls/text-input/text-input-impl.h
dali-toolkit/internal/controls/text-view/text-view-impl.cpp
dali-toolkit/internal/controls/text-view/text-view-impl.h
dali-toolkit/public-api/controls/text-input/text-input.cpp
dali-toolkit/public-api/controls/text-view/text-view.cpp
dali-toolkit/public-api/markup-processor/markup-processor.cpp

index 494039b..118d2f4 100644 (file)
@@ -85,7 +85,7 @@ bool TestGetIndicesFromGlobalCharacterIndex( const std::string& description,
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -277,7 +277,7 @@ static void UtcDaliTextViewDebugCouts()
   Toolkit::Internal::TextView::RelayoutData relayoutData;
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( std::string( "Hello world\nhello world" ), inputStyledText );
+  MarkupProcessor::GetStyledTextArray( std::string( "Hello world\nhello world" ), inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
index 8f9a85e..90fed94 100644 (file)
@@ -48,7 +48,7 @@ bool TestBeginsRightToLeftCharacter( const std::string& description, const std::
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( input, styledText );
+  MarkupProcessor::GetStyledTextArray( input, styledText, true );
 
   const bool ret = ( result == TextProcessor::BeginsRightToLeftCharacter( styledText ) );
 
@@ -74,7 +74,7 @@ bool TestContainsRightToLeftCharacter( const std::string& description, const std
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( input, styledText );
+  MarkupProcessor::GetStyledTextArray( input, styledText, true );
 
   const bool ret = ( result == TextProcessor::ContainsRightToLeftCharacter( styledText ) );
 
@@ -102,7 +102,7 @@ bool TestFindNearestWord( const std::string& description, const std::string& inp
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( input, styledText );
+  MarkupProcessor::GetStyledTextArray( input, styledText, true );
 
   std::size_t start;
   std::size_t end;
@@ -132,7 +132,7 @@ bool TestSplitInLines( const SplitInLinesTest& test, const char* location )
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( test.inputText, styledText );
+  MarkupProcessor::GetStyledTextArray( test.inputText, styledText, true );
 
   std::vector<MarkupProcessor::StyledTextArray> lines;
 
@@ -163,7 +163,7 @@ bool TestSplitInWords( const SplitInWordsTest& test, const char* location )
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( test.inputText, styledText );
+  MarkupProcessor::GetStyledTextArray( test.inputText, styledText, true );
 
   std::vector<MarkupProcessor::StyledTextArray> words;
 
index 9b5ddef..5a5aa26 100644 (file)
@@ -69,7 +69,7 @@ bool TestCalculateSubLineLayout( const CalculateSubLineLayoutTest& test,  const
 
   // Create styled text.
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( test.inputLine, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( test.inputLine, inputStyledText, true );
 
   // Create styled text layout info.
   Toolkit::Internal::TextView::RelayoutData relayoutData;
index 188377b..83d39a8 100644 (file)
@@ -535,7 +535,7 @@ bool TestSplitWord( const std::string& description, const std::string& input, co
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -563,7 +563,7 @@ bool TestSplitWord( const std::string& description, const std::string& input, co
   TextViewProcessor::TextLayoutInfo& firstResultLayout( firstRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray firstResultStyledText;
-  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText );
+  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( firstResultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -591,7 +591,7 @@ bool TestSplitWord( const std::string& description, const std::string& input, co
   TextViewProcessor::TextLayoutInfo& lastResultLayout( lastRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray lastResultStyledText;
-  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText );
+  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( lastResultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -667,7 +667,7 @@ bool TestSplitWordGroup( const std::string& description,
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -691,7 +691,7 @@ bool TestSplitWordGroup( const std::string& description,
   TextViewProcessor::TextLayoutInfo& firstResultLayout( firstRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray firstResultStyledText;
-  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText );
+  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( firstResultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -715,7 +715,7 @@ bool TestSplitWordGroup( const std::string& description,
   TextViewProcessor::TextLayoutInfo& lastResultLayout( lastRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray lastResultStyledText;
-  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText );
+  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( lastResultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -792,7 +792,7 @@ bool TestSplitLine( const std::string& description,
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -801,7 +801,8 @@ bool TestSplitLine( const std::string& description,
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      relayoutData );
 
   // Get the input line
@@ -818,7 +819,7 @@ bool TestSplitLine( const std::string& description,
   TextViewProcessor::TextLayoutInfo& firstResultLayout( firstRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray firstResultStyledText;
-  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText );
+  MarkupProcessor::GetStyledTextArray( firstResult, firstResultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( firstResultStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -827,7 +828,8 @@ bool TestSplitLine( const std::string& description,
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      firstRelayoutData );
 
   // Get the first result line
@@ -844,7 +846,7 @@ bool TestSplitLine( const std::string& description,
   TextViewProcessor::TextLayoutInfo& lastResultLayout( lastRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray lastResultStyledText;
-  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText );
+  MarkupProcessor::GetStyledTextArray( lastResult, lastResultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( lastResultStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -853,7 +855,8 @@ bool TestSplitLine( const std::string& description,
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..."),
+                                                                                    true ),
                                      lastRelayoutData );
 
   // Get the last result line
@@ -912,7 +915,7 @@ bool TestMergeWords( const std::string& description, const std::string& inputFir
   TextViewProcessor::TextLayoutInfo& inputFirstLayout( firstRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputFirstStyledText;
-  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText );
+  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputFirstStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -939,7 +942,7 @@ bool TestMergeWords( const std::string& description, const std::string& inputFir
   TextViewProcessor::TextLayoutInfo& inputLastLayout( lastRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputLastStyledText;
-  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText );
+  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputLastStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -966,7 +969,7 @@ bool TestMergeWords( const std::string& description, const std::string& inputFir
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1022,7 +1025,7 @@ bool TestMergeGroupsOfWords( const std::string& description, const std::string&
   TextViewProcessor::TextLayoutInfo& inputFirstLayout( firstRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputFirstStyledText;
-  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText );
+  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputFirstStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1045,7 +1048,7 @@ bool TestMergeGroupsOfWords( const std::string& description, const std::string&
   TextViewProcessor::TextLayoutInfo& inputLastLayout( lastRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputLastStyledText;
-  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText );
+  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputLastStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1068,7 +1071,7 @@ bool TestMergeGroupsOfWords( const std::string& description, const std::string&
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1121,7 +1124,7 @@ bool TestMergeLines( const std::string& description, const std::string& inputFir
   TextViewProcessor::TextLayoutInfo& inputFirstLayout( firstRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputFirstStyledText;
-  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText );
+  MarkupProcessor::GetStyledTextArray( inputFirst, inputFirstStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputFirstStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1130,7 +1133,8 @@ bool TestMergeLines( const std::string& description, const std::string& inputFir
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      firstRelayoutData );
 
   // Get the input word
@@ -1146,7 +1150,7 @@ bool TestMergeLines( const std::string& description, const std::string& inputFir
   TextViewProcessor::TextLayoutInfo& inputLastLayout( lastRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputLastStyledText;
-  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText );
+  MarkupProcessor::GetStyledTextArray( inputLast, inputLastStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputLastStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1155,7 +1159,8 @@ bool TestMergeLines( const std::string& description, const std::string& inputFir
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      lastRelayoutData );
 
   // Get the input word
@@ -1171,7 +1176,7 @@ bool TestMergeLines( const std::string& description, const std::string& inputFir
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1180,7 +1185,8 @@ bool TestMergeLines( const std::string& description, const std::string& inputFir
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      resultRelayoutData );
 
   // Get the result word
@@ -1226,7 +1232,7 @@ bool TestRemoveCharactersFromWord( const std::string& description, const std::st
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1253,7 +1259,7 @@ bool TestRemoveCharactersFromWord( const std::string& description, const std::st
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1311,7 +1317,7 @@ bool TestRemoveWordsFromGroup( const std::string& description, const std::string
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1334,7 +1340,7 @@ bool TestRemoveWordsFromGroup( const std::string& description, const std::string
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -1390,7 +1396,7 @@ bool TestRemoveGroupsFromLine( const std::string& description, const std::string
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1399,7 +1405,8 @@ bool TestRemoveGroupsFromLine( const std::string& description, const std::string
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      relayoutData );
 
   // Get the input line
@@ -1415,7 +1422,7 @@ bool TestRemoveGroupsFromLine( const std::string& description, const std::string
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1424,7 +1431,8 @@ bool TestRemoveGroupsFromLine( const std::string& description, const std::string
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      resultRelayoutData );
 
   // Get the result line
@@ -1483,7 +1491,7 @@ bool TestUpdateTextInfo( const std::string& description,
   TextViewProcessor::TextLayoutInfo& inputLayout( relayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray inputStyledText;
-  MarkupProcessor::GetStyledTextArray( input, inputStyledText );
+  MarkupProcessor::GetStyledTextArray( input, inputStyledText, true );
 
   TextViewProcessor::CreateTextInfo( inputStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1492,7 +1500,8 @@ bool TestUpdateTextInfo( const std::string& description,
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      relayoutData );
 
   // Create layout info for the result.
@@ -1500,7 +1509,7 @@ bool TestUpdateTextInfo( const std::string& description,
   TextViewProcessor::TextLayoutInfo& resultLayout( resultRelayoutData.mTextLayoutInfo );
 
   MarkupProcessor::StyledTextArray resultStyledText;
-  MarkupProcessor::GetStyledTextArray( result, resultStyledText );
+  MarkupProcessor::GetStyledTextArray( result, resultStyledText, true );
 
   TextViewProcessor::CreateTextInfo( resultStyledText,
                                      Toolkit::Internal::TextView::LayoutParameters( Toolkit::TextView::SplitByNewLineChar,
@@ -1509,7 +1518,8 @@ bool TestUpdateTextInfo( const std::string& description,
                                                                                     static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                                     Toolkit::TextView::Center,
                                                                                     PointSize( lineHeightOffset ),
-                                                                                    std::string( "..." ) ),
+                                                                                    std::string( "..." ),
+                                                                                    true ),
                                      resultRelayoutData );
 
   // Choose operation and call appropiate UpdateTextInfo() method.
@@ -1519,14 +1529,15 @@ bool TestUpdateTextInfo( const std::string& description,
                                                                         static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                                                                         Toolkit::TextView::Center,
                                                                         PointSize( lineHeightOffset ),
-                                                                        std::string( "..." ) );
+                                                                        std::string( "..." ),
+                                                                        true );
 
   switch( operation )
   {
     case Insert:
     {
       MarkupProcessor::StyledTextArray inputStyledText;
-      MarkupProcessor::GetStyledTextArray( inputText, inputStyledText );
+      MarkupProcessor::GetStyledTextArray( inputText, inputStyledText, true );
 
       TextViewProcessor::UpdateTextInfo( position,
                                          inputStyledText,
@@ -1546,7 +1557,7 @@ bool TestUpdateTextInfo( const std::string& description,
     case Replace:
     {
       MarkupProcessor::StyledTextArray inputStyledText;
-      MarkupProcessor::GetStyledTextArray( inputText, inputStyledText );
+      MarkupProcessor::GetStyledTextArray( inputText, inputStyledText, true );
 
       TextViewProcessor::UpdateTextInfo( position,
                                          numberOfCharacters,
@@ -1667,7 +1678,7 @@ static void UtcDaliTextViewCreateTextInfo()
                     "\n" );
 
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText );
+  MarkupProcessor::GetStyledTextArray( text, styledText, true );
 
   TextViewProcessor::CreateTextInfo( styledText,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -2341,9 +2352,9 @@ static void UtcDaliTextViewMergeWord02()
   MarkupProcessor::StyledTextArray styledText01;
   MarkupProcessor::StyledTextArray styledText02;
   MarkupProcessor::StyledTextArray styledText03;
-  MarkupProcessor::GetStyledTextArray( text01, styledText01 );
-  MarkupProcessor::GetStyledTextArray( text02, styledText02 );
-  MarkupProcessor::GetStyledTextArray( text03, styledText03 );
+  MarkupProcessor::GetStyledTextArray( text01, styledText01, true );
+  MarkupProcessor::GetStyledTextArray( text02, styledText02, true );
+  MarkupProcessor::GetStyledTextArray( text03, styledText03, true );
 
   TextViewProcessor::CreateTextInfo( styledText01,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -2521,9 +2532,9 @@ static void UtcDaliTextViewMergeGroup02()
   MarkupProcessor::StyledTextArray styledText01;
   MarkupProcessor::StyledTextArray styledText02;
   MarkupProcessor::StyledTextArray styledText03;
-  MarkupProcessor::GetStyledTextArray( text01, styledText01 );
-  MarkupProcessor::GetStyledTextArray( text02, styledText02 );
-  MarkupProcessor::GetStyledTextArray( text03, styledText03 );
+  MarkupProcessor::GetStyledTextArray( text01, styledText01, true );
+  MarkupProcessor::GetStyledTextArray( text02, styledText02, true );
+  MarkupProcessor::GetStyledTextArray( text03, styledText03, true );
 
   TextViewProcessor::CreateTextInfo( styledText01,
                                      DEFAULT_LAYOUT_PARAMETERS,
@@ -2669,8 +2680,8 @@ static void UtcDaliTextViewMergeLine02()
   std::string text02( "hello world" );
   MarkupProcessor::StyledTextArray styledText01;
   MarkupProcessor::StyledTextArray styledText02;
-  MarkupProcessor::GetStyledTextArray( text01, styledText01 );
-  MarkupProcessor::GetStyledTextArray( text02, styledText02 );
+  MarkupProcessor::GetStyledTextArray( text01, styledText01, true );
+  MarkupProcessor::GetStyledTextArray( text02, styledText02, true );
 
   TextViewProcessor::CreateTextInfo( styledText01,
                                      DEFAULT_LAYOUT_PARAMETERS,
index 7e4e7e9..74116f7 100644 (file)
@@ -39,7 +39,7 @@ bool TestMarkupString( const std::string& input, const std::string& expectedResu
 {
   Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
 
-  GetStyledTextArray( input, styledTextArray );
+  GetStyledTextArray( input, styledTextArray, true );
   GetMarkupString( styledTextArray, result );
 
   return expectedResult == result;
@@ -121,48 +121,48 @@ static void UtcDaliMarkupProcessor()
   std::string markupString;
   Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
 
-  GetStyledTextArray( text1, styledTextArray );
+  GetStyledTextArray( text1, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text2, styledTextArray );
+  GetStyledTextArray( text2, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result2, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text3, styledTextArray );
+  GetStyledTextArray( text3, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result3, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text4, styledTextArray );
+  GetStyledTextArray( text4, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result4, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text5, styledTextArray );
+  GetStyledTextArray( text5, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result5, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text6, styledTextArray );
+  GetStyledTextArray( text6, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result6, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text7, styledTextArray );
+  GetStyledTextArray( text7, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result7, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text8, styledTextArray );
+  GetStyledTextArray( text8, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result8, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text9, styledTextArray );
+  GetStyledTextArray( text9, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
   DALI_TEST_EQUALS( result9, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text10, styledTextArray );
+  GetStyledTextArray( text10, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
 
   DALI_TEST_EQUALS( result10, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text11, styledTextArray );
+  GetStyledTextArray( text11, styledTextArray, true );
   GetMarkupString( styledTextArray, markupString );
 
   DALI_TEST_EQUALS( result11, markupString, TEST_LOCATION );
@@ -181,7 +181,7 @@ static void UtcDaliMarkupProcessorSetTextStyle01()
   std::string markupString;
   Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
 
-  GetStyledTextArray( text1, styledTextArray );
+  GetStyledTextArray( text1, styledTextArray, true );
 
   TextStyle style;
   style.SetItalics( true );
@@ -198,13 +198,13 @@ static void UtcDaliMarkupProcessorSetTextStyle01()
 
   DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text1, styledTextArray );
+  GetStyledTextArray( text1, styledTextArray, true );
   SetTextStyleToRange( styledTextArray, style, TextStyle::ALL, 0, text1.size() - 1 );
   GetMarkupString( styledTextArray, markupString );
 
   DALI_TEST_EQUALS( result1, markupString, TEST_LOCATION );
 
-  GetStyledTextArray( text1, styledTextArray );
+  GetStyledTextArray( text1, styledTextArray, true );
   SetTextStyleToRange( styledTextArray, style, TextStyle::ALL, 10, 19 );
   GetMarkupString( styledTextArray, markupString );
 
index 49b6e85..d5e8f3b 100644 (file)
@@ -165,7 +165,7 @@ static void UtcDaliTextViewNew()
   DALI_TEST_EQUALS( view1.GetText(), text, TEST_LOCATION );
 
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText );
+  MarkupProcessor::GetStyledTextArray( text, styledText, true );
 
   TextView view2 = TextView::New( styledText );
 
@@ -264,7 +264,7 @@ static void UtcDaliTextViewSetAndGetText()
   DALI_TEST_EQUALS( view.GetText(), str, TEST_LOCATION );
 
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( str, styledText );
+  MarkupProcessor::GetStyledTextArray( str, styledText, true );
 
   view.SetText( styledText );
   DALI_TEST_EQUALS( view.GetText(), str, TEST_LOCATION );
@@ -369,7 +369,7 @@ static void UtcDaliTextViewSetAndGetEllipsizeText()
 
   Toolkit::MarkupProcessor::StyledTextArray styledTextArray;
 
-  GetStyledTextArray( std::string( "..." ), styledTextArray );
+  GetStyledTextArray( std::string( "..." ), styledTextArray, true );
 
   textView.SetEllipsizeText( styledTextArray );
 
@@ -603,7 +603,7 @@ static void UtcDaliTextViewInsertRemoveText()
   std::string text("Hello ");
 
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText );
+  MarkupProcessor::GetStyledTextArray( text, styledText, true );
 
   TextView view = TextView::New( "world!" );
 
index 6905ecd..68cde3d 100644 (file)
@@ -524,6 +524,21 @@ public:
    */
   Vector2 GetScrollPosition() const;
 
+  /**
+   * @brief Sets whether markup processing should be carried out.
+   *
+   * @param[in] enable whether markup processing is carried out or not.
+   */
+  void SetMarkupProcessingEnabled( bool enable );
+
+  /**
+   * @brief Returns whether markup processing is enabled or not
+   *
+   * @return true is markup processing is enabled
+   */
+  bool IsMarkupProcessingEnabled() const;
+
+
 public: /* Signals */
 
   /// @brief Input Signal.
index 30ae3bc..1147c42 100644 (file)
@@ -580,6 +580,20 @@ public:
   bool IsSnapshotModeEnabled() const;
 
   /**
+   * @brief Sets whether markup processing should be carried out.
+   *
+   * @param[in] enable whether markup processing is carried out or not.
+   */
+  void SetMarkupProcessingEnabled( bool enable );
+
+  /**
+   * @brief Retrieves whether text-view is processing markup text
+   *
+   * @return \e true if text-view markup processing is enabled, otherwhise it returns \e false.
+   */
+  bool IsMarkupProcessingEnabled() const;
+
+  /**
    * @brief Enables or disables the text scroll.
    *
    * When scroll is enabled, snapshot mode will be enabled automatically. Equally, if scroll is disabled
index 705a79e..51240db 100644 (file)
@@ -126,8 +126,9 @@ typedef std::vector<StyledText> StyledTextArray;
  * It transform any pair CR+LF new line characters into a single LF new line character.
  * @param [in] markupString A string with style.
  * @param [out] styledTextArray A text array split in characters, each one with its style.
+ * @param [in] scanForMarkup If true will check to see string contains markup, else assume not
  */
-void GetStyledTextArray( const std::string& markupString, StyledTextArray& styledTextArray );
+void GetStyledTextArray( const std::string& markupString, StyledTextArray& styledTextArray, bool scanForMarkup );
 
 /**
  * @brief Creates a plain string from a text array (thus stripping the style meta).
index 2801042..69daef1 100644 (file)
@@ -326,7 +326,8 @@ TextInput::TextInput()
  mSelectTextOnCommit( false ),
  mUnderlinedPriorToPreEdit ( false ),
  mCommitByKeyInput( false ),
- mPlaceHolderSet( false )
+ mPlaceHolderSet( false ),
+ mMarkUpEnabled( false )
 {
   // Updates the line height accordingly with the input style.
   UpdateLineHeight();
@@ -364,7 +365,7 @@ std::string TextInput::GetMarkupText() const
 void TextInput::SetPlaceholderText( const std::string& placeHolderText )
 {
   // Get the placeholder styled text array from the markup string.
-  MarkupProcessor::GetStyledTextArray( placeHolderText, mStyledPlaceHolderText );
+  MarkupProcessor::GetStyledTextArray( placeHolderText, mStyledPlaceHolderText, IsMarkupProcessingEnabled() );
 
   if( mStyledText.empty() )
   {
@@ -406,7 +407,7 @@ void TextInput::SetText(const std::string& initialText)
 {
   DALI_LOG_INFO(gLogFilter, Debug::General, "SetText string[%s]\n", initialText.c_str() );
 
-  GetStyledTextArray( initialText, mStyledText );
+  GetStyledTextArray( initialText, mStyledText, IsMarkupProcessingEnabled() );
 
   if( mStyledText.empty() )
   {
@@ -4859,6 +4860,16 @@ bool TextInput::IsSnapshotModeEnabled() const
   return snapshotEnabled;
 }
 
+void TextInput::SetMarkupProcessingEnabled( bool enable )
+{
+  mMarkUpEnabled = enable;
+}
+
+bool TextInput::IsMarkupProcessingEnabled() const
+{
+  return mMarkUpEnabled;
+}
+
 void TextInput::SetScrollEnabled( bool enable )
 {
   if( mDisplayedTextView )
index 3f59538..e3a7608 100644 (file)
@@ -1279,6 +1279,20 @@ public:  // Public to allow internal testing.
   Vector2 GetScrollPosition() const;
 
   /**
+   * @brief Sets whether markup processing should be carried out.
+   *
+   * @param[in] enable whether markup processing is carried out or not.
+   */
+  void SetMarkupProcessingEnabled( bool enable );
+
+  /**
+   * @brief Returns whether markup processing is enabled or not
+   *
+   * @return true is markup processing is enabled
+   */
+  bool IsMarkupProcessingEnabled() const;
+
+  /**
    * Insert or replaces the given text in the given position. It checks if the text exceeds the maximum allowed number of characters
    * and if it fits in the text-input's boundaries.
    *
@@ -1427,6 +1441,7 @@ private:
   bool mCommitByKeyInput:1;              ///< Set if a commit is done by key input rather than automatically (usually when a space bar or enter is pressed).
 
   bool mPlaceHolderSet:1;                ///< Whether the place holder text is set.
+  bool mMarkUpEnabled:1;                 ///< enable to scan for mark-up
 
   Toolkit::TextInput::InputSignalV2                      mInputStartedSignalV2;              ///< Signal emitted when input starts
   Toolkit::TextInput::InputSignalV2                      mInputFinishedSignalV2;             ///< Signal emitted when input ends
index deda3d1..8082ce8 100644 (file)
@@ -136,7 +136,7 @@ void TextView::SetText( const std::string& text )
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText );
+  MarkupProcessor::GetStyledTextArray( text, styledText, IsMarkupProcessingEnabled() );
 
   // Calls SetText() with the styled text array.
   SetText( styledText );
@@ -172,7 +172,7 @@ void TextView::InsertTextAt( std::size_t position, const std::string& text )
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText );
+  MarkupProcessor::GetStyledTextArray( text, styledText, IsMarkupProcessingEnabled() );
 
   // Calls InsertTextAt() with the styled text array.
   InsertTextAt( position, styledText );
@@ -203,7 +203,7 @@ void TextView::ReplaceTextFromTo( const std::size_t position, const std::size_t
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( text, styledText );
+  MarkupProcessor::GetStyledTextArray( text, styledText, IsMarkupProcessingEnabled() );
 
   // Calls ReplaceTextFromTo() with the styled text array.
   ReplaceTextFromTo( position, numberOfCharacters, styledText );
@@ -536,7 +536,7 @@ void TextView::SetEllipsizeText( const std::string& ellipsizeText )
 {
   // Creates a styled text with the markup or plain string.
   MarkupProcessor::StyledTextArray styledText;
-  MarkupProcessor::GetStyledTextArray( ellipsizeText, styledText );
+  MarkupProcessor::GetStyledTextArray( ellipsizeText, styledText, IsMarkupProcessingEnabled() );
 
   SetEllipsizeText( styledText );
 }
@@ -738,6 +738,16 @@ bool TextView::IsSnapshotModeEnabled() const
   return mVisualParameters.mSnapshotModeEnabled;
 }
 
+void TextView::SetMarkupProcessingEnabled( bool enable )
+{
+  mMarkUpEnabled = enable;
+}
+
+bool TextView::IsMarkupProcessingEnabled() const
+{
+  return mMarkUpEnabled;
+}
+
 void TextView::SetScrollEnabled( const bool enable )
 {
   if( enable != mVisualParameters.mScrollEnabled )
@@ -842,11 +852,12 @@ TextView::LayoutParameters::LayoutParameters()
   mVerticalAlignment( Toolkit::Alignment::VerticalCenter ),
   mLineJustification( Toolkit::TextView::Left ),
   mLineHeightOffset( 0.f ),
-  mEllipsizeText()
+  mEllipsizeText(),
+  mMarkUpEnabled( false )
 {
   // Sets ellipsize text
   MarkupProcessor::StyledTextArray styledEllipsize;
-  MarkupProcessor::GetStyledTextArray( std::string( "..." ), mEllipsizeText );
+  MarkupProcessor::GetStyledTextArray( std::string( "..." ), mEllipsizeText, false );
 }
 
 TextView::LayoutParameters::LayoutParameters( const Toolkit::TextView::MultilinePolicy   multilinePolicy,
@@ -855,7 +866,8 @@ TextView::LayoutParameters::LayoutParameters( const Toolkit::TextView::Multiline
                                               const Toolkit::Alignment::Type             alignmentType,
                                               const Toolkit::TextView::LineJustification lineJustification,
                                               const float                                lineHeightOffset,
-                                              const std::string&                         ellipsizeText )
+                                              const std::string&                         ellipsizeText,
+                                              const bool                                 markUpEnabled )
 : mMultilinePolicy( multilinePolicy ),
   mWidthExceedPolicy( widthExceedPolicy ),
   mHeightExceedPolicy( heightExceedPolicy ),
@@ -863,7 +875,8 @@ TextView::LayoutParameters::LayoutParameters( const Toolkit::TextView::Multiline
   mVerticalAlignment(),
   mLineJustification( lineJustification ),
   mLineHeightOffset( lineHeightOffset ),
-  mEllipsizeText()
+  mEllipsizeText(),
+  mMarkUpEnabled( markUpEnabled )
 {
   // Sets alignment
   Toolkit::Alignment::Type horizontalAlignment( ( alignmentType & Toolkit::Alignment::HorizontalLeft ? Toolkit::Alignment::HorizontalLeft :
@@ -878,7 +891,7 @@ TextView::LayoutParameters::LayoutParameters( const Toolkit::TextView::Multiline
 
   // Sets ellipsize text
   MarkupProcessor::StyledTextArray styledEllipsize;
-  MarkupProcessor::GetStyledTextArray( ellipsizeText, mEllipsizeText );
+  MarkupProcessor::GetStyledTextArray( ellipsizeText, mEllipsizeText, mMarkUpEnabled );
 }
 
 TextView::LayoutParameters::LayoutParameters( const TextView::LayoutParameters& layoutParameters )
@@ -889,7 +902,8 @@ TextView::LayoutParameters::LayoutParameters( const TextView::LayoutParameters&
   mVerticalAlignment( layoutParameters.mVerticalAlignment ),
   mLineJustification( layoutParameters.mLineJustification ),
   mLineHeightOffset( layoutParameters.mLineHeightOffset ),
-  mEllipsizeText( layoutParameters.mEllipsizeText )
+  mEllipsizeText( layoutParameters.mEllipsizeText ),
+  mMarkUpEnabled( layoutParameters.mMarkUpEnabled )
 {
 }
 
@@ -903,6 +917,7 @@ TextView::LayoutParameters& TextView::LayoutParameters::operator=( const TextVie
   mLineJustification = layoutParameters.mLineJustification;
   mLineHeightOffset = layoutParameters.mLineHeightOffset;
   mEllipsizeText = layoutParameters.mEllipsizeText;
+  mMarkUpEnabled = layoutParameters.mMarkUpEnabled;
 
   return *this;
 }
@@ -990,7 +1005,8 @@ TextView::TextView()
                      static_cast<Toolkit::Alignment::Type>( Toolkit::Alignment::HorizontalCenter | Toolkit::Alignment::VerticalCenter ),
                      Toolkit::TextView::Left,
                      PointSize( 0.f ),
-                     std::string( "..." ) ),
+                     std::string( "..." ),
+                     false ),
   mVisualParameters(),
   mRelayoutData(),
   mRelayoutOperations( NO_RELAYOUT ),
@@ -1002,7 +1018,8 @@ TextView::TextView()
   mRenderTask(),
   mPanGestureDetector(),
   mLockPreviousSnapshotMode( false ),
-  mPreviousSnapshotModeEnabled( false )
+  mPreviousSnapshotModeEnabled( false ),
+  mMarkUpEnabled( false )
 {
   TextViewProcessor::CreateWordTextInfo( mLayoutParameters.mEllipsizeText,
                                          mRelayoutData.mTextLayoutInfo.mEllipsizeLayoutInfo );
index 2d35bcc..7493fcc 100644 (file)
@@ -278,6 +278,20 @@ public:
   bool IsSnapshotModeEnabled() const;
 
   /**
+   * @brief Sets whether markup processing should be carried out.
+   *
+   * @param[in] enable whether markup processing is carried out or not.
+   */
+  void SetMarkupProcessingEnabled( bool enable );
+
+  /**
+   * @brief Returns whether markup processing is enabled or not
+   *
+   * @return true is markup processing is enabled
+   */
+  bool IsMarkupProcessingEnabled() const;
+
+  /**
    * @copydoc SetScrollEnabled()
    */
   void SetScrollEnabled( bool enable );
@@ -555,7 +569,8 @@ public:
                       Toolkit::Alignment::Type               alignment,
                       Toolkit::TextView::LineJustification   lineJustification,
                       float                                  lineHeightOffset,
-                      const std::string&                     ellipsizeText );
+                      const std::string&                     ellipsizeText,
+                      const bool                             markUpEnabled );
 
     /**
      * Copy constructor
@@ -575,7 +590,8 @@ public:
     Toolkit::Alignment::Type             mVerticalAlignment;   ///< Stores the vertical alignment for the whole text.
     Toolkit::TextView::LineJustification mLineJustification;   ///< Stores the line justification.
     float                                mLineHeightOffset;    ///< Line height offset to be addded to the font line height (measured in PointSize).
-    MarkupProcessor::StyledTextArray     mEllipsizeText;       ///< Stores the ellipsize text.
+    MarkupProcessor::StyledTextArray     mEllipsizeText;       ///< Stores the ellipsize text
+    bool                                 mMarkUpEnabled:1;     ///< Is markup string scanning enabled
   };
 
   /**
@@ -689,6 +705,7 @@ private:
 
   bool                                            mLockPreviousSnapshotMode;      ///< Whether previous stored snapshot mode should be modified.
   bool                                            mPreviousSnapshotModeEnabled:1; ///< Stores the previous snapshot mode value.
+  bool                                            mMarkUpEnabled:1;               ///< enable to scan for mark-up
 
   Toolkit::TextView::ScrolledSignalV2             mScrolledSignalV2;              ///< Signal emitted when text is scrolled.
 
index 2914a1b..ff15d35 100644 (file)
@@ -353,6 +353,17 @@ TextInput::InputTextExceedBoundariesSignalV2& TextInput::InputTextExceedBoundari
   return GetImpl(*this).InputTextExceedBoundariesSignal();
 }
 
+void TextInput::SetMarkupProcessingEnabled( bool enable )
+{
+  return GetImpl( *this ).SetMarkupProcessingEnabled( enable );
+}
+
+bool TextInput::IsMarkupProcessingEnabled() const
+{
+  return GetImpl( *this ).IsMarkupProcessingEnabled();
+}
+
+
 TextInput::TextInput( Dali::Internal::CustomActor* internal )
 : Control( internal )
 {
index f03d94a..f785e10 100644 (file)
@@ -366,6 +366,16 @@ TextView::ScrolledSignalV2& TextView::ScrolledSignal()
   return GetImpl( *this ).ScrolledSignal();
 }
 
+void TextView::SetMarkupProcessingEnabled( bool enable )
+{
+  return GetImpl( *this ).SetMarkupProcessingEnabled( enable );
+}
+
+bool TextView::IsMarkupProcessingEnabled() const
+{
+  return GetImpl( *this ).IsMarkupProcessingEnabled();
+}
+
 TextView::TextView( Internal::TextView& implementation )
 : Control( implementation )
 {
index 41a070e..ed4cc57 100644 (file)
@@ -542,10 +542,52 @@ bool IsTag( std::string::const_iterator& it, const std::string::const_iterator&
 
 } // namespace
 
-void GetStyledTextArray( const std::string& markupString, StyledTextArray& styledTextArray )
+static inline bool HasMarkup( const std::string& markupString )
+{
+  // Reset counters
+  unsigned int lessThanCount = 0;
+  unsigned int greaterThanCount = 0;
+
+  // Check to see if any markup command surrounds are of equal number and not zero
+  for ( std::string::const_iterator it = markupString.begin(); it != markupString.end(); ++it )
+  {
+    if ( *it == LESS_THAN )
+    {
+      lessThanCount++;
+    }
+    else
+    {
+      if ( *it == GREATER_THAN )
+      {
+        greaterThanCount++;
+      }
+      else
+      {
+        if ( *it == BACK_SLASH )
+        {
+          return true;
+        }
+      }
+    }
+  }
+  if ( !lessThanCount || !greaterThanCount || lessThanCount != greaterThanCount )
+  {
+    return false;
+  }
+  return true;
+}
+
+void GetStyledTextArray( const std::string& markupString, StyledTextArray& styledTextArray, bool scanForMarkup )
 {
   styledTextArray.clear();
 
+  // Scan markup ( if necessary ) to see if the string contains any change in style from default?
+  if ( !scanForMarkup || !HasMarkup( markupString ) )
+  {
+    styledTextArray.push_back( StyledText( Text( markupString ), TextStyle() ) );
+    return;
+  }
+
   TextStyle defaultStyle;
   std::stack<TextStyle> styleStack;