Merge "Added interface for queuing input events in TextController" into new_text
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / text-controls / text-field.cpp
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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
18 // CLASS HEADER
19 #include <dali-toolkit/public-api/controls/text-controls/text-field.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/internal/controls/text-controls/text-field-impl.h>
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 const std::string TextField::PLACEHOLDER_TEXT_PROPERTY_NAME("placeholder-text");
31 const std::string TextField::TEXT_PROPERTY_NAME("text");
32 const std::string TextField::CURSOR_IMAGE_PROPERTY_NAME("cursor-image");
33 const std::string TextField::PRIMARY_CURSOR_COLOR_PROPERTY_NAME("primary-cursor-color");
34 const std::string TextField::SECONDARY_CURSOR_COLOR_PROPERTY_NAME("secondary-cursor-color");
35 const std::string TextField::ENABLE_CURSOR_BLINK_PROPERTY_NAME("enable-cursor-blink");
36 const std::string TextField::CURSOR_BLINK_INTERVAL_PROPERTY_NAME("cursor-blink-interval");
37 const std::string TextField::CURSOR_BLINK_DURATION_PROPERTY_NAME("cursor-blink-duration");
38 const std::string TextField::GRAB_HANDLE_IMAGE_PROPERTY_NAME("grab-handle-image");
39
40 TextField TextField::New()
41 {
42   return Internal::TextField::New();
43 }
44
45 TextField::TextField()
46 {
47 }
48
49 TextField::TextField( const TextField& handle )
50 : Control( handle )
51 {
52 }
53
54 TextField& TextField::operator=( const TextField& handle )
55 {
56   if( &handle != this )
57   {
58     Control::operator=( handle );
59   }
60   return *this;
61 }
62
63 TextField::~TextField()
64 {
65 }
66
67 TextField TextField::DownCast( BaseHandle handle )
68 {
69   return Control::DownCast<TextField, Internal::TextField>(handle);
70 }
71
72 void TextField::SetRenderer( Text::RendererPtr renderer )
73 {
74   GetImpl(*this).SetRenderer( renderer );
75 }
76
77 TextField::TextField( Internal::TextField& implementation )
78 : Control(implementation)
79 {
80 }
81
82 TextField::TextField( Dali::Internal::CustomActor* internal )
83 : Control( internal )
84 {
85   VerifyCustomActorPointer<Internal::TextField>( internal );
86 }
87
88 } // namespace Toolkit
89
90 } // namespace Dali