TextInput Popup border colour styling and missing offset property registration. 70/24170/1
authorAgnelo Vaz <agnelo.vaz@samsung.com>
Tue, 17 Jun 2014 14:10:11 +0000 (15:10 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Tue, 8 Jul 2014 17:47:09 +0000 (18:47 +0100)
[problem]      Scripting can not be used to change the border colour of the popup
[solution]     Add Property for border colour

Change-Id: I99f45fee20c1ba26c75155cae53e924a09fd802f
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
base/dali-toolkit/internal/controls/text-input/text-input-impl.cpp
base/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp
base/dali-toolkit/internal/controls/text-input/text-input-popup-impl.h
base/dali-toolkit/styles/tizen-dark-theme.json
capi/dali-toolkit/public-api/controls/text-input/text-input.h

index fe54de2..fe7964c 100644 (file)
@@ -200,15 +200,19 @@ namespace Toolkit
 const Property::Index TextInput::HIGHLIGHT_COLOR_PROPERTY                     = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX;
 const Property::Index TextInput::CUT_AND_PASTE_COLOR_PROPERTY                 = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+1;
 const Property::Index TextInput::CUT_AND_PASTE_PRESSED_COLOR_PROPERTY         = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+2;
-
-const Property::Index TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY        = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+3;
-const Property::Index TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY       = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+4;
-const Property::Index TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY      = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+5;
-const Property::Index TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY     = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+6;
-const Property::Index TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+7;
-const Property::Index TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY  = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+8;
-
-const Property::Index TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY             = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+9;
+const Property::Index TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY          = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+3;
+const Property::Index TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY            = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+4;
+const Property::Index TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY    = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+5;
+const Property::Index TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY            = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+6;
+const Property::Index TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY    = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+7;
+const Property::Index TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY        = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+8;
+const Property::Index TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY       = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+9;
+const Property::Index TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY      = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+10;
+const Property::Index TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY     = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+11;
+const Property::Index TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+12;
+const Property::Index TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY  = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+13;
+
+const Property::Index TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY             = Internal::TextInput::TEXTINPUT_PROPERTY_START_INDEX+14;
 
 namespace Internal
 {
@@ -235,13 +239,18 @@ SignalConnectorType signalConnector6( typeRegistration, Toolkit::TextInput::SIGN
 PropertyRegistration property1( typeRegistration, "highlight-color",  Toolkit::TextInput::HIGHLIGHT_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
 PropertyRegistration property2( typeRegistration, "cut-and-paste-bg-color",  Toolkit::TextInput::CUT_AND_PASTE_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
 PropertyRegistration property3( typeRegistration, "cut-and-paste-pressed-color",  Toolkit::TextInput::CUT_AND_PASTE_PRESSED_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
-PropertyRegistration property4( typeRegistration, "cut-button-position-priority",  Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
-PropertyRegistration property5( typeRegistration, "copy-button-position-priority",  Toolkit::TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
-PropertyRegistration property6( typeRegistration, "paste-button-position-priority",  Toolkit::TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
-PropertyRegistration property7( typeRegistration, "select-button-position-priority",  Toolkit::TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
-PropertyRegistration property8( typeRegistration, "select-all-button-position-priority",  Toolkit::TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
-PropertyRegistration property9( typeRegistration, "clipboard-button-position-priority",  Toolkit::TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
-
+PropertyRegistration property4( typeRegistration, "cut-and-paste-icon-color",  Toolkit::TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property5( typeRegistration, "cut-and-paste-icon-pressed-color",  Toolkit::TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property6( typeRegistration, "cut-and-paste-text-color",  Toolkit::TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property7( typeRegistration, "cut-and-paste-text-pressed-color",  Toolkit::TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property8( typeRegistration, "cut-and-paste-border-color",  Toolkit::TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property9( typeRegistration, "cut-button-position-priority",  Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property10( typeRegistration, "copy-button-position-priority",  Toolkit::TextInput::COPY_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property11( typeRegistration, "paste-button-position-priority",  Toolkit::TextInput::PASTE_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property12( typeRegistration, "select-button-position-priority",  Toolkit::TextInput::SELECT_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property13( typeRegistration, "select-all-button-position-priority",  Toolkit::TextInput::SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property14( typeRegistration, "clipboard-button-position-priority",  Toolkit::TextInput::CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY, Property::UNSIGNED_INTEGER, &TextInput::SetProperty, &TextInput::GetProperty );
+PropertyRegistration property15( typeRegistration, "popup-offset-from-text", Toolkit::TextInput::POP_UP_OFFSET_FROM_TEXT_PROPERTY, Property::VECTOR4, &TextInput::SetProperty, &TextInput::GetProperty );
 
 // [TextInput::HighlightInfo] /////////////////////////////////////////////////
 
@@ -5178,6 +5187,31 @@ void TextInput::SetProperty( BaseObject* object, Property::Index propertyIndex,
         textInputImpl.mPopUpPanel.SetCutPastePopUpPressedColor( value.Get< Vector4 >() );
         break;
       }
+      case Toolkit::TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopUpPanel.SetCutPastePopUpBorderColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopUpPanel.SetCutPastePopUpIconColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopUpPanel.SetCutPastePopUpIconPressedColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopUpPanel.SetCutPastePopUpTextColor( value.Get< Vector4 >() );
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY:
+      {
+        textInputImpl.mPopUpPanel.SetCutPastePopUpTextPressedColor( value.Get< Vector4 >() );
+        break;
+      }
       case Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY:
       {
         textInputImpl.mPopUpPanel.SetButtonPriorityPosition( TextInputPopup::ButtonsCut, value.Get<unsigned int>() );
@@ -5244,6 +5278,31 @@ Property::Value TextInput::GetProperty( BaseObject* object, Property::Index prop
         value = textInputImpl.mPopUpPanel.GetCutPastePopUpPressedColor();
         break;
       }
+      case Toolkit::TextInput::CUT_AND_PASTE_BORDER_COLOR_PROPERTY :
+      {
+        value = textInputImpl.mPopUpPanel.GetCutPastePopUpBorderColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopUpPanel.GetCutPastePopUpIconColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopUpPanel.GetCutPastePopUpIconPressedColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopUpPanel.GetCutPastePopUpTextColor();
+        break;
+      }
+      case Toolkit::TextInput::CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY:
+      {
+        value = textInputImpl.mPopUpPanel.GetCutPastePopUpTextPressedColor();
+        break;
+      }
       case Toolkit::TextInput::CUT_BUTTON_POSITION_PRIORITY_PROPERTY:
       {
         value = textInputImpl.mPopUpPanel.GetButtonPriorityPosition( TextInputPopup::ButtonsCut );
index bd7132e..79f49d3 100644 (file)
@@ -34,7 +34,11 @@ namespace {
 const Vector4 DEFAULT_POPUP_BACKGROUND( Vector4( .20f, 0.29f, 0.44f, 1.0f ) );
 const Vector4 DEFAULT_POPUP_BUTTON_PRESSED( Vector4( 0.07f, 0.10f, 0.17f, 1.0f ) );
 const Vector4 DEFAULT_BORDER_COLOR( Vector4( 0.36f, 0.45f, 0.59f, 1.0f ) );
-const Vector3 POPUP_BORDER( Vector3(1.0f, 1.0f, 0.0f) );
+const Vector4 DEFAULT_POPUP_ICON( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector4 DEFAULT_POPUP_ICON_PRESSED( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector4 DEFAULT_POPUP_TEXT( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector4 DEFAULT_POPUP_TEXT_PRESSED( Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );
+const Vector3 POPUP_BORDER( Vector3( 1.0f, 1.0f, 0.0f ) );
 
 /* Functionality in place to have the end buttons using different images to inner button.
  * Supply a centre image and then a left and right image, the centre image can have straight ends while
@@ -44,6 +48,7 @@ const Vector3 POPUP_BORDER( Vector3(1.0f, 1.0f, 0.0f) );
 // Popup: Tails
 const char* DEFAULT_POPUP_TAIL_BOTTOM( DALI_IMAGE_DIR "popup_bubble_tail_bottom.png" );
 const char* DEFAULT_POPUP_TAIL_BOTTOM_OUTLINE( DALI_IMAGE_DIR "popup_bubble_tail_bottom_line.png" );
+const float TAIL_Y_POSITION( -1.5f );
 
 // Popup: Vertical Constraint
 // TODO: Remove - this should come from application - it is not possible to get the
@@ -237,6 +242,10 @@ TextInputPopup::TextInputPopup()
   mCutPasteButtonsColor( DEFAULT_POPUP_BACKGROUND ),
   mCutPasteButtonsPressedColor( DEFAULT_POPUP_BUTTON_PRESSED ),
   mBorderColor( DEFAULT_BORDER_COLOR ),
+  mCutPasteIconsColor( DEFAULT_POPUP_ICON ),
+  mCutPasteIconsPressedColor( DEFAULT_POPUP_ICON_PRESSED ),
+  mCutPasteTextsColor( DEFAULT_POPUP_TEXT ),
+  mCutPasteTextsPressedColor( DEFAULT_POPUP_TEXT_PRESSED ),
   mSelectOptionPriority(1),
   mSelectAllOptionPriority(2),
   mCutOptionPriority(3),
@@ -379,7 +388,7 @@ Toolkit::TextView TextInputPopup::CreateOptionText( const MarkupProcessor::Style
   return label;
 }
 
-ImageActor TextInputPopup::CreateOptionIcon( Image iconImage )
+ImageActor TextInputPopup::CreateOptionIcon( Image iconImage, const Vector4& color )
 {
   ImageActor icon = ImageActor::New( iconImage );
 
@@ -387,6 +396,7 @@ ImageActor TextInputPopup::CreateOptionIcon( Image iconImage )
   icon.SetParentOrigin( ParentOrigin::TOP_CENTER );
   icon.SetAnchorPoint( AnchorPoint::TOP_CENTER );
   icon.SetPosition( 0.0f, ICON_POSITION_OFFSET );
+  icon.SetColor( color );
 
   return icon;
 }
@@ -432,6 +442,7 @@ void TextInputPopup::CreateDivider()
     divider.SetParentOrigin( ParentOrigin::TOP_LEFT );
     divider.SetAnchorPoint( AnchorPoint::TOP_LEFT );
     divider.SetPosition( Vector3( mContentSize.width, POPUP_TEXT_OFFSET.y, 0.0f ) );
+    divider.SetColor( mBorderColor );
     // Keep track of all the dividers. As their height's need to be updated to the max. of all
     // buttons currently added.
     mDividerContainer.push_back(divider);
@@ -568,6 +579,7 @@ void TextInputPopup::AddOption(const std::string& name, const std::string& capti
   // 1. Add text.
   TextStyle style;
   style.SetFontPointSize( PointSize( DEFAULT_UI_FONT_SIZE ) );
+  style.SetTextColor( mCutPasteTextsColor );
   MarkupProcessor::StyledTextArray styledCaption;
   styledCaption.push_back( MarkupProcessor::StyledText( Text( caption ), style ) );
   Toolkit::TextView label = CreateOptionText( styledCaption );
@@ -588,7 +600,7 @@ void TextInputPopup::AddOption(const std::string& name, const std::string& capti
   button.SetPosition( Vector3( mContentSize.width, POPUP_BORDER.y, 0.0f ) );
 
   // 2. Add icon
-  ImageActor icon = CreateOptionIcon( iconImage );
+  ImageActor icon = CreateOptionIcon( iconImage, mCutPasteIconsColor );
 
   iconTextContainer.Add( icon );
 
@@ -598,9 +610,12 @@ void TextInputPopup::AddOption(const std::string& name, const std::string& capti
   Actor iconPressedTextContainer = Actor::New();
   iconPressedTextContainer.SetDrawMode( DrawMode::OVERLAY );
 
+  style.SetTextColor( mCutPasteTextsPressedColor );
+  styledCaption.clear();
+  styledCaption.push_back( MarkupProcessor::StyledText( Text( caption ), style ) );
   Toolkit::TextView pressedLabel = CreateOptionText( styledCaption );
   pressedLabel.SetSize( Min( buttonSize, TEXT_LABEL_MAX_SIZE ) );
-  ImageActor pressedIcon = CreateOptionIcon( iconImage );
+  ImageActor pressedIcon = CreateOptionIcon( iconImage, mCutPasteIconsPressedColor );
 
   iconPressedTextContainer.Add( pressedImageBg );
   iconPressedTextContainer.Add( pressedLabel );
@@ -664,7 +679,7 @@ void TextInputPopup::Show(bool animate)
   {
     mRootActor.SetSensitive( true );
 
-    mTail.SetPosition(Vector3( mPopupTailXPosition, 0.0f, 0.0f));
+    mTail.SetPosition(Vector3( mPopupTailXPosition, TAIL_Y_POSITION, 0.0f));
 
     if(mAnimation)
     {
@@ -729,6 +744,56 @@ const Vector4& TextInputPopup::GetCutPastePopUpPressedColor() const
   return mCutPasteButtonsPressedColor;
 }
 
+void TextInputPopup::SetCutPastePopUpBorderColor( const Vector4& color )
+{
+  mBorderColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopUpBorderColor() const
+{
+  return mBorderColor;
+}
+
+void TextInputPopup::SetCutPastePopUpIconColor( const Vector4& color )
+{
+  mCutPasteIconsColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopUpIconColor() const
+{
+  return mCutPasteIconsColor;
+}
+
+void TextInputPopup::SetCutPastePopUpIconPressedColor( const Vector4& color )
+{
+  mCutPasteIconsPressedColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopUpIconPressedColor()
+{
+  return mCutPasteIconsPressedColor;
+}
+
+void TextInputPopup::SetCutPastePopUpTextColor( const Vector4& color )
+{
+  mCutPasteTextsColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopUpTextColor()
+{
+  return mCutPasteTextsColor;
+}
+
+void TextInputPopup::SetCutPastePopUpTextPressedColor( const Vector4& color )
+{
+  mCutPasteTextsPressedColor = color;
+}
+
+const Vector4& TextInputPopup::GetCutPastePopUpTextPressedColor()
+{
+  return mCutPasteTextsPressedColor;
+}
+
 void TextInputPopup::TogglePopUpButtonOnOff( TextInputPopup::Buttons requiredButton, bool enable )
 {
   bool match ( false );
@@ -862,6 +927,8 @@ void TextInputPopup::AddPopupOptions()
   mRootActor.Add( mTail );
 
   Self().Add(mLayer);
+
+  mLayer.Lower();
 }
 
 void TextInputPopup::SetPopupBoundary( const Rect<float>& boundingRectangle )
index 3a5a415..4dd701b 100644 (file)
@@ -137,7 +137,7 @@ public:
    * @param[in] iconImage the image to be used
    * @return the newly created Image actor to be used as the icon
    */
-  ImageActor CreateOptionIcon( Image iconImage );
+  ImageActor CreateOptionIcon( Image iconImage, const Vector4& color );
 
   /**
    * Creates and sets up the popup background
@@ -229,6 +229,18 @@ public:
   const Vector4& GetCutPastePopUpPressedColor() const;
 
   /**
+   * Set the border color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopUpBorderColor( const Vector4& color );
+
+  /**
+   * Get the border color
+   * @return Vector4 the color of the border
+   */
+  const Vector4& GetCutPastePopUpBorderColor() const;
+
+  /**
    * Toggle if a popup button should be enabled (shown) or not
    * @param[in]  requiredButton Button Id to enable or disable
    * @param[in]  enable toggle to enable (true) or disable (false)
@@ -243,6 +255,54 @@ public:
   void SetButtonPriorityPosition( TextInputPopup::Buttons button, unsigned int priority );
 
   /**
+   * Set the icon color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopUpIconColor( const Vector4& color );
+
+  /**
+   * Get the popup icon color
+   * @return Vector4 the color of the popup icon
+   */
+  const Vector4& GetCutPastePopUpIconColor() const;
+
+  /**
+   * Set the pressed icon color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopUpIconPressedColor( const Vector4& color );
+
+  /**
+   * Get the popup pressed icon color
+   * @return Vector4 the color of the popup pressed icon
+   */
+  const Vector4& GetCutPastePopUpIconPressedColor();
+
+  /**
+   * Set the text color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopUpTextColor( const Vector4& color );
+
+  /**
+   * Get the popup text color
+   * @return Vector4 the color of the popup text
+   */
+  const Vector4& GetCutPastePopUpTextColor();
+
+  /**
+   * Set the pressed text color of the popup
+   * @param[in] color required color
+   */
+  void SetCutPastePopUpTextPressedColor( const Vector4& color );
+
+  /**
+   * Get the popup pressed text color
+   * @return Vector4 the color of the popup pressed text
+   */
+  const Vector4& GetCutPastePopUpTextPressedColor();
+
+  /**
    * Get the Button Priority Position
    * @param[in] button Button id to get priority of
    * @return the button priority, 1 is highest, 0 is not shown.
@@ -373,9 +433,13 @@ private:
 
   std::vector<ButtonRequirement> mOrderListOfButtons;        // List of buttons in the order to be displayed and a flag to indicate if needed.
 
-  Vector4           mCutPasteButtonsColor;  // Color of the cut and paste popup
-  Vector4           mCutPasteButtonsPressedColor;  // Color of the cut and paste buttons when pressed.
-  Vector4           mBorderColor; // Color of the border around the Cut and Paste Popup
+  Vector4           mCutPasteButtonsColor;        // Color of the cut and paste popup.
+  Vector4           mCutPasteButtonsPressedColor; // Color of the cut and paste buttons when pressed.
+  Vector4           mBorderColor;                 // Color of the border around the Cut and Paste Popup.
+  Vector4           mCutPasteIconsColor;          // Color of the popup icon.
+  Vector4           mCutPasteIconsPressedColor;   // Color of the popup icon when pressed.
+  Vector4           mCutPasteTextsColor;          // Color of the popup text.
+  Vector4           mCutPasteTextsPressedColor;   // Color of the popup text when pressed.
 
   Rect<float> mBoundingRect; // Boundary that Popup must stay within.
 
index 116a8f4..bcdc3e3 100644 (file)
@@ -36,6 +36,11 @@ distributing this software or its derivatives.
       "highlight-color":"F060",
       "cut-and-paste-bg-color":"B061L41",
       "cut-and-paste-pressed-color":"B061L41P",
+      "cut-and-paste-border-color":"B0623L2",
+      "cut-and-paste-icon-color":"T126",
+      "cut-and-paste-icon-pressed-color":"T126P",
+      "cut-and-paste-text-color":"T1221",
+      "cut-and-paste-text-pressed-color":"T1221P",
       "cut-button-position-priority":4,
       "copy-button-position-priority":3,
       "paste-button-position-priority":5,
@@ -44,4 +49,4 @@ distributing this software or its derivatives.
       "clipboard-button-position-priority":6
     }
   }
-}
\ No newline at end of file
+}
index 3768c55..57c51ba 100644 (file)
@@ -49,18 +49,23 @@ public:
 
   /// @name Properties
   /** @{ */
-  static const Property::Index HIGHLIGHT_COLOR_PROPERTY;              // Property, name "highlight-color", type VECTOR4
-  static const Property::Index CUT_AND_PASTE_COLOR_PROPERTY;          // Property, name "cut-and-paste-bg-color", type VECTOR4
-  static const Property::Index CUT_AND_PASTE_PRESSED_COLOR_PROPERTY;  // Property, name "cut-and-paste-pressed-color", type VECTOR4
-
-  static const Property::Index CUT_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "cut-button-position-priority", type unsigned int
-  static const Property::Index COPY_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "copy-button-position-priority", type unsigned int
-  static const Property::Index PASTE_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "paste-button-position-priority", type unsigned int
-  static const Property::Index SELECT_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "select-button-position-priority", type unsigned int
+  static const Property::Index HIGHLIGHT_COLOR_PROPERTY;                     // Property, name "highlight-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_COLOR_PROPERTY;                 // Property, name "cut-and-paste-bg-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_PRESSED_COLOR_PROPERTY;         // Property, name "cut-and-paste-pressed-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_BORDER_COLOR_PROPERTY;          // Property, name "cut-and-paste-border-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_ICON_COLOR_PROPERTY;            // Property, name "cut-and-paste-icon-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_ICON_PRESSED_COLOR_PROPERTY;    // Property, name "cut-and-paste-icon-pressed-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_TEXT_COLOR_PROPERTY;            // Property, name "cut-and-paste-text-color", type VECTOR4
+  static const Property::Index CUT_AND_PASTE_TEXT_PRESSED_COLOR_PROPERTY;    // Property, name "cut-and-paste-text-pressed-color", type VECTOR4
+
+  static const Property::Index CUT_BUTTON_POSITION_PRIORITY_PROPERTY;        // Property, name "cut-button-position-priority", type unsigned int
+  static const Property::Index COPY_BUTTON_POSITION_PRIORITY_PROPERTY;       // Property, name "copy-button-position-priority", type unsigned int
+  static const Property::Index PASTE_BUTTON_POSITION_PRIORITY_PROPERTY;      // Property, name "paste-button-position-priority", type unsigned int
+  static const Property::Index SELECT_BUTTON_POSITION_PRIORITY_PROPERTY;     // Property, name "select-button-position-priority", type unsigned int
   static const Property::Index SELECT_ALL_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "select-all-button-position-priority", type unsigned int
-  static const Property::Index CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "clipboard-button-position-priority", type unsigned int
+  static const Property::Index CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY;  // Property, name "clipboard-button-position-priority", type unsigned int
 
-  static const Property::Index POP_UP_OFFSET_FROM_TEXT_PROPERTY;       // Property, name "popup-offset-from-text", type VECTOR4
+  static const Property::Index POP_UP_OFFSET_FROM_TEXT_PROPERTY;             // Property, name "popup-offset-from-text", type VECTOR4
 
   /** @} */