c81a2c1e6a2a6287658e08a68b049054cfa00dc3
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / slider / slider.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://floralicense.org/license/
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 #include <dali-toolkit/public-api/controls/slider/slider.h>
18 #include <dali-toolkit/internal/controls/slider/slider-impl.h>
19
20 using namespace Dali;
21
22 namespace Dali
23 {
24
25 namespace Toolkit
26 {
27
28 ///////////////////////////////////////////////////////////////////////////////////////////////////
29 // Slider
30 ///////////////////////////////////////////////////////////////////////////////////////////////////
31
32 // Signals
33 const char* const Slider::SIGNAL_VALUE_CHANGED = "value-changed";
34 const char* const Slider::SIGNAL_MARK = "mark";
35
36 // Properties
37 const std::string Slider::LOWER_BOUND_PROPERTY_NAME( "lower-bound" );
38 const std::string Slider::UPPER_BOUND_PROPERTY_NAME( "upper-bound" );
39 const std::string Slider::VALUE_PROPERTY_NAME( "value" );
40 const std::string Slider::HIT_REGION_PROPERTY_NAME( "hit-region" );
41 const std::string Slider::BACKING_REGION_PROPERTY_NAME( "backing-region" );
42 const std::string Slider::HANDLE_REGION_PROPERTY_NAME( "handle-region" );
43
44 const std::string Slider::BACKING_IMAGE_NAME_PROPERTY_NAME( "backing-image-name" );
45 const std::string Slider::HANDLE_IMAGE_NAME_PROPERTY_NAME( "handle-image-name" );
46 const std::string Slider::PROGRESS_IMAGE_NAME_PROPERTY_NAME( "progress-image-name" );
47 const std::string Slider::POPUP_IMAGE_NAME_PROPERTY_NAME( "popup-image-name" );
48 const std::string Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY_NAME( "popup-arrow-image-name" );
49
50 const std::string Slider::BACKING_SCALE9_BORDER_PROPERTY_NAME( "backing-scale9-border" );
51 const std::string Slider::PROGRESS_SCALE9_BORDER_PROPERTY_NAME( "progress-scale9-border" );
52 const std::string Slider::POPUP_SCALE9_BORDER_PROPERTY_NAME( "popup-scale9-border" );
53
54 const std::string Slider::DISABLE_COLOR_PROPERTY_NAME( "disable-color" );
55 const std::string Slider::POPUP_TEXT_COLOR_PROPERTY_NAME( "popup-text-color" );
56
57 const std::string Slider::VALUE_PRECISION_PROPERTY_NAME( "value-precision" );
58
59 const std::string Slider::SHOW_POPUP_PROPERTY_NAME( "show-popup" );
60 const std::string Slider::SHOW_VALUE_PROPERTY_NAME( "show-value" );
61
62 const std::string Slider::ENABLED_PROPERTY_NAME( "enabled" );
63
64 const std::string Slider::MARKS_PROPERTY_NAME( "marks" );
65 const std::string Slider::SNAP_TO_MARKS_PROPERTY_NAME( "snap-to-marks" );
66 const std::string Slider::MARK_TOLERANCE_PROPERTY_NAME( "mark-tolerance" );
67
68 Slider::Slider()
69 {
70 }
71
72 Slider::Slider( const Slider& handle )
73 : Control( handle )
74 {
75 }
76
77 Slider& Slider::operator=( const Slider& handle )
78 {
79   if( &handle != this )
80   {
81     Control::operator=( handle );
82   }
83   return *this;
84 }
85
86 Slider::Slider(Internal::Slider& implementation)
87 : Control(implementation)
88 {
89 }
90
91 Slider::Slider( Dali::Internal::CustomActor* internal )
92 : Control( internal )
93 {
94   VerifyCustomActorPointer<Internal::Slider>(internal);
95 }
96
97 Slider Slider::New()
98 {
99   return Internal::Slider::New();
100 }
101
102 Slider::~Slider()
103 {
104 }
105
106 Slider::ValueChangedSignalType& Slider::ValueChangedSignal()
107 {
108   return GetImpl( *this ).ValueChangedSignal();
109 }
110
111 Slider::MarkSignalType& Slider::MarkSignal()
112 {
113   return GetImpl( *this ).MarkSignal();
114 }
115
116 Slider Slider::DownCast( BaseHandle handle )
117 {
118   return Control::DownCast<Slider, Internal::Slider>(handle);
119 }
120
121
122
123 } // namespace Toolkit
124
125 } // namespace Dali