Tizen 2.1 base
[framework/osp/uifw.git] / inc / FUiAccessibilityElement.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file        FUiAccessibilityElement.h
20  * @brief       This is the header file for the AccessibilityElement class.
21  *
22  * This header file contains the declarations of the AccessibilityElement class.
23  *
24  */
25
26 #ifndef _FUI_ACCESSIBILITY_ELEMENT_H_
27 #define _FUI_ACCESSIBILITY_ELEMENT_H_
28
29 #include <FOspConfig.h>
30 #include <FBaseObject.h>
31 #include <FUiAccessibilityTypes.h>
32
33 namespace Tizen { namespace Base
34 {
35     class String;
36 }} //Tizen::Base
37
38 namespace Tizen { namespace Graphics
39 {
40     class Rectangle;
41 }} //Tizen::Graphics
42
43 namespace Tizen { namespace Ui
44 {
45 class _AccessibilityElementImpl;
46
47 /**
48  * @class               AccessibilityElement
49  * @brief               This class represents an accessibility element.
50  * @since               2.0
51  *
52  * @final               This class is not intended for extension.
53  * This class represents an accessibility element.
54  */
55 class _OSP_EXPORT_ AccessibilityElement
56         : public Tizen::Base::Object
57 {
58 public:
59         /**
60          *  The object is not fully constructed after this constructor is called. For full construction, the Construct() method must be called right after calling this constructor.
61          *
62          * @since               2.0
63          */
64         AccessibilityElement(void);
65
66         /**
67          * This destructor overrides Tizen::Base::Object::~Object().
68          *
69          * @since               2.0
70          */
71         virtual ~AccessibilityElement(void);
72
73         /**
74          * Initializes the instance of %AccessibilityElement with the specified parameters.
75          *
76          * @since               2.0
77          *
78          * @return      An error code
79          * @param[in] bounds    The bounds  of the accessibility element
80          * @param[in] name      The name of the accessibility element
81          * @exception E_SUCCESS The method is successful.
82          * @exception E_INVALID_ARG     Either the length of name parameter is @c 0, or the bounds are smaller than @c 0.
83          */
84         result Construct(const Tizen::Graphics::Rectangle& bounds, const Tizen::Base::String& name);
85
86         /**
87          * Gets the name of the element.
88          *
89          * @since               2.0
90          * @return      The name of the element
91          */
92         Tizen::Base::String GetName(void) const;
93
94         /**
95          * Sets the bounds to the element.
96          *
97          * @since               2.0
98          * @param[in] bounds    The bounds of the accessibility element.
99          */
100         void SetBounds(const Tizen::Graphics::Rectangle& bounds);
101
102         /**
103          * Gets the bounds of the element.
104          *
105          * @since               2.0
106          * @return      The bounds of the element
107          */
108         Tizen::Graphics::Rectangle GetBounds(void) const;
109
110         /**
111          * Sets the label to the element.
112          *
113          * @since               2.0
114          * @param[in] label     The label of the accessibility element.
115          */
116         void SetLabel(const Tizen::Base::String& label);
117
118         /**
119          * Gets the label of the element.
120          *
121          * @since               2.0
122          * @return      The label of the element
123          */
124         Tizen::Base::String GetLabel(void) const;
125
126         /**
127          * Sets the hint to the element.
128          *
129          * @since               2.0
130          * @param[in] hint      The hint of the accessibility element.
131          */
132         void SetHint(const Tizen::Base::String& hint);
133
134         /**
135          * Gets the hint of the element.
136          *
137          * @since               2.0
138          * @return      The hint of the element
139          */
140         Tizen::Base::String GetHint(void) const;
141
142         /**
143          * Sets the trait to the element.
144          *
145          * @since               2.0
146          * @param[in] trait     The trait of the accessibility element.
147          */
148         void SetTrait(const Tizen::Base::String& trait);
149
150
151         /**
152          * Gets the trait of the element.
153          *
154          * @since               2.0
155          * @return      The trait of the element
156          */
157         Tizen::Base::String GetTrait(void) const;
158
159         /**
160          * Sets the value to the element.
161          *
162          * @since               2.0
163          * @param[in] value     The value of the accessibility element.
164          */
165         void SetValue(const Tizen::Base::String& value);
166
167         /**
168          * Gets the value of the element.
169          *
170          * @since               2.0
171          * @return      The value of the element
172          */
173         Tizen::Base::String GetValue(void) const;
174
175 private:
176         //
177         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
178         //
179         AccessibilityElement(const AccessibilityElement& rhs);
180
181         //
182         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
183         //
184         AccessibilityElement& operator =(const AccessibilityElement& rhs);
185
186 private:
187         friend class _AccessibilityElementImpl;
188         _AccessibilityElementImpl* __pAccessibilityElementImpl;
189 }; // AccessibilityElement
190
191 }} // Tizen::Ui
192 #endif //_FUI_ACCESSIBILITY_ELEMENT_H_