show OverlayRegion when FormActivated
[platform/framework/native/uifw.git] / inc / FUiAccessibilityElement.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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         class FloatRectangle;
42 }} //Tizen::Graphics
43
44 namespace Tizen { namespace Ui
45 {
46 class _AccessibilityElementImpl;
47
48 /**
49 * @class                AccessibilityElement
50 * @brief                This class represents an accessibility element.
51 * @since                2.0
52 *
53 * @final                This class is not intended for extension.
54 *
55 * This class represents an accessibility element.
56 */
57 class _OSP_EXPORT_ AccessibilityElement
58         : public Tizen::Base::Object
59 {
60 public:
61         /**
62         * The object is not fully constructed after this constructor is called. @n
63         * For full construction, the Construct() method must be called right after calling this constructor.
64         *
65         * @since                2.0
66         */
67         AccessibilityElement(void);
68
69         /**
70         * This destructor overrides Tizen::Base::Object::~Object().
71         *
72         * @since                2.0
73         */
74         virtual ~AccessibilityElement(void);
75
76         /**
77         * Initializes the instance of %AccessibilityElement with the specified parameters.
78         *
79         * @since                2.0
80         *
81         * @return       An error code
82         * @param[in] bounds     The bounds of the accessibility element
83         * @param[in] name       The name of the accessibility element
84         * @exception E_SUCCESS  The method is successful.
85         * @exception E_INVALID_ARG      Either the length of name parameter is @c 0, or the bounds are smaller than @c 0.
86         */
87         result Construct(const Tizen::Graphics::Rectangle& bounds, const Tizen::Base::String& name);
88
89         /**
90         * Initializes this instance of %AccessibilityElement with specified parameters.
91         *
92         * @since                2.1
93         *
94         * @return       An error code
95         * @param[in] bounds     The bounds  of the accessibility element
96         * @param[in] name       The name of the accessibility element
97         * @exception E_SUCCESS  The method is successful.
98         * @exception E_INVALID_ARG      Either the length of @c name parameter is @c 0, or the @c bounds are smaller than @c 0.
99         */
100         result Construct(const Tizen::Graphics::FloatRectangle& bounds, const Tizen::Base::String& name);
101
102         /**
103         * Gets the name of the element.
104         *
105         * @since                2.0
106         * @return       The name of the element
107         */
108         Tizen::Base::String GetName(void) const;
109
110         /**
111         * Sets the bounds to the element.
112         *
113         * @since                2.0
114         * @param[in] bounds     The bounds of the accessibility element
115         */
116         void SetBounds(const Tizen::Graphics::Rectangle& bounds);
117
118         /**
119         * Sets the bounds of an element.
120         *
121         * @since                2.1
122         * @param[in] bounds     The bounds of the accessibility element
123         */
124         void SetBounds(const Tizen::Graphics::FloatRectangle& bounds);
125
126         /**
127         * Gets the bounds of the element.
128         *
129         * @since                2.0
130         * @return       The bounds of the element
131         */
132         Tizen::Graphics::Rectangle GetBounds(void) const;
133
134         /**
135         * Gets the bounds of an element.
136         *
137         * @since                2.1
138         * @return       The bounds of the element
139         */
140         Tizen::Graphics::FloatRectangle GetBoundsF(void) const;
141
142         /**
143         * Sets the label to the element.
144         *
145         * @since                2.0
146         * @param[in] label      The label of the accessibility element
147         */
148         void SetLabel(const Tizen::Base::String& label);
149
150         /**
151         * Gets the label of the element.
152         *
153         * @since                2.0
154         * @return       The label of the element
155         */
156         Tizen::Base::String GetLabel(void) const;
157
158         /**
159         * Sets the hint to the element.
160         *
161         * @since                2.0
162         * @param[in] hint       The hint of the accessibility element
163         */
164         void SetHint(const Tizen::Base::String& hint);
165
166         /**
167         * Gets the hint of the element.
168         *
169         * @since                2.0
170         * @return       The hint of the element
171         */
172         Tizen::Base::String GetHint(void) const;
173
174         /**
175         * Sets the trait to the element.
176         *
177         * @since                2.0
178         * @param[in] trait      The trait of the accessibility element
179         */
180         void SetTrait(const Tizen::Base::String& trait);
181
182
183         /**
184         * Gets the trait of the element.
185         *
186         * @since                2.0
187         * @return       The trait of the element
188         */
189         Tizen::Base::String GetTrait(void) const;
190
191         /**
192         * Sets the value to the element.
193         *
194         * @since                2.0
195         * @param[in] value      The value of the accessibility element
196         */
197         void SetValue(const Tizen::Base::String& value);
198
199         /**
200         * Gets the value of the element.
201         *
202         * @since                2.0
203         * @return       The value of the element
204         */
205         Tizen::Base::String GetValue(void) const;
206
207 private:
208         //
209         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
210         //
211         AccessibilityElement(const AccessibilityElement& rhs);
212
213         //
214         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
215         //
216         AccessibilityElement& operator =(const AccessibilityElement& rhs);
217
218 private:
219         friend class _AccessibilityElementImpl;
220         _AccessibilityElementImpl* __pAccessibilityElementImpl;
221 }; // AccessibilityElement
222
223 }} // Tizen::Ui
224 #endif //_FUI_ACCESSIBILITY_ELEMENT_H_