2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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.cpp
19 * @brief This is the implementation file for the _CheckButton class.
22 #include <FBaseErrorDefine.h>
23 #include <FBaseSysLog.h>
24 #include "FUi_AccessibilityContainer.h"
25 #include "FUi_AccessibilityElement.h"
26 #include "FUi_AccessibilityManager.h"
27 #include "FUi_CoordinateSystemUtils.h"
28 #include "FUi_ResourceManager.h"
29 #include "FUi_UiNotificationEvent.h"
30 #include "FUi_UiEventManager.h"
31 #include "FUiCtrl_ScrollPanel.h"
32 #include "FUiCtrl_CheckButton.h"
33 #include "FUiCtrl_CheckButtonPresenter.h"
35 using namespace Tizen::Base;
36 using namespace Tizen::Base::Runtime;
37 using namespace Tizen::Base::Collection;
38 using namespace Tizen::Graphics;
39 using namespace Tizen::Ui;
41 namespace Tizen { namespace Ui { namespace Controls
44 class CheckButtonAccessibilityListener
45 : public _IAccessibilityListener
48 CheckButtonAccessibilityListener(_CheckButton* pCheckButton)
49 : __pCheckButton(pCheckButton)
52 virtual bool OnAccessibilityFocusMovedNext(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
53 virtual bool OnAccessibilityFocusMovedPrevious(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
54 virtual bool OnAccessibilityReadingElement(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
55 virtual bool OnAccessibilityReadElement(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
56 virtual bool OnAccessibilityFocusIn(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
57 virtual bool OnAccessibilityFocusOut(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
58 virtual bool OnAccessibilityValueIncreased(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
59 virtual bool OnAccessibilityValueDecreased(const _AccessibilityContainer& control, const _AccessibilityElement& element){return false;}
60 virtual bool OnAccessibilityActionPerformed(const _AccessibilityContainer& control, const _AccessibilityElement& element)
62 if (element.GetName() == L"MoreButtonText")
66 CheckButtonStyle style = __pCheckButton->GetCheckButtonStyle();
67 if (style == CHECK_BUTTON_STYLE_MARK || style == CHECK_BUTTON_STYLE_MARK_WITH_DIVIDER || style == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
69 if(__pCheckButton->IsSelected())
71 _AccessibilityManager::GetInstance()->ReadContent(L"ticked");
75 _AccessibilityManager::GetInstance()->ReadContent(L"unticked");
78 else if (style == CHECK_BUTTON_STYLE_RADIO || style == CHECK_BUTTON_STYLE_RADIO_WITH_DIVIDER || style == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
80 if(__pCheckButton->IsSelected())
82 _AccessibilityManager::GetInstance()->ReadContent(L"selected");
86 _AccessibilityManager::GetInstance()->ReadContent(L"unselected");
89 else if (style == CHECK_BUTTON_STYLE_ONOFF || style == CHECK_BUTTON_STYLE_ONOFF_WITH_DIVIDER
90 || style == CHECK_BUTTON_STYLE_ONOFF_SLIDING || style == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
92 if(__pCheckButton->IsSelected())
94 _AccessibilityManager::GetInstance()->ReadContent(L"on");
98 _AccessibilityManager::GetInstance()->ReadContent(L"off");
104 _CheckButton* __pCheckButton;
107 IMPLEMENT_PROPERTY(_CheckButton);
109 _CheckButton::_CheckButton(void)
110 : __checkButtonStyle(CHECK_BUTTON_STYLE_MARK)
111 , __backgroundStyle(BACKGROUND_STYLE_DEFAULT)
113 , __groupStyle(GROUP_STYLE_NONE)
114 , __checkButtonStatus(_CHECK_BUTTON_STATUS_NORMAL)
115 , __pCheckButtonPresenter(null)
116 , __pActionEvent(null)
118 , __checkedActionId(0)
119 , __uncheckedActionId(0)
120 , __selectedActionId(-1)
123 , __pCircleNormalEffectBitmap(null)
124 , __pCirclePressedEffectBitmap(null)
125 , __pBackgroundNormalEffectBitmap(null)
126 , __pBackgroundPressedEffectBitmap(null)
127 , __pBackgroundTopNormalEffectBitmap(null)
128 , __pBackgroundTopPressedEffectBitmap(null)
129 , __pBackgroundMiddleNormalEffectBitmap(null)
130 , __pBackgroundMiddlePressedEffectBitmap(null)
131 , __pBackgroundBottomNormalEffectBitmap(null)
132 , __pBackgroundBottomPressedEffectBitmap(null)
133 , __horizontalAlignment(ALIGNMENT_LEFT)
134 , __verticalAlignment(ALIGNMENT_MIDDLE)
136 , __titleTextSize(0.0f)
137 , __previousTouchArea(false)
138 , __pRadioGroup(null)
139 , __pButtonElement(null)
140 , __pDetailButtonElement(null)
141 , __pAccessibilityListener(null)
143 result r = E_SUCCESS;
145 _AccessibilityContainer* pContainer = null;
147 GET_SHAPE_CONFIG(CHECKBUTTON::TEXT_FONT_SIZE, _CONTROL_ORIENTATION_PORTRAIT, __textSize);
148 GET_SHAPE_CONFIG(CHECKBUTTON::TITLE_TEXT_FONT_SIZE, _CONTROL_ORIENTATION_PORTRAIT, __titleTextSize);
150 _CheckButtonPresenter* pPresenter = new (std::nothrow) _CheckButtonPresenter();
151 SysTryReturnVoidResult(NID_UI_CTRL, pPresenter, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
153 r = SetPresenter(*pPresenter);
154 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error occurred.");
156 r = pPresenter->Construct(*this);
157 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error occurred.");
159 r = pPresenter->Install();
160 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error occurred.");
162 for (int i = 0; i < NUMBER_OF_CHECK_BUTTON_STATUS; i++)
164 __pMarkBgNormalBitmap[i] = null;
165 __pMarkBitmap[i] = null;
166 __pOnOffBgNormalBitmap[i] = null;
167 __pOnOffBitmap[i] = null;
168 __pOnOffSlidingBgBitmap[i] = null;
169 __pOnOffSlidingOnHandlerBitmap[i] = null;
170 __pOnOffSlidingOffHandlerBitmap[i] = null;
171 __pCircleBitmap[i] = null;
172 __pDetailedRightBitmap[i] = null;
174 __pBackgroundBitmap[i] = null;
175 __pBackgroundTopBitmap[i] = null;
176 __pBackgroundMiddleBitmap[i] = null;
177 __pBackgroundBottomBitmap[i] = null;
180 GET_COLOR_CONFIG(CHECKBUTTON::TEXT_NORMAL, __normalTextColor);
181 GET_COLOR_CONFIG(CHECKBUTTON::TEXT_DISABLED, __disabledTextColor);
182 GET_COLOR_CONFIG(CHECKBUTTON::TEXT_PRESSED, __pressedTextColor);
183 GET_COLOR_CONFIG(CHECKBUTTON::TEXT_HIGHLIGHTED, __highlightedTextColor);
184 GET_COLOR_CONFIG(CHECKBUTTON::TEXT_SELECTED, __selectedTextColor);
186 GET_COLOR_CONFIG(CHECKBUTTON::TITLE_TEXT_NORMAL, __normalTitleTextColor);
187 GET_COLOR_CONFIG(CHECKBUTTON::TITLE_TEXT_DISABLED, __disabledTitleTextColor);
188 GET_COLOR_CONFIG(CHECKBUTTON::TITLE_TEXT_PRESSED, __pressedTitleTextColor);
189 GET_COLOR_CONFIG(CHECKBUTTON::TITLE_TEXT_HIGHLIGHTED, __highlightedTitleTextColor);
190 GET_COLOR_CONFIG(CHECKBUTTON::TITLE_TEXT_SELECTED, __selectedTitleTextColor);
192 GET_COLOR_CONFIG(CHECKBUTTON::BG_NORMAL, __normalColor);
193 GET_COLOR_CONFIG(CHECKBUTTON::BG_DISABLED, __disabledColor);
194 GET_COLOR_CONFIG(CHECKBUTTON::BG_PRESSED, __pressedColor);
195 GET_COLOR_CONFIG(CHECKBUTTON::BG_HIGHLIGHTED, __highlightedColor);
196 GET_COLOR_CONFIG(CHECKBUTTON::BG_SELECTED, __selectedColor);
198 pContainer = GetAccessibilityContainer();
202 pContainer->Activate(true);
203 __pAccessibilityListener = new (std::nothrow) CheckButtonAccessibilityListener(this);
204 pContainer->AddListener(*__pAccessibilityListener);
205 UpdateAccessibilityElement();
217 _CheckButton::CreateCheckButtonN(void)
219 _CheckButton* pCheckButton = new (std::nothrow) _CheckButton();
220 SysTryReturn(NID_UI_CTRL, pCheckButton, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
221 SysTryCatch(NID_UI_CTRL, GetLastResult() == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error occurred.");
223 pCheckButton->AcquireHandle();
225 pCheckButton->LoadDefaultBackgroundBitmap();
227 pCheckButton->SetTouchPressThreshold(SENSITIVE);
236 _CheckButton::~_CheckButton(void)
238 if (__pCheckButtonPresenter)
240 delete __pCheckButtonPresenter;
241 __pCheckButtonPresenter = null;
246 delete __pActionEvent;
247 __pActionEvent = null;
250 for (int i = 0; i < NUMBER_OF_CHECK_BUTTON_STATUS; i++)
252 if (__pMarkBgNormalBitmap[i])
254 delete __pMarkBgNormalBitmap[i];
255 __pMarkBgNormalBitmap[i] = null;
258 if (__pMarkBitmap[i])
260 delete __pMarkBitmap[i];
261 __pMarkBitmap[i] = null;
264 if (__pOnOffBgNormalBitmap[i])
266 delete __pOnOffBgNormalBitmap[i];
267 __pOnOffBgNormalBitmap[i] = null;
270 if (__pOnOffBitmap[i])
272 delete __pOnOffBitmap[i];
273 __pOnOffBitmap[i] = null;
276 if (__pOnOffSlidingBgBitmap[i])
278 delete __pOnOffSlidingBgBitmap[i];
279 __pOnOffSlidingBgBitmap[i] = null;
282 if (__pOnOffSlidingOnHandlerBitmap[i])
284 delete __pOnOffSlidingOnHandlerBitmap[i];
285 __pOnOffSlidingOnHandlerBitmap[i] = null;
288 if (__pOnOffSlidingOffHandlerBitmap[i])
290 delete __pOnOffSlidingOffHandlerBitmap[i];
291 __pOnOffSlidingOffHandlerBitmap[i] = null;
294 if (__pCircleBitmap[i])
296 delete __pCircleBitmap[i];
297 __pCircleBitmap[i] = null;
300 if (__pDetailedRightBitmap[i])
302 delete __pDetailedRightBitmap[i];
303 __pDetailedRightBitmap[i] = null;
306 if (__pBackgroundBitmap[i])
308 delete __pBackgroundBitmap[i];
309 __pBackgroundBitmap[i] = null;
312 if (__pBackgroundTopBitmap[i])
314 delete __pBackgroundTopBitmap[i];
315 __pBackgroundTopBitmap[i] = null;
318 if (__pBackgroundMiddleBitmap[i])
320 delete __pBackgroundMiddleBitmap[i];
321 __pBackgroundMiddleBitmap[i] = null;
324 if (__pBackgroundBottomBitmap[i])
326 delete __pBackgroundBottomBitmap[i];
327 __pBackgroundBottomBitmap[i] = null;
331 if (__pCircleNormalEffectBitmap)
333 delete __pCircleNormalEffectBitmap;
334 __pCircleNormalEffectBitmap = null;
337 if (__pCirclePressedEffectBitmap)
339 delete __pCirclePressedEffectBitmap;
340 __pCirclePressedEffectBitmap = null;
343 if (__pBackgroundNormalEffectBitmap)
345 delete __pBackgroundNormalEffectBitmap;
346 __pBackgroundNormalEffectBitmap = null;
349 if (__pBackgroundPressedEffectBitmap)
351 delete __pBackgroundPressedEffectBitmap;
352 __pBackgroundPressedEffectBitmap = null;
355 if (__pBackgroundTopNormalEffectBitmap)
357 delete __pBackgroundTopNormalEffectBitmap;
358 __pBackgroundTopNormalEffectBitmap = null;
361 if (__pBackgroundTopPressedEffectBitmap)
363 delete __pBackgroundTopPressedEffectBitmap;
364 __pBackgroundTopPressedEffectBitmap = null;
367 if (__pBackgroundMiddleNormalEffectBitmap)
369 delete __pBackgroundMiddleNormalEffectBitmap;
370 __pBackgroundMiddleNormalEffectBitmap = null;
373 if (__pBackgroundMiddlePressedEffectBitmap)
375 delete __pBackgroundMiddlePressedEffectBitmap;
376 __pBackgroundMiddlePressedEffectBitmap = null;
379 if (__pBackgroundBottomNormalEffectBitmap)
381 delete __pBackgroundBottomNormalEffectBitmap;
382 __pBackgroundBottomNormalEffectBitmap = null;
385 if (__pBackgroundBottomPressedEffectBitmap)
387 delete __pBackgroundBottomPressedEffectBitmap;
388 __pBackgroundBottomPressedEffectBitmap = null;
391 if (__pButtonElement)
393 __pButtonElement->Activate(false);
394 __pButtonElement = null;
396 if (__pDetailButtonElement)
398 __pDetailButtonElement->Activate(false);
399 __pDetailButtonElement = null;
402 _AccessibilityContainer* pContainer = GetAccessibilityContainer();
406 pContainer->RemoveListener(*__pAccessibilityListener);
408 delete __pAccessibilityListener;
409 __pAccessibilityListener = null;
415 _CheckButton::SetPresenter(const _CheckButtonPresenter& checkButtonPresenter)
417 __pCheckButtonPresenter = const_cast <_CheckButtonPresenter*>(&checkButtonPresenter);
423 _CheckButton::OnDraw(void)
425 __pCheckButtonPresenter->Draw();
426 UpdateAccessibilityElement();
432 _CheckButton::OnAttachedToMainTree(void)
436 __pButtonElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
439 if(__pDetailButtonElement)
441 __pDetailButtonElement->SetBounds(FloatRectangle(__pCheckButtonPresenter->GetDetailedButtonBoundsF()));
447 _CheckButton::UpdateAccessibilityElement(void)
449 _AccessibilityContainer* pContainer = GetAccessibilityContainer();
456 label = GetTitleText();
460 if (__checkButtonStyle == CHECK_BUTTON_STYLE_MARK || __checkButtonStyle == CHECK_BUTTON_STYLE_MARK_WITH_DIVIDER
461 || __checkButtonStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
463 if (__pButtonElement == null)
465 __pButtonElement = new (std::nothrow) _AccessibilityElement(true);
466 SysTryReturnVoidResult(NID_UI_CTRL, __pButtonElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
467 pContainer->AddElement(*__pButtonElement);
469 __pButtonElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
470 __pButtonElement->SetLabel(label + GetText());
471 __pButtonElement->SetTraitWithStringId("IDS_TPLATFORM_BODY_TICKBOX_T_TTS");
472 __pButtonElement->SetName(L"CheckButtonText");
474 if (__checkButtonStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
476 if (__pDetailButtonElement == null)
478 __pDetailButtonElement = new (std::nothrow) _AccessibilityElement(true);
479 SysTryReturnVoidResult(NID_UI_CTRL, __pDetailButtonElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
480 pContainer->AddElement(*__pDetailButtonElement);
482 __pDetailButtonElement->SetBounds(FloatRectangle(__pCheckButtonPresenter->GetDetailedButtonBoundsF()));
483 __pDetailButtonElement->SetLabel(L"More");
484 __pDetailButtonElement->SetTraitWithStringId("IDS_TPLATFORM_BODY_BUTTON_T_TTS");
485 __pDetailButtonElement->SetName(L"MoreButtonText");
488 else if (__checkButtonStyle == CHECK_BUTTON_STYLE_RADIO || __checkButtonStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DIVIDER
489 || __checkButtonStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
491 if (__pButtonElement == null)
493 __pButtonElement = new (std::nothrow) _AccessibilityElement(true);
494 SysTryReturnVoidResult(NID_UI_CTRL, __pButtonElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
495 pContainer->AddElement(*__pButtonElement);
497 __pButtonElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
498 __pButtonElement->SetLabel(label + GetText());
499 __pButtonElement->SetTraitWithStringId("IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS");
500 __pButtonElement->SetName(L"CheckButtonText");
502 if (__checkButtonStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
504 if (__pDetailButtonElement == null)
506 __pDetailButtonElement = new (std::nothrow) _AccessibilityElement(true);
507 SysTryReturnVoidResult(NID_UI_CTRL, __pDetailButtonElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
508 pContainer->AddElement(*__pDetailButtonElement);
510 __pDetailButtonElement->SetBounds(FloatRectangle(__pCheckButtonPresenter->GetDetailedButtonBoundsF()));
511 __pDetailButtonElement->SetLabel(L"More");
512 __pDetailButtonElement->SetTraitWithStringId("IDS_TPLATFORM_BODY_BUTTON_T_TTS");
513 __pDetailButtonElement->SetName(L"MoreButtonText");
516 else if (__checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_WITH_DIVIDER
517 || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
519 if (__pButtonElement == null)
521 __pButtonElement = new (std::nothrow) _AccessibilityElement(true);
522 SysTryReturnVoidResult(NID_UI_CTRL, __pButtonElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
523 pContainer->AddElement(*__pButtonElement);
525 __pButtonElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
526 __pButtonElement->SetLabel(label + GetText());
527 __pButtonElement->SetTraitWithStringId("IDS_TPLATFORM_BODY_ON_OFF_BUTTON_T_TTS");
528 __pButtonElement->SetName(L"CheckButtonText");
530 UpdateAccessibilityCheckStatus();
537 _CheckButton::OnTouchPressed(const _Control& source, const _TouchInfo& touchinfo)
539 return __pCheckButtonPresenter->OnTouchPressed(source, touchinfo);
543 _CheckButton::OnTouchReleased(const _Control& source, const _TouchInfo& touchinfo)
545 return __pCheckButtonPresenter->OnTouchReleased(source, touchinfo);
549 _CheckButton::OnTouchMoved(const _Control& source, const _TouchInfo& touchinfo)
551 return __pCheckButtonPresenter->OnTouchMoved(source, touchinfo);
555 _CheckButton::OnTouchCanceled(const _Control & source, const _TouchInfo & touchinfo)
557 return __pCheckButtonPresenter->OnTouchCanceled(source, touchinfo);
561 _CheckButton::OnTouchMoveHandled(const _Control& control)
563 __pCheckButtonPresenter->OnTouchMoveHandled(control);
569 _CheckButton::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
571 return __pCheckButtonPresenter->OnKeyPressed(source, keyInfo);
575 _CheckButton::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
577 return __pCheckButtonPresenter->OnKeyReleased(source, keyInfo);
581 _CheckButton::OnBoundsChanged(void)
585 __pButtonElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
588 if(__pDetailButtonElement)
590 __pDetailButtonElement->SetBounds(FloatRectangle(__pCheckButtonPresenter->GetDetailedButtonBoundsF()));
593 if (__checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
595 __pCheckButtonPresenter->CalculateButtonBounds();
596 __pCheckButtonPresenter->AdjustHandlerPosition();
603 _CheckButton::OnFontChanged(Font* pFont)
605 __pCheckButtonPresenter->OnFontChanged(pFont);
611 _CheckButton::OnFontInfoRequested(unsigned long& style, int& size)
613 __pCheckButtonPresenter->OnFontInfoRequested(style, size);
619 _CheckButton::OnDrawFocus(void)
621 __pCheckButtonPresenter->OnDrawFocus();
627 _CheckButton::OnChildControlFocusMoved(const _Control& control)
629 __pCheckButtonPresenter->OnChildControlFocusMoved(control);
635 _CheckButton::IsChildControlFocusManage(void) const
637 __pCheckButtonPresenter->IsChildControlFocusManage();
643 _CheckButton::OnFocusableStateChanged(bool focusalbeState)
645 __pCheckButtonPresenter->OnFocusableStateChanged(focusalbeState);
651 _CheckButton::OnFocusModeStateChanged(void)
653 __pCheckButtonPresenter->OnFocusModeStateChanged();
659 _CheckButton::OnFocusGained(const _Control& source)
661 __pCheckButtonPresenter->OnFocusGained(source);
667 _CheckButton::OnFocusLost(const _Control& source)
669 __pCheckButtonPresenter->OnFocusLost(source);
675 _CheckButton::SendTouchReleasedEvent(const _Control& control)
677 const _Control* pDestination = dynamic_cast <const _Control*>(&control);
678 SysTryReturnVoidResult(NID_UI_CTRL, pDestination != null, E_SYSTEM, "[E_SYSTEM] pDestination is null.");
680 ArrayList* pArgs = new (std::nothrow) ArrayList();
681 SysTryReturnVoidResult(NID_UI_CTRL, pArgs != null, E_SYSTEM, "[E_SYSTEM] pArgs is null.");
684 r = pArgs->Construct();
685 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM, "[E_SYSTEM] Unable to construct pArgs");
688 String type(L"CheckButtonReleasedEvent");
689 r = pArgs->Add(type);
690 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM, "[E_SYSTEM] Unable to add type to pArgs");
692 r = pArgs->Add(*this);
693 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM, "[E_SYSTEM] Unable to add data to pArgs");
696 _UiNotificationEvent event(__pRadioGroup->GetHandle(), pArgs);
698 r = _UiEventManager::GetInstance()->SendEvent(event);
704 _CheckButton::SetSelected(bool select)
706 return SetProperty(L"selected", Variant(select));
710 _CheckButton::SetPropertySelected(const Variant& selected)
712 __selected = selected.ToBool();
714 //if (__selected == true)
716 // SetCheckButtonStatus(_CHECK_BUTTON_STATUS_SELECTED);
720 // SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
723 if (__checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
725 __pCheckButtonPresenter->CalculateButtonBounds();
726 __pCheckButtonPresenter->InitOnOffHandlerMoved();
727 __pCheckButtonPresenter->AdjustHandlerPosition();
730 __pCheckButtonPresenter->Draw();
736 _CheckButton::IsSelected(void) const
738 Variant selected = GetProperty(L"selected");
740 return selected.ToBool();
744 _CheckButton::GetPropertySelected(void) const
746 return Variant(__selected);
750 _CheckButton::AddActionEventListener(const Controls::_IActionEventListener& listener)
752 if (__pActionEvent == null)
754 __pActionEvent = _ActionEvent::CreateInstanceN(*this);
755 SysTryReturn(NID_UI_CTRL, __pActionEvent, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] A system error occurred.\n");
758 result r = __pActionEvent->AddListener(listener);
759 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
765 _CheckButton::RemoveActionEventListener(const Controls::_IActionEventListener& listener)
767 result r = E_OBJ_NOT_FOUND;
771 r = __pActionEvent->RemoveListener(listener);
774 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
780 _CheckButton::AddRadioGroup(const _Control& radioGroup)
782 SysTryReturn(NID_UI_CTRL, __pRadioGroup == null, E_INVALID_ARG, E_INVALID_ARG,
783 "[E_INVALID_ARG] The CheckButton is already belonged to a RadioGroup.\n");
785 __pRadioGroup = const_cast <_Control*>(&radioGroup);
791 _CheckButton::RemoveRadioGroup(void)
793 SysTryReturn(NID_UI_CTRL, __pRadioGroup, E_OBJ_NOT_FOUND, E_OBJ_NOT_FOUND,
794 "[E_OBJ_NOT_FOUND] Unable to find the CheckButton.\n");
796 __pRadioGroup = null;
802 _CheckButton::SetActionId(int checkedActionId, int uncheckedActionId, int selectedActionId)
804 result r = E_SUCCESS;
806 r = SetProperty(L"checkedActionId", Variant(checkedActionId));
807 r = SetProperty(L"uncheckedActionId", Variant(uncheckedActionId));
808 r = SetProperty(L"selectedActionId", Variant(selectedActionId));
814 _CheckButton::SetPropertyCheckedActionId(const Variant& checkedActionId)
816 __checkedActionId = checkedActionId.ToInt();
822 _CheckButton::GetCheckedActionId(void) const
824 Variant checkedActionId = GetProperty(L"checkedActionId");
826 return checkedActionId.ToInt();
830 _CheckButton::GetPropertyCheckedActionId(void) const
832 return Variant(__checkedActionId);
836 _CheckButton::SetPropertyUncheckedActionId(const Variant& uncheckedActionId)
838 __uncheckedActionId = uncheckedActionId.ToInt();
844 _CheckButton::GetUncheckedActionId(void) const
846 Variant uncheckedActionId = GetProperty(L"uncheckedActionId");
848 return uncheckedActionId.ToInt();
852 _CheckButton::GetPropertyUncheckedActionId(void) const
854 return Variant(__uncheckedActionId);
858 _CheckButton::SetPropertySelectedActionId(const Variant& selectedActionId)
860 __selectedActionId = selectedActionId.ToInt();
866 _CheckButton::GetSelectedActionId(void) const
868 Variant selectedActionId = GetProperty(L"selectedActionId");
870 return selectedActionId.ToInt();
874 _CheckButton::GetPropertySelectedActionId(void) const
876 return Variant(__selectedActionId);
880 _CheckButton::LoadDefaultBackgroundBitmap(void)
882 result r = E_SUCCESS;
884 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
885 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
886 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
887 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
888 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
890 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundNormalEffectBitmap);
891 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_SINGLE_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundPressedEffectBitmap);
893 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
894 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
895 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
896 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
897 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
899 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopNormalEffectBitmap);
900 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_TOP_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundTopPressedEffectBitmap);
902 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddleBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
903 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddleBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
904 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddleBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
905 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddleBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
906 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddleBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
908 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddleNormalEffectBitmap);
909 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_MIDDLE_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundMiddlePressedEffectBitmap);
911 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
912 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
913 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
914 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
915 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
917 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomNormalEffectBitmap);
918 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::GROUPED_BOTTOM_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundBottomPressedEffectBitmap);
920 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBgNormalBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
921 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBgNormalBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
922 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBgNormalBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
923 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBgNormalBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
924 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBgNormalBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
926 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
927 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
928 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
929 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
930 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::MARK_ICON_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pMarkBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
932 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBgNormalBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
933 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBgNormalBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
934 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBgNormalBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
935 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBgNormalBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
936 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBgNormalBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
938 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
939 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
940 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
941 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
942 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_ICON_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
944 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingBgBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
945 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingBgBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
946 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingBgBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
947 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingBgBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
948 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingBgBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
950 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_ON_HANDLER_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOnHandlerBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
951 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_ON_HANDLER_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOnHandlerBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
952 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_ON_HANDLER_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOnHandlerBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
953 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_ON_HANDLER_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOnHandlerBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
954 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_ON_HANDLER_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOnHandlerBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
956 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_OFF_HANDLER_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOffHandlerBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
957 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_OFF_HANDLER_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOffHandlerBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
958 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_OFF_HANDLER_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOffHandlerBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
959 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_OFF_HANDLER_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOffHandlerBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
960 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::ONOFF_SLIDING_OFF_HANDLER_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pOnOffSlidingOffHandlerBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
962 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pCircleBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
963 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCircleBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
964 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCircleBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
965 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCircleBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
966 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCircleBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
968 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pCircleNormalEffectBitmap);
969 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCirclePressedEffectBitmap);
971 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_ICON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pDetailedRightBitmap[_CHECK_BUTTON_STATUS_NORMAL]);
972 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_ICON_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pDetailedRightBitmap[_CHECK_BUTTON_STATUS_DISABLED]);
973 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_ICON_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pDetailedRightBitmap[_CHECK_BUTTON_STATUS_PRESSED]);
974 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_ICON_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pDetailedRightBitmap[_CHECK_BUTTON_STATUS_HIGHLIGHTED]);
975 r = GET_BITMAP_CONFIG_N(CHECKBUTTON::DETAILED_ICON_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pDetailedRightBitmap[_CHECK_BUTTON_STATUS_SELECTED]);
981 _CheckButton::SetText(const String& text)
983 return SetProperty(L"text", Variant(text));
987 _CheckButton::SetPropertyText(const Variant& text)
989 __text = text.ToString();
993 __pButtonElement->SetLabel(__text);
1000 _CheckButton::GetText(void) const
1002 Variant text = GetProperty(L"text");
1004 return text.ToString();
1008 _CheckButton::GetPropertyText(void) const
1010 return Variant(__text);
1014 _CheckButton::SetTitleText(const String& title)
1016 return SetProperty(L"titleText", Variant(title));
1020 _CheckButton::SetPropertyTitleText(const Variant& title)
1022 __titleText = title.ToString();
1024 if (__pButtonElement)
1026 String label = __titleText;
1027 label.Append(L", ");
1029 __pButtonElement->SetLabel(label + GetText());
1035 _CheckButton::GetTitleText(void) const
1037 Variant title = GetProperty(L"titleText");
1039 return title.ToString();
1043 _CheckButton::GetPropertyTitleText(void) const
1045 return Variant(__titleText);
1049 _CheckButton::SetTextHorizontalAlignment(HorizontalAlignment alignment)
1051 __horizontalAlignment = alignment;
1056 _CheckButton::GetTextHorizontalAlignment(void) const
1058 return __horizontalAlignment;
1062 _CheckButton::SetTextVerticalAlignment(VerticalAlignment alignment)
1064 __verticalAlignment = alignment;
1069 _CheckButton::GetTextVerticalAlignment(void) const
1071 return __verticalAlignment;
1075 _CheckButton::SetTextColor(const Color& color)
1077 return SetProperty(L"normalTextColor", Variant(color));
1081 _CheckButton::GetTextColor(void) const
1083 Variant color = GetProperty(L"normalTextColor");
1085 return color.ToColor();
1089 _CheckButton::SetDisabledTextColor(const Color& color)
1091 return SetProperty(L"disabledTextColor", Variant(color));
1095 _CheckButton::GetDisabledTextColor(void) const
1097 Variant color = GetProperty(L"disabledTextColor");
1099 return color.ToColor();
1103 _CheckButton::SetPressedTextColor(const Color& color)
1105 return SetProperty(L"pressedTextColor", Variant(color));
1109 _CheckButton::GetPressedTextColor(void) const
1111 Variant color = GetProperty(L"pressedTextColor");
1113 return color.ToColor();
1117 _CheckButton::SetHighlightedTextColor(const Color& color)
1119 return SetProperty(L"highlightedTextColor", Variant(color));
1123 _CheckButton::GetHighlightedTextColor(void) const
1126 Variant color = GetProperty(L"highlightedTextColor");
1128 return color.ToColor();
1132 _CheckButton::SetSelectedTextColor(const Color& color)
1134 return SetProperty(L"selectedTextColor", Variant(color));
1138 _CheckButton::GetSelectedTextColor(void) const
1141 Variant color = GetProperty(L"selectedTextColor");
1143 return color.ToColor();
1147 _CheckButton::SetPropertyNormalTextColor(const Variant& color)
1149 __normalTextColor = color.ToColor();
1154 _CheckButton::SetPropertyDisabledTextColor(const Variant& color)
1156 __disabledTextColor = color.ToColor();
1161 _CheckButton::SetPropertyPressedTextColor(const Variant& color)
1163 __pressedTextColor = color.ToColor();
1168 _CheckButton::SetPropertyHighlightedTextColor(const Variant& color)
1170 __highlightedTextColor = color.ToColor();
1175 _CheckButton::SetPropertySelectedTextColor(const Variant& color)
1177 __selectedTextColor = color.ToColor();
1182 _CheckButton::GetPropertyNormalTextColor(void) const
1184 return Variant(__normalTextColor);
1188 _CheckButton::GetPropertyDisabledTextColor(void) const
1190 return Variant(__disabledTextColor);
1194 _CheckButton::GetPropertyPressedTextColor(void) const
1196 return Variant(__pressedTextColor);
1200 _CheckButton::GetPropertyHighlightedTextColor(void) const
1202 return Variant(__highlightedTextColor);
1206 _CheckButton::GetPropertySelectedTextColor(void) const
1208 return Variant(__selectedTextColor);
1212 _CheckButton::SetTitleTextColor(const Color& color)
1214 return SetProperty(L"normalTitleTextColor", Variant(color));
1218 _CheckButton::GetTitleTextColor(void) const
1220 Variant color = GetProperty(L"normalTitleTextColor");
1222 return color.ToColor();
1226 _CheckButton::SetDisabledTitleTextColor(const Color& color)
1228 return SetProperty(L"disabledTitleTextColor", Variant(color));
1232 _CheckButton::GetDisabledTitleTextColor(void) const
1234 Variant color = GetProperty(L"disabledTitleTextColor");
1236 return color.ToColor();
1240 _CheckButton::SetPressedTitleTextColor(const Color& color)
1242 return SetProperty(L"pressedTitleTextColor", Variant(color));
1246 _CheckButton::GetPressedTitleTextColor(void) const
1248 Variant color = GetProperty(L"pressedTitleTextColor");
1250 return color.ToColor();
1254 _CheckButton::SetHighlightedTitleTextColor(const Color& color)
1256 return SetProperty(L"highlightedTitleTextColor", Variant(color));
1260 _CheckButton::GetHighlightedTitleTextColor(void) const
1262 Variant color = GetProperty(L"highlightedTitleTextColor");
1264 return color.ToColor();
1268 _CheckButton::SetSelectedTitleTextColor(const Color& color)
1270 return SetProperty(L"selectedTitleTextColor", Variant(color));
1274 _CheckButton::GetSelectedTitleTextColor(void) const
1276 Variant color = GetProperty(L"selectedTitleTextColor");
1278 return color.ToColor();
1282 _CheckButton::SetPropertyNormalTitleTextColor(const Variant& color)
1284 __normalTitleTextColor = color.ToColor();
1289 _CheckButton::SetPropertyDisabledTitleTextColor(const Variant& color)
1291 __disabledTitleTextColor = color.ToColor();
1296 _CheckButton::SetPropertyPressedTitleTextColor(const Variant& color)
1298 __pressedTitleTextColor = color.ToColor();
1303 _CheckButton::SetPropertyHighlightedTitleTextColor(const Variant& color)
1305 __highlightedTitleTextColor = color.ToColor();
1310 _CheckButton::SetPropertySelectedTitleTextColor(const Variant& color)
1312 __selectedTitleTextColor = color.ToColor();
1317 _CheckButton::GetPropertyNormalTitleTextColor(void) const
1319 return Variant(__normalTitleTextColor);
1323 _CheckButton::GetPropertyDisabledTitleTextColor(void) const
1325 return Variant(__disabledTitleTextColor);
1329 _CheckButton::GetPropertyPressedTitleTextColor(void) const
1331 return Variant(__pressedTitleTextColor);
1335 _CheckButton::GetPropertyHighlightedTitleTextColor(void) const
1337 return Variant(__highlightedTitleTextColor);
1341 _CheckButton::GetPropertySelectedTitleTextColor(void) const
1343 return Variant(__selectedTitleTextColor);
1347 _CheckButton::SetColor(_CheckButtonStatus status, const Color& color)
1349 result r = E_SUCCESS;
1353 case _CHECK_BUTTON_STATUS_NORMAL:
1354 r = SetProperty(L"normalColor", Variant(color));
1356 case _CHECK_BUTTON_STATUS_DISABLED:
1357 r = SetProperty(L"disabledColor", Variant(color));
1359 case _CHECK_BUTTON_STATUS_PRESSED:
1360 r = SetProperty(L"pressedColor", Variant(color));
1362 case _CHECK_BUTTON_STATUS_HIGHLIGHTED:
1363 r = SetProperty(L"highlightedColor", Variant(color));
1366 r = SetProperty(L"selectedColor", Variant(color));
1373 _CheckButton::SetPropertyNormalColor(const Variant& color)
1375 __normalColor = color.ToColor();
1380 _CheckButton::SetPropertyDisabledColor(const Variant& color)
1382 __disabledColor = color.ToColor();
1387 _CheckButton::SetPropertyPressedColor(const Variant& color)
1389 __pressedColor = color.ToColor();
1394 _CheckButton::SetPropertyHighlightedColor(const Variant& color)
1396 __highlightedColor = color.ToColor();
1401 _CheckButton::SetPropertySelectedColor(const Variant& color)
1403 __selectedColor = color.ToColor();
1408 _CheckButton::GetColor(_CheckButtonStatus status) const
1414 case _CHECK_BUTTON_STATUS_NORMAL:
1415 color = GetProperty(L"normalColor");
1417 case _CHECK_BUTTON_STATUS_DISABLED:
1418 color = GetProperty(L"disabledColor");
1420 case _CHECK_BUTTON_STATUS_PRESSED:
1421 color = GetProperty(L"pressedColor");
1423 case _CHECK_BUTTON_STATUS_HIGHLIGHTED:
1424 color = GetProperty(L"highlightedColor");
1427 color = GetProperty(L"selectedColor");
1430 return color.ToColor();
1434 _CheckButton::GetPropertyNormalColor(void) const
1436 return Variant(__normalColor);
1440 _CheckButton::GetPropertyDisabledColor(void) const
1442 return Variant(__disabledColor);
1446 _CheckButton::GetPropertyPressedColor(void) const
1448 return Variant(__pressedColor);
1452 _CheckButton::GetPropertyHighlightedColor(void) const
1454 return Variant(__highlightedColor);
1458 _CheckButton::GetPropertySelectedColor(void) const
1460 return Variant(__selectedColor);
1464 _CheckButton::GetTextSize(void) const
1466 return _CoordinateSystemUtils::ConvertToInteger(GetTextSizeF());
1470 _CheckButton::GetTextSizeF(void) const
1476 _CheckButton::GetTitleTextSize(void) const
1478 return _CoordinateSystemUtils::ConvertToInteger(GetTitleTextSizeF());
1482 _CheckButton::GetTitleTextSizeF(void) const
1484 return __titleTextSize;
1488 _CheckButton::SetCheckButtonStyle(const CheckButtonStyle& checkButtonStyle)
1490 __checkButtonStyle = checkButtonStyle;
1495 _CheckButton::SetBackgroundStyle(const BackgroundStyle& backgroundStyle)
1497 __backgroundStyle = backgroundStyle;
1502 _CheckButton::SetShowTitle(bool showTitle)
1504 __showTitle = showTitle;
1509 _CheckButton::SetGroupStyle(const GroupStyle& groupStyle)
1511 __groupStyle = groupStyle;
1516 _CheckButton::SetCheckButtonStatus(_CheckButtonStatus checkButtonStatus)
1518 if (__checkButtonStatus != checkButtonStatus)
1520 __checkButtonStatus = checkButtonStatus;
1523 if (_CHECK_BUTTON_STATUS_DISABLED == __checkButtonStatus)
1525 SetEnableState(false);
1529 SetEnableState(true);
1536 _CheckButton::GetCheckButtonStyle(void) const
1538 return __checkButtonStyle;
1542 _CheckButton::GetBackgroundStyle(void) const
1544 return __backgroundStyle;
1548 _CheckButton::GetShowTitle(void) const
1554 _CheckButton::GetGroupStyle(void) const
1556 return __groupStyle;
1560 _CheckButton::GetCheckButtonStatus(void) const
1562 _CheckButtonStatus status = __checkButtonStatus;
1566 status = _CHECK_BUTTON_STATUS_DISABLED;
1573 _CheckButton::GetMarkBgBitmap(_CheckButtonStatus checkButtonStatus) const
1575 return __pMarkBgNormalBitmap[checkButtonStatus];
1579 _CheckButton::GetMarkBitmap(_CheckButtonStatus checkButtonStatus) const
1581 return __pMarkBitmap[checkButtonStatus];
1585 _CheckButton::GetOnOffBgBitmap(_CheckButtonStatus checkButtonStatus) const
1587 return __pOnOffBgNormalBitmap[checkButtonStatus];
1591 _CheckButton::GetOnOffBitmap(_CheckButtonStatus checkButtonStatus) const
1593 return __pOnOffBitmap[checkButtonStatus];
1597 _CheckButton::GetOnOffSlidingBgBitmap(_CheckButtonStatus checkButtonStatus) const
1599 return __pOnOffSlidingBgBitmap[checkButtonStatus];
1603 _CheckButton::GetOnOffSlidingOnHandlerBitmap(_CheckButtonStatus checkButtonStatus) const
1605 return __pOnOffSlidingOnHandlerBitmap[checkButtonStatus];
1609 _CheckButton::GetOnOffSlidingOffHandlerBitmap(_CheckButtonStatus checkButtonStatus) const
1611 return __pOnOffSlidingOffHandlerBitmap[checkButtonStatus];
1615 _CheckButton::GetCircleBitmap(_CheckButtonStatus checkButtonStatus) const
1617 return __pCircleBitmap[checkButtonStatus];
1621 _CheckButton::GetCircleNormalEffectBitmap(void) const
1623 return __pCircleNormalEffectBitmap;
1627 _CheckButton::GetCirclePressedEffectBitmap(void) const
1629 return __pCirclePressedEffectBitmap;
1633 _CheckButton::GetDetailedRightBitmap(_CheckButtonStatus checkButtonStatus) const
1635 return __pDetailedRightBitmap[checkButtonStatus];
1639 _CheckButton::GetBackgroundBitmap(GroupStyle groupStyle, _CheckButtonStatus checkButtonStatus) const
1643 case GROUP_STYLE_TOP:
1644 return __pBackgroundTopBitmap[checkButtonStatus];
1646 case GROUP_STYLE_MIDDLE:
1647 return __pBackgroundMiddleBitmap[checkButtonStatus];
1649 case GROUP_STYLE_BOTTOM:
1650 return __pBackgroundBottomBitmap[checkButtonStatus];
1653 return __pBackgroundBitmap[checkButtonStatus];
1658 _CheckButton::GetBackgroundNormalEffectBitmap(GroupStyle groupStyle) const
1662 case GROUP_STYLE_TOP:
1663 return __pBackgroundTopNormalEffectBitmap;
1665 case GROUP_STYLE_MIDDLE:
1666 return __pBackgroundMiddleNormalEffectBitmap;
1668 case GROUP_STYLE_BOTTOM:
1669 return __pBackgroundBottomNormalEffectBitmap;
1672 return __pBackgroundNormalEffectBitmap;
1677 _CheckButton::GetBackgroundPressedEffectBitmap(GroupStyle groupStyle) const
1681 case GROUP_STYLE_TOP:
1682 return __pBackgroundTopPressedEffectBitmap;
1684 case GROUP_STYLE_MIDDLE:
1685 return __pBackgroundMiddlePressedEffectBitmap;
1687 case GROUP_STYLE_BOTTOM:
1688 return __pBackgroundBottomPressedEffectBitmap;
1691 return __pBackgroundPressedEffectBitmap;
1696 _CheckButton::IsTouchAreaChanged(bool currentButtonArea)
1698 if (__previousTouchArea != currentButtonArea)
1700 __previousTouchArea = currentButtonArea;
1710 _CheckButton::FireActionEvent(void)
1712 result r = E_SUCCESS;
1718 //SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
1722 IEventArg* pEventArg = _ActionEvent::CreateActionEventArgN(__uncheckedActionId);
1723 SysTryReturn(NID_UI_CTRL, pEventArg, E_INVALID_STATE, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
1724 __pActionEvent->Fire(*pEventArg);
1731 //SetCheckButtonStatus(_CHECK_BUTTON_STATUS_SELECTED);
1735 IEventArg* pEventArg = _ActionEvent::CreateActionEventArgN(__checkedActionId);
1736 SysTryReturn(NID_UI_CTRL, pEventArg, E_INVALID_STATE, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory shortage.");
1737 __pActionEvent->Fire(*pEventArg);
1744 _CheckButton::GetRadioGroup(void)
1746 return __pRadioGroup;
1750 _CheckButton::UpdateAccessibilityCheckStatus(void)
1752 if(likely(!(_AccessibilityManager::IsActivated())))
1757 if (__checkButtonStyle == CHECK_BUTTON_STYLE_MARK || __checkButtonStyle == CHECK_BUTTON_STYLE_MARK_WITH_DIVIDER || __checkButtonStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
1759 if (__pButtonElement != null)
1763 __pButtonElement->SetValueWithStringId("IDS_TPLATFORM_BODY_TICK_T_TTS");
1767 __pButtonElement->SetValueWithStringId("IDS_TPLATFORM_BODY_UNTICK_T_TTS");
1771 else if (__checkButtonStyle == CHECK_BUTTON_STYLE_RADIO || __checkButtonStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DIVIDER || __checkButtonStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
1773 if (__pButtonElement != null)
1777 __pButtonElement->SetValueWithStringId("IDS_TPLATFORM_BODY_SELECTED_T_TTS");
1781 __pButtonElement->SetValue(L"unselected");
1785 else if (__checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_WITH_DIVIDER
1786 || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || __checkButtonStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
1788 if (__pButtonElement != null)
1792 __pButtonElement->SetValueWithStringId("IDS_TPLATFORM_BODY_ON");
1796 __pButtonElement->SetValueWithStringId("IDS_TPLATFORM_BODY_OFF");
1804 }}} // Tizen::Ui::Controls