Fix compile errors after removing boost function include from dali-core
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / slider / slider-impl.cpp
index 859926d..4c1b2fa 100755 (executable)
 #include <dali-toolkit/internal/controls/slider/slider-impl.h>
 
 // EXTERNAL INCLUDES
+#include <cstring> // for strcmp
 #include <sstream>
+#include <limits>
 #include <dali/public-api/events/touch-event.h>
 #include <dali/public-api/object/type-registry.h>
+#include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/images/resource-image.h>
 
 // INTERNAL INCLUDES
@@ -35,40 +38,46 @@ namespace Dali
 namespace Toolkit
 {
 
-// Properties
-const Property::Index Slider::LOWER_BOUND_PROPERTY             = Internal::Slider::SLIDER_PROPERTY_START_INDEX;
-const Property::Index Slider::UPPER_BOUND_PROPERTY             = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 1;
-
-const Property::Index Slider::VALUE_PROPERTY                   = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 2;
-const Property::Index Slider::HIT_REGION_PROPERTY              = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 3;
-const Property::Index Slider::BACKING_REGION_PROPERTY          = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 4;
-const Property::Index Slider::HANDLE_REGION_PROPERTY           = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 5;
-
-const Property::Index Slider::BACKING_IMAGE_NAME_PROPERTY      = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 6;
-const Property::Index Slider::HANDLE_IMAGE_NAME_PROPERTY       = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 7;
-const Property::Index Slider::PROGRESS_IMAGE_NAME_PROPERTY     = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 8;
-const Property::Index Slider::POPUP_IMAGE_NAME_PROPERTY        = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 9;
-const Property::Index Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY  = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 10;
-
-const Property::Index Slider::DISABLE_COLOR_PROPERTY           = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 11;
-const Property::Index Slider::POPUP_TEXT_COLOR_PROPERTY        = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 12;
-
-const Property::Index Slider::VALUE_PRECISION_PROPERTY         = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 13;
-
-const Property::Index Slider::SHOW_POPUP_PROPERTY              = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 14;
-const Property::Index Slider::SHOW_VALUE_PROPERTY              = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 15;
-
-const Property::Index Slider::ENABLED_PROPERTY                 = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 16;
-
-const Property::Index Slider::MARKS_PROPERTY                   = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 17;
-const Property::Index Slider::SNAP_TO_MARKS_PROPERTY           = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 18;
-const Property::Index Slider::MARK_TOLERANCE_PROPERTY          = Internal::Slider::SLIDER_PROPERTY_START_INDEX + 19;
-
 namespace Internal
 {
 
-namespace
+namespace // Unnamed namespace
+{
+
+BaseHandle Create()
 {
+  return Dali::Toolkit::Slider::New();
+}
+
+// Setup properties, signals and actions using the type-registry.
+DALI_TYPE_REGISTRATION_BEGIN( Toolkit::Slider, Toolkit::Control, Create )
+
+DALI_PROPERTY_REGISTRATION( Slider, "lower-bound",            FLOAT,    LOWER_BOUND            )
+DALI_PROPERTY_REGISTRATION( Slider, "upper-bound",            FLOAT,    UPPER_BOUND            )
+DALI_PROPERTY_REGISTRATION( Slider, "value",                  FLOAT,    VALUE                  )
+DALI_PROPERTY_REGISTRATION( Slider, "hit-region",             VECTOR2,  HIT_REGION             )
+DALI_PROPERTY_REGISTRATION( Slider, "backing-region",         VECTOR2,  BACKING_REGION         )
+DALI_PROPERTY_REGISTRATION( Slider, "handle-region",          VECTOR2,  HANDLE_REGION          )
+DALI_PROPERTY_REGISTRATION( Slider, "backing-image-name",     STRING,   BACKING_IMAGE_NAME     )
+DALI_PROPERTY_REGISTRATION( Slider, "handle-image-name",      STRING,   HANDLE_IMAGE_NAME      )
+DALI_PROPERTY_REGISTRATION( Slider, "progress-image-name",    STRING,   PROGRESS_IMAGE_NAME    )
+DALI_PROPERTY_REGISTRATION( Slider, "popup-image-name",       STRING,   POPUP_IMAGE_NAME       )
+DALI_PROPERTY_REGISTRATION( Slider, "popup-arrow-image-name", STRING,   POPUP_ARROW_IMAGE_NAME )
+DALI_PROPERTY_REGISTRATION( Slider, "disable-color",          VECTOR4,  DISABLE_COLOR          )
+DALI_PROPERTY_REGISTRATION( Slider, "popup-text-color",       VECTOR4,  POPUP_TEXT_COLOR       )
+DALI_PROPERTY_REGISTRATION( Slider, "value-precision",        INTEGER,  VALUE_PRECISION        )
+DALI_PROPERTY_REGISTRATION( Slider, "show-popup",             BOOLEAN,  SHOW_POPUP             )
+DALI_PROPERTY_REGISTRATION( Slider, "show-value",             BOOLEAN,  SHOW_VALUE             )
+DALI_PROPERTY_REGISTRATION( Slider, "enabled",                BOOLEAN,  ENABLED                )
+DALI_PROPERTY_REGISTRATION( Slider, "marks",                  ARRAY,    MARKS                  )
+DALI_PROPERTY_REGISTRATION( Slider, "snap-to-marks",          BOOLEAN,  SNAP_TO_MARKS          )
+DALI_PROPERTY_REGISTRATION( Slider, "mark-tolerance",         FLOAT,    MARK_TOLERANCE         )
+
+DALI_SIGNAL_REGISTRATION(   Slider, "value-changed",                    SIGNAL_VALUE_CHANGED   )
+DALI_SIGNAL_REGISTRATION(   Slider, "mark",                             SIGNAL_MARK            )
+
+DALI_TYPE_REGISTRATION_END()
+
 const float BACKING_Z = -0.1f;
 const float PROGRESS_Z = 0.1f;
 const float HANDLE_Z = 1.0f;
@@ -115,50 +124,7 @@ const bool DEFAULT_SHOW_VALUE = true;
 const bool DEFAULT_ENABLED = true;
 const bool DEFAULT_SNAP_TO_MARKS = false;
 
-// Signals
-
-const char* const SIGNAL_VALUE_CHANGED = "value-changed";
-const char* const SIGNAL_MARK =          "mark";
-
-BaseHandle Create()
-{
-  return Dali::Toolkit::Slider::New();
-}
-
-TypeRegistration typeRegistration( typeid( Dali::Toolkit::Slider ), typeid( Dali::Toolkit::Control ), Create );
-
-SignalConnectorType signalConnector1( typeRegistration, SIGNAL_VALUE_CHANGED, &Toolkit::Internal::Slider::DoConnectSignal );
-SignalConnectorType signalConnector2( typeRegistration, SIGNAL_MARK, &Toolkit::Internal::Slider::DoConnectSignal );
-
-PropertyRegistration property1( typeRegistration, "lower-bound",  Toolkit::Slider::LOWER_BOUND_PROPERTY, Property::FLOAT, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property2( typeRegistration, "upper-bound",  Toolkit::Slider::UPPER_BOUND_PROPERTY, Property::FLOAT, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property3( typeRegistration, "value",        Toolkit::Slider::VALUE_PROPERTY,       Property::FLOAT, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property4( typeRegistration, "hit-region",     Toolkit::Slider::HIT_REGION_PROPERTY,      Property::VECTOR2, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property5( typeRegistration, "backing-region", Toolkit::Slider::BACKING_REGION_PROPERTY,  Property::VECTOR2, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property6( typeRegistration, "handle-region",  Toolkit::Slider::HANDLE_REGION_PROPERTY,   Property::VECTOR2, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property7( typeRegistration, "backing-image-name",       Toolkit::Slider::BACKING_IMAGE_NAME_PROPERTY,      Property::STRING, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property8( typeRegistration, "handle-image-name",        Toolkit::Slider::HANDLE_IMAGE_NAME_PROPERTY,       Property::STRING, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property9( typeRegistration, "progress-image-name",      Toolkit::Slider::PROGRESS_IMAGE_NAME_PROPERTY,     Property::STRING, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property10( typeRegistration, "popup-image-name",        Toolkit::Slider::POPUP_IMAGE_NAME_PROPERTY,        Property::STRING, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property11( typeRegistration, "popup-arrow-image-name",  Toolkit::Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY,  Property::STRING, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property12( typeRegistration, "disable-color",       Toolkit::Slider::DISABLE_COLOR_PROPERTY,     Property::VECTOR4, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property13( typeRegistration, "popup-text-color",    Toolkit::Slider::POPUP_TEXT_COLOR_PROPERTY,  Property::VECTOR4, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property14( typeRegistration, "value-precision",    Toolkit::Slider::VALUE_PRECISION_PROPERTY,  Property::INTEGER, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property15( typeRegistration, "show-popup",    Toolkit::Slider::SHOW_POPUP_PROPERTY,  Property::BOOLEAN, &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property16( typeRegistration, "show-value",    Toolkit::Slider::SHOW_VALUE_PROPERTY,  Property::BOOLEAN, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property17( typeRegistration, "enabled",       Toolkit::Slider::ENABLED_PROPERTY,  Property::BOOLEAN, &Slider::SetProperty, &Slider::GetProperty );
-
-PropertyRegistration property18( typeRegistration, "marks",          Toolkit::Slider::MARKS_PROPERTY,          Property::ARRAY,    &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property19( typeRegistration, "snap-to-marks",  Toolkit::Slider::SNAP_TO_MARKS_PROPERTY,  Property::BOOLEAN,  &Slider::SetProperty, &Slider::GetProperty );
-PropertyRegistration property20( typeRegistration, "mark-tolerance", Toolkit::Slider::MARK_TOLERANCE_PROPERTY, Property::FLOAT,    &Slider::SetProperty, &Slider::GetProperty );
-
-} // namespace
+} // Unnamed namespace
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Slider
@@ -383,6 +349,15 @@ void Slider::DisplayValue( float value, bool raiseSignals )
       mMarkSignal.Emit( self, markIndex );
     }
   }
+
+  if( mHandleValueTextLabel )
+  {
+    std::stringstream ss;
+    ss.precision( GetValuePrecision() );
+    ss << std::fixed << clampledValue;
+
+    mHandleValueTextLabel.SetProperty( Toolkit::TextLabel::Property::TEXT, ss.str() );
+  }
 }
 
 void Slider::SetMarks( const MarkList& marks )
@@ -425,6 +400,7 @@ Actor Slider::CreateHitRegion()
 ImageActor Slider::CreateBacking()
 {
   ImageActor backing = ImageActor::New();
+  backing.SetRelayoutEnabled( false );
   backing.SetParentOrigin( ParentOrigin::CENTER );
   backing.SetAnchorPoint( AnchorPoint::CENTER );
   backing.SetZ( BACKING_Z );
@@ -454,6 +430,7 @@ std::string Slider::GetBackingImageName()
 ImageActor Slider::CreateProgress()
 {
   ImageActor progress = ImageActor::New();
+  progress.SetRelayoutEnabled( false );
   progress.SetParentOrigin( ParentOrigin::CENTER_LEFT );
   progress.SetAnchorPoint( AnchorPoint::CENTER_LEFT );
   progress.SetZ( PROGRESS_Z );
@@ -529,6 +506,7 @@ void Slider::ResizeProgressRegion( const Vector2& region )
 ImageActor Slider::CreateHandle()
 {
   ImageActor handle = ImageActor::New();
+  handle.SetRelayoutEnabled( false );
   handle.SetParentOrigin( ParentOrigin::CENTER_LEFT );
   handle.SetAnchorPoint( AnchorPoint::CENTER );
   handle.SetZ( HANDLE_Z );
@@ -539,6 +517,7 @@ ImageActor Slider::CreateHandle()
 ImageActor Slider::CreatePopupArrow()
 {
   ImageActor arrow = ImageActor::New();
+  arrow.SetRelayoutEnabled( false );
   arrow.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
   arrow.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
   arrow.SetZ( HANDLE_Z );
@@ -546,16 +525,27 @@ ImageActor Slider::CreatePopupArrow()
   return arrow;
 }
 
-//Toolkit::TextView Slider::CreatePopupText()
-//{
-//}
+Toolkit::TextLabel Slider::CreatePopupText()
+{
+  Toolkit::TextLabel textLabel = Toolkit::TextLabel::New();
+  textLabel.SetParentOrigin( ParentOrigin::CENTER );
+  textLabel.SetAnchorPoint( AnchorPoint::CENTER );
+  textLabel.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
+  textLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
+  textLabel.SetZ( VALUE_DISPLAY_TEXT_Z );
+  return textLabel;
+}
 
 ImageActor Slider::CreatePopup()
 {
   ImageActor popup = ImageActor::New();
+  popup.SetRelayoutEnabled( false );
   popup.SetParentOrigin( ParentOrigin::TOP_CENTER );
   popup.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER );
 
+  mValueTextLabel = CreatePopupText();
+  popup.Add( mValueTextLabel );
+
   return popup;
 }
 
@@ -588,10 +578,21 @@ void Slider::ResizeHandleRegion( const Vector2& region )
 
 void Slider::CreateHandleValueDisplay()
 {
+  if( mHandle && !mHandleValueTextLabel )
+  {
+    mHandleValueTextLabel = Toolkit::TextLabel::New();
+    mHandleValueTextLabel.SetParentOrigin( ParentOrigin::CENTER );
+    mHandleValueTextLabel.SetAnchorPoint( AnchorPoint::CENTER );
+    mHandleValueTextLabel.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
+    mHandleValueTextLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
+    mHandleValueTextLabel.SetDrawMode( DrawMode::OVERLAY );
+    mHandle.Add( mHandleValueTextLabel );
+  }
 }
 
 void Slider::DestroyHandleValueDisplay()
 {
+  UnparentAndReset(mHandleValueTextLabel);
 }
 
 void Slider::SetPopupTextColor( const Vector4& color )
@@ -801,16 +802,14 @@ bool Slider::MarkReached( float value, int& outIndex )
       outIndex = current;
       return true;
     }
+
+    if( value < mark )
+    {
+      tail = current - 1;
+    }
     else
     {
-      if( value < mark )
-      {
-        tail = current - 1;
-      }
-      else
-      {
-        head = current + 1;
-      }
+      head = current + 1;
     }
   }
 
@@ -1019,6 +1018,21 @@ bool Slider::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tr
 
 void Slider::DisplayPopup( float value )
 {
+  // Value displayDoConnectSignal
+  if( mValueTextLabel )
+  {
+    std::stringstream ss;
+    ss.precision( GetValuePrecision() );
+    ss << std::fixed << value;
+    mValueTextLabel.SetProperty( Toolkit::TextLabel::Property::TEXT, ss.str() );
+
+    if( mValueDisplay )
+    {
+      mValueDisplay.SetVisible( true );
+
+      mValueTimer.SetInterval( VALUE_VIEW_SHOW_DURATION );
+    }
+  }
 }
 
 void Slider::SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value )
@@ -1031,121 +1045,121 @@ void Slider::SetProperty( BaseObject* object, Property::Index propertyIndex, con
 
     switch ( propertyIndex )
     {
-      case Toolkit::Slider::LOWER_BOUND_PROPERTY:
+      case Toolkit::Slider::Property::LOWER_BOUND:
       {
         sliderImpl.SetLowerBound( value.Get< float >() );
         break;
       }
 
-      case Toolkit::Slider::UPPER_BOUND_PROPERTY:
+      case Toolkit::Slider::Property::UPPER_BOUND:
       {
         sliderImpl.SetUpperBound( value.Get< float >() );
         break;
       }
 
-      case Toolkit::Slider::VALUE_PROPERTY:
+      case Toolkit::Slider::Property::VALUE:
       {
         sliderImpl.SetValue( value.Get< float >() );
         break;
       }
 
-      case Toolkit::Slider::HIT_REGION_PROPERTY:
+      case Toolkit::Slider::Property::HIT_REGION:
       {
         sliderImpl.SetHitRegion( value.Get< Vector2 >() );
         break;
       }
 
-      case Toolkit::Slider::BACKING_REGION_PROPERTY:
+      case Toolkit::Slider::Property::BACKING_REGION:
       {
         sliderImpl.SetBackingRegion( value.Get< Vector2 >() );
         break;
       }
 
-      case Toolkit::Slider::HANDLE_REGION_PROPERTY:
+      case Toolkit::Slider::Property::HANDLE_REGION:
       {
         sliderImpl.SetHandleRegion( value.Get< Vector2 >() );
         break;
       }
 
-      case Toolkit::Slider::BACKING_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::BACKING_IMAGE_NAME:
       {
         sliderImpl.SetBackingImageName( value.Get< std::string >() );
         break;
       }
 
-      case Toolkit::Slider::HANDLE_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::HANDLE_IMAGE_NAME:
       {
         sliderImpl.SetHandleImageName( value.Get< std::string >() );
         break;
       }
 
-      case Toolkit::Slider::PROGRESS_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::PROGRESS_IMAGE_NAME:
       {
         sliderImpl.SetProgressImageName( value.Get< std::string >() );
         break;
       }
 
-      case Toolkit::Slider::POPUP_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::POPUP_IMAGE_NAME:
       {
         sliderImpl.SetPopupImageName( value.Get< std::string >() );
         break;
       }
 
-      case Toolkit::Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::POPUP_ARROW_IMAGE_NAME:
       {
         sliderImpl.SetPopupArrowImageName( value.Get< std::string >() );
         break;
       }
 
-      case Toolkit::Slider::DISABLE_COLOR_PROPERTY:
+      case Toolkit::Slider::Property::DISABLE_COLOR:
       {
         sliderImpl.SetDisableColor( value.Get< Vector4 >() );
         break;
       }
 
-      case Toolkit::Slider::POPUP_TEXT_COLOR_PROPERTY:
+      case Toolkit::Slider::Property::POPUP_TEXT_COLOR:
       {
         sliderImpl.SetPopupTextColor( value.Get< Vector4 >() );
         break;
       }
 
-      case Toolkit::Slider::VALUE_PRECISION_PROPERTY:
+      case Toolkit::Slider::Property::VALUE_PRECISION:
       {
         sliderImpl.SetValuePrecision( value.Get< int >() );
         break;
       }
 
-      case Toolkit::Slider::SHOW_POPUP_PROPERTY:
+      case Toolkit::Slider::Property::SHOW_POPUP:
       {
         sliderImpl.SetShowPopup( value.Get< bool >() );
         break;
       }
 
-      case Toolkit::Slider::SHOW_VALUE_PROPERTY:
+      case Toolkit::Slider::Property::SHOW_VALUE:
       {
         sliderImpl.SetShowValue( value.Get< bool >() );
         break;
       }
 
-      case Toolkit::Slider::ENABLED_PROPERTY:
+      case Toolkit::Slider::Property::ENABLED:
       {
         sliderImpl.SetEnabled( value.Get< bool >() );
         break;
       }
 
-      case Toolkit::Slider::MARKS_PROPERTY:
+      case Toolkit::Slider::Property::MARKS:
       {
         sliderImpl.SetMarks( value.Get< Property::Array >() );
         break;
       }
 
-      case Toolkit::Slider::SNAP_TO_MARKS_PROPERTY:
+      case Toolkit::Slider::Property::SNAP_TO_MARKS:
       {
         sliderImpl.SetSnapToMarks( value.Get< bool >() );
         break;
       }
 
-      case Toolkit::Slider::MARK_TOLERANCE_PROPERTY:
+      case Toolkit::Slider::Property::MARK_TOLERANCE:
       {
         sliderImpl.SetMarkTolerance( value.Get< float >() );
         break;
@@ -1166,122 +1180,122 @@ Property::Value Slider::GetProperty( BaseObject* object, Property::Index propert
 
     switch ( propertyIndex )
     {
-      case Toolkit::Slider::LOWER_BOUND_PROPERTY:
+      case Toolkit::Slider::Property::LOWER_BOUND:
       {
         value = sliderImpl.GetLowerBound();
         break;
       }
 
-      case Toolkit::Slider::UPPER_BOUND_PROPERTY:
+      case Toolkit::Slider::Property::UPPER_BOUND:
       {
         value = sliderImpl.GetUpperBound();
         break;
       }
 
-      case Toolkit::Slider::VALUE_PROPERTY:
+      case Toolkit::Slider::Property::VALUE:
       {
         value = sliderImpl.GetValue();
         break;
       }
 
-      case Toolkit::Slider::HIT_REGION_PROPERTY:
+      case Toolkit::Slider::Property::HIT_REGION:
       {
         value = sliderImpl.GetHitRegion();
         break;
       }
 
-      case Toolkit::Slider::BACKING_REGION_PROPERTY:
+      case Toolkit::Slider::Property::BACKING_REGION:
       {
         value = sliderImpl.GetBackingRegion();
         break;
       }
 
-      case Toolkit::Slider::HANDLE_REGION_PROPERTY:
+      case Toolkit::Slider::Property::HANDLE_REGION:
       {
         value = sliderImpl.GetHandleRegion();
         break;
       }
 
-      case Toolkit::Slider::BACKING_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::BACKING_IMAGE_NAME:
       {
         value = sliderImpl.GetBackingImageName();
         break;
       }
 
-      case Toolkit::Slider::HANDLE_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::HANDLE_IMAGE_NAME:
       {
         value = sliderImpl.GetHandleImageName();
         break;
       }
 
-      case Toolkit::Slider::PROGRESS_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::PROGRESS_IMAGE_NAME:
       {
         value = sliderImpl.GetProgressImageName();
         break;
       }
 
-      case Toolkit::Slider::POPUP_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::POPUP_IMAGE_NAME:
       {
         value = sliderImpl.GetPopupImageName();
         break;
       }
 
-      case Toolkit::Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY:
+      case Toolkit::Slider::Property::POPUP_ARROW_IMAGE_NAME:
       {
         value = sliderImpl.GetPopupArrowImageName();
         break;
       }
 
-      case Toolkit::Slider::DISABLE_COLOR_PROPERTY:
+      case Toolkit::Slider::Property::DISABLE_COLOR:
       {
         value = sliderImpl.GetDisableColor();
         break;
       }
 
-      case Toolkit::Slider::POPUP_TEXT_COLOR_PROPERTY:
+      case Toolkit::Slider::Property::POPUP_TEXT_COLOR:
       {
         value = sliderImpl.GetPopupTextColor();
         break;
       }
 
-      case Toolkit::Slider::VALUE_PRECISION_PROPERTY:
+      case Toolkit::Slider::Property::VALUE_PRECISION:
       {
         value = sliderImpl.GetValuePrecision();
         break;
       }
 
-      case Toolkit::Slider::SHOW_POPUP_PROPERTY:
+      case Toolkit::Slider::Property::SHOW_POPUP:
       {
         value = sliderImpl.GetShowPopup();
         break;
       }
 
-      case Toolkit::Slider::SHOW_VALUE_PROPERTY:
+      case Toolkit::Slider::Property::SHOW_VALUE:
       {
         value = sliderImpl.GetShowValue();
         break;
       }
 
-      case Toolkit::Slider::ENABLED_PROPERTY:
+      case Toolkit::Slider::Property::ENABLED:
       {
         value = sliderImpl.IsEnabled();
         break;
       }
 
-      case Toolkit::Slider::MARKS_PROPERTY:
+      case Toolkit::Slider::Property::MARKS:
       {
         // TODO: Need to be able to return a PropertyArray
         // value = sliderImpl.GetMarks();
         break;
       }
 
-      case Toolkit::Slider::SNAP_TO_MARKS_PROPERTY:
+      case Toolkit::Slider::Property::SNAP_TO_MARKS:
       {
         value = sliderImpl.GetSnapToMarks();
         break;
       }
 
-      case Toolkit::Slider::MARK_TOLERANCE_PROPERTY:
+      case Toolkit::Slider::Property::MARK_TOLERANCE:
       {
         value = sliderImpl.GetMarkTolerance();
         break;