2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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.
18 * @file FUiCtrl_CheckButton.h
19 * @brief This is the header file for the _CheckButton class.
21 * This header file contains the declarations of the %_CheckButton class.
23 #ifndef _FUI_CTRL_INTERNAL_CHECK_BUTTON_H_
24 #define _FUI_CTRL_INTERNAL_CHECK_BUTTON_H_
26 #include <FUiCtrlCheckButton.h>
27 #include "FUi_Control.h"
28 #include "FUiCtrl_IActionEventListener.h"
29 #include "FUiCtrl_ActionEvent.h"
31 namespace Tizen { namespace Ui
33 class _AccessibilityElement;
34 class _IAccessibilityListener;
37 namespace Tizen { namespace Ui { namespace Controls
39 class _CheckButtonPresenter;
51 class _OSP_EXPORT_ _CheckButton
52 : public Tizen::Ui::_Control
53 , virtual public Tizen::Base::Runtime::IEventListener
54 , virtual public Tizen::Ui::_IUiEventListener
55 , virtual public Tizen::Ui::_IUiEventPreviewer
57 DECLARE_CLASS_BEGIN(_CheckButton, _Control);
58 DECLARE_PROPERTY("normalColor", GetPropertyNormalColor, SetPropertyNormalColor);
59 DECLARE_PROPERTY("disabledColor", GetPropertyDisabledColor, SetPropertyDisabledColor);
60 DECLARE_PROPERTY("pressedColor", GetPropertyPressedColor, SetPropertyPressedColor);
61 DECLARE_PROPERTY("highlightedColor", GetPropertyHighlightedColor, SetPropertyHighlightedColor);
62 DECLARE_PROPERTY("normalTextColor", GetPropertyNormalTextColor, SetPropertyNormalTextColor);
63 DECLARE_PROPERTY("disabledTextColor", GetPropertyDisabledTextColor, SetPropertyDisabledTextColor);
64 DECLARE_PROPERTY("pressedTextColor", GetPropertyPressedTextColor, SetPropertyPressedTextColor);
65 DECLARE_PROPERTY("highlightedTextColor", GetPropertyHighlightedTextColor, SetPropertyHighlightedTextColor);
66 DECLARE_PROPERTY("normalTitleTextColor", GetPropertyNormalTitleTextColor, SetPropertyNormalTitleTextColor);
67 DECLARE_PROPERTY("disabledTitleTextColor", GetPropertyDisabledTitleTextColor, SetPropertyDisabledTitleTextColor);
68 DECLARE_PROPERTY("pressedTitleTextColor", GetPropertyPressedTitleTextColor, SetPropertyPressedTitleTextColor);
69 DECLARE_PROPERTY("highlightedTitleTextColor", GetPropertyHighlightedTitleTextColor, SetPropertyHighlightedTitleTextColor);
70 DECLARE_PROPERTY("checkedActionId", GetPropertyCheckedActionId, SetPropertyCheckedActionId);
71 DECLARE_PROPERTY("uncheckedActionId", GetPropertyUncheckedActionId, SetPropertyUncheckedActionId);
72 DECLARE_PROPERTY("selectedActionId", GetPropertySelectedActionId, SetPropertySelectedActionId);
73 DECLARE_PROPERTY("text", GetPropertyText, SetPropertyText);
74 DECLARE_PROPERTY("titleText", GetPropertyTitleText, SetPropertyTitleText);
75 DECLARE_PROPERTY("selected", GetPropertySelected, SetPropertySelected);
78 result SetPropertyNormalColor(const Variant& color);
79 Variant GetPropertyNormalColor(void) const;
80 result SetPropertyDisabledColor(const Variant& color);
81 Variant GetPropertyDisabledColor(void) const;
82 result SetPropertyPressedColor(const Variant& color);
83 Variant GetPropertyPressedColor(void) const;
84 result SetPropertyHighlightedColor(const Variant& color);
85 Variant GetPropertyHighlightedColor(void) const;
87 result SetPropertyNormalTextColor(const Variant& color);
88 Variant GetPropertyNormalTextColor(void) const;
89 result SetPropertyDisabledTextColor(const Variant& color);
90 Variant GetPropertyDisabledTextColor(void) const;
91 result SetPropertyPressedTextColor(const Variant& color);
92 Variant GetPropertyPressedTextColor(void) const;
93 result SetPropertyHighlightedTextColor(const Variant& color);
94 Variant GetPropertyHighlightedTextColor(void) const;
96 result SetPropertyNormalTitleTextColor(const Variant& color);
97 Variant GetPropertyNormalTitleTextColor(void) const;
98 result SetPropertyDisabledTitleTextColor(const Variant& color);
99 Variant GetPropertyDisabledTitleTextColor(void) const;
100 result SetPropertyPressedTitleTextColor(const Variant& color);
101 Variant GetPropertyPressedTitleTextColor(void) const;
102 result SetPropertyHighlightedTitleTextColor(const Variant& color);
103 Variant GetPropertyHighlightedTitleTextColor(void) const;
105 result SetPropertyCheckedActionId(const Variant& actionId);
106 Variant GetPropertyCheckedActionId(void) const;
107 result SetPropertyUncheckedActionId(const Variant& actionId);
108 Variant GetPropertyUncheckedActionId(void) const;
109 result SetPropertySelectedActionId(const Variant& actionId);
110 Variant GetPropertySelectedActionId(void) const;
112 result SetPropertyText(const Variant& text);
113 Variant GetPropertyText(void) const;
115 result SetPropertyTitleText(const Variant& titleText);
116 Variant GetPropertyTitleText(void) const;
118 result SetPropertySelected(const Variant& selected);
119 Variant GetPropertySelected(void) const;
122 virtual ~_CheckButton(void);
125 static _CheckButton* CreateCheckButtonN(void);
127 virtual void OnDraw(void);
128 virtual result OnAttachedToMainTree(void);
129 virtual bool OnTouchPressed(const _Control& source, const _TouchInfo& touchinfo);
130 virtual bool OnTouchReleased(const _Control& source, const _TouchInfo& touchinfo);
131 virtual bool OnTouchMoved(const _Control& source, const _TouchInfo& touchinfo);
132 virtual bool OnTouchCanceled(const _Control& source, const _TouchInfo& touchinfo);
133 virtual void OnTouchMoveHandled(const _Control& control);
134 virtual void OnBoundsChanged(void);
135 virtual void OnFontChanged(Tizen::Graphics::Font* pFont);
136 virtual void OnFontInfoRequested(unsigned long& style, int& size);
139 result LoadDefaultBackgroundBitmap(void);
141 result SetSelected(bool select);
142 bool IsSelected(void) const;
144 result AddActionEventListener(const Tizen::Ui::Controls::_IActionEventListener& listener);
145 result RemoveActionEventListener(const Tizen::Ui::Controls::_IActionEventListener& listener);
147 result SetActionId(int checkedActionId, int uncheckedActionId, int selectedActionId = -1);
148 int GetCheckedActionId(void) const;
149 int GetUncheckedActionId(void) const;
150 int GetSelectedActionId(void) const;
152 result SetText(const Tizen::Base::String& text);
153 Tizen::Base::String GetText(void) const;
154 result SetTitleText(const Tizen::Base::String& title);
155 Tizen::Base::String GetTitleText(void) const;
157 result SetTextHorizontalAlignment(HorizontalAlignment alignment);
158 HorizontalAlignment GetTextHorizontalAlignment(void) const;
159 result SetTextVerticalAlignment(VerticalAlignment alignment);
160 VerticalAlignment GetTextVerticalAlignment(void) const;
162 result SetTextColor(const Tizen::Graphics::Color& color);
163 Tizen::Graphics::Color GetTextColor(void) const;
164 result SetDisabledTextColor(const Tizen::Graphics::Color& color);
165 Tizen::Graphics::Color GetDisabledTextColor(void) const;
166 result SetPressedTextColor(const Tizen::Graphics::Color& color);
167 Tizen::Graphics::Color GetPressedTextColor(void) const;
168 result SetHighlightedTextColor(const Tizen::Graphics::Color& color);
169 Tizen::Graphics::Color GetHighlightedTextColor(void) const;
171 result SetTitleTextColor(const Tizen::Graphics::Color& color);
172 Tizen::Graphics::Color GetTitleTextColor(void) const;
173 result SetDisabledTitleTextColor(const Tizen::Graphics::Color& color);
174 Tizen::Graphics::Color GetDisabledTitleTextColor(void) const;
175 result SetPressedTitleTextColor(const Tizen::Graphics::Color& color);
176 Tizen::Graphics::Color GetPressedTitleTextColor(void) const;
177 result SetHighlightedTitleTextColor(const Tizen::Graphics::Color& color);
178 Tizen::Graphics::Color GetHighlightedTitleTextColor(void) const;
180 result SetColor(CheckButtonStatus status, const Tizen::Graphics::Color& color);
181 Tizen::Graphics::Color GetColor(CheckButtonStatus status) const;
183 int GetTextSize(void) const;
184 int GetTitleTextSize(void) const;
186 result SetCheckButtonStyle(const CheckButtonStyle& checkButtonStyle);
187 result SetBackgroundStyle(const BackgroundStyle& backgroundStyle);
188 result SetShowTitle(bool showTitle);
189 result SetGroupStyle(const GroupStyle& groupStyle);
190 result SetCheckButtonStatus(CheckButtonStatus checkButtonStatus);
192 CheckButtonStyle GetCheckButtonStyle(void) const;
193 BackgroundStyle GetBackgroundStyle(void) const;
194 bool GetShowTitle(void) const;
195 GroupStyle GetGroupStyle(void) const;
196 CheckButtonStatus GetCheckButtonStatus(void) const;
198 Tizen::Graphics::Bitmap* GetMarkBgNormalBitmap(void) const;
199 Tizen::Graphics::Bitmap* GetMarkBgPressedBitmap(void) const;
200 Tizen::Graphics::Bitmap* GetMarkBitmap(void) const;
202 Tizen::Graphics::Bitmap* GetOnOffBgNormalBitmap(void) const;
203 Tizen::Graphics::Bitmap* GetOnOffBgPressedBitmap(void) const;
204 Tizen::Graphics::Bitmap* GetOnOffBitmap(void) const;
206 Tizen::Graphics::Bitmap* GetOnOffSlidingOnBitmap(void) const;
207 Tizen::Graphics::Bitmap* GetOnOffSlidingOffBitmap(void) const;
208 Tizen::Graphics::Bitmap* GetDimOnOffSlidingOnBitmap(void) const;
209 Tizen::Graphics::Bitmap* GetDimOnOffSlidingOffBitmap(void) const;
211 Tizen::Graphics::Bitmap* GetCircleBitmap(void) const;
212 Tizen::Graphics::Bitmap* GetCircleNormalEffectBitmap(void) const;
213 Tizen::Graphics::Bitmap* GetCirclePressedEffectBitmap(void) const;
214 Tizen::Graphics::Bitmap* GetDetailedBitmap(void) const;
216 Tizen::Graphics::Bitmap* GetBackgroundBitmap(GroupStyle groupStyle) const;
217 Tizen::Graphics::Bitmap* GetBackgroundNormalEffectBitmap(GroupStyle groupStyle) const;
218 Tizen::Graphics::Bitmap* GetBackgroundPressedEffectBitmap(GroupStyle groupStyle) const;
220 result AddRadioGroup(const _Control& radioGroup);
221 result RemoveRadioGroup(void);
223 result FireActionEvent(void);
224 _Control* GetRadioGroup(void);
225 void SendTouchReleasedEvent(const _Control& control);
228 result SetPresenter(const _CheckButtonPresenter& checkButtonPresenter);
231 bool IsTouchAreaChanged(bool currentButtonArea);
232 void UpdateAccessibilityElement(void);
233 void UpdateAccessibilityCheckStatus(void);
236 _CheckButton(const _CheckButton& rhs);
237 _CheckButton& operator =(const _CheckButton& rhs);
240 CheckButtonStyle __checkButtonStyle;
241 BackgroundStyle __backgroundStyle;
243 GroupStyle __groupStyle;
244 CheckButtonStatus __checkButtonStatus;
247 _CheckButtonPresenter* __pCheckButtonPresenter;
248 _ActionEvent* __pActionEvent;
252 int __checkedActionId;
253 int __uncheckedActionId;
254 int __selectedActionId;
256 Tizen::Base::String __text;
257 Tizen::Base::String __titleText;
259 Tizen::Graphics::Color __normalTextColor;
260 Tizen::Graphics::Color __disabledTextColor;
261 Tizen::Graphics::Color __pressedTextColor;
262 Tizen::Graphics::Color __highlightedTextColor;
264 Tizen::Graphics::Color __normalTitleTextColor;
265 Tizen::Graphics::Color __disabledTitleTextColor;
266 Tizen::Graphics::Color __pressedTitleTextColor;
267 Tizen::Graphics::Color __highlightedTitleTextColor;
269 Tizen::Graphics::Color __normalColor;
270 Tizen::Graphics::Color __disabledColor;
271 Tizen::Graphics::Color __pressedColor;
272 Tizen::Graphics::Color __highlightedColor;
274 Tizen::Graphics::Bitmap* __pMarkBgNormalBitmap;
275 Tizen::Graphics::Bitmap* __pMarkBgPressedBitmap;
276 Tizen::Graphics::Bitmap* __pMarkBitmap;
278 Tizen::Graphics::Bitmap* __pOnOffBgNormalBitmap;
279 Tizen::Graphics::Bitmap* __pOnOffBgPressedBitmap;
280 Tizen::Graphics::Bitmap* __pOnOffBitmap;
282 Tizen::Graphics::Bitmap* __pOnOffSlidingOnBitmap;
283 Tizen::Graphics::Bitmap* __pOnOffSlidingOffBitmap;
284 Tizen::Graphics::Bitmap* __pDimOnOffSlidingOnBitmap;
285 Tizen::Graphics::Bitmap* __pDimOnOffSlidingOffBitmap;
287 Tizen::Graphics::Bitmap* __pCircleBitmap;
288 Tizen::Graphics::Bitmap* __pCircleNormalEffectBitmap;
289 Tizen::Graphics::Bitmap* __pCirclePressedEffectBitmap;
290 Tizen::Graphics::Bitmap* __pDetailedBitmap;
292 Tizen::Graphics::Bitmap* __pBackgroundBitmap;
293 Tizen::Graphics::Bitmap* __pBackgroundNormalEffectBitmap;
294 Tizen::Graphics::Bitmap* __pBackgroundPressedEffectBitmap;
296 Tizen::Graphics::Bitmap* __pBackgroundTopBitmap;
297 Tizen::Graphics::Bitmap* __pBackgroundTopNormalEffectBitmap;
298 Tizen::Graphics::Bitmap* __pBackgroundTopPressedEffectBitmap;
300 Tizen::Graphics::Bitmap* __pBackgroundMiddleBitmap;
301 Tizen::Graphics::Bitmap* __pBackgroundMiddleNormalEffectBitmap;
302 Tizen::Graphics::Bitmap* __pBackgroundMiddlePressedEffectBitmap;
304 Tizen::Graphics::Bitmap* __pBackgroundBottomBitmap;
305 Tizen::Graphics::Bitmap* __pBackgroundBottomNormalEffectBitmap;
306 Tizen::Graphics::Bitmap* __pBackgroundBottomPressedEffectBitmap;
308 HorizontalAlignment __horizontalAlignment;
309 VerticalAlignment __verticalAlignment;
314 int __parentMoveDistance;
315 bool __previousTouchArea;
317 _Control* __pRadioGroup;
319 Tizen::Ui::_AccessibilityElement* __pButtonElement;
320 Tizen::Ui::_AccessibilityElement* __pDetailButtonElement;
321 Tizen::Ui::_IAccessibilityListener* __pAccessibilityListener;
324 }}} // Tizen::Ui::Controls
326 #endif // _FUI_CTRL_INTERNAL_CHECK_BUTTON_H_