OnDeactivation.
Signed-off-by: Syed Khaja Moinuddin <moinuddin.s@samsung.com>
Change-Id: Ib761aa03c6a6abfb44ae2b8020c068096c8583bf
Signed-off-by: Syed Khaja Moinuddin <moinuddin.s@samsung.com>
pDateTimeBar->__pOwner = &owner;
- // if SetActivationEnabled is removed, then remove IsActivatedOnOpen CallBack as well.
- pDateTimeBar->SetActivationEnabled(false);
-
pDateTimeBar->__pDateTimeBarPresenter = _DateTimeBarPresenter::CreateInstanceN(*pDateTimeBar);
r = GetLastResult();
SysTryCatch(NID_UI_CTRL, pDateTimeBar->__pDateTimeBarPresenter != null, , r,
return null;
}
-bool
-_DateTimeBar::IsActivatedOnOpen(void) const
-{
- return false;
-}
-
result
_DateTimeBar::SetPositionAndAlignment(const FloatPoint& point, _DateTimeBarAlignment alignment)
{
{
SetOwner(__pOwner);
- int itemWidth = 0;
+ return _Window::OnAttachedToMainTree();
+}
- if (GetSelectedBoxId() == DATETIME_ID_MONTH)
- {
- GET_SHAPE_CONFIG(DATETIMEBAR::MONTH_ITEM_WIDTH, _ControlManager::GetInstance()->GetOrientation(), itemWidth);
- }
- else if (GetSelectedBoxId() == DATETIME_ID_YEAR)
- {
- GET_SHAPE_CONFIG(DATETIMEBAR::YEAR_ITEM_WIDTH, _ControlManager::GetInstance()->GetOrientation(), itemWidth);
- }
- else
- {
- GET_SHAPE_CONFIG(DATETIMEBAR::DAY_ITEM_WIDTH, _ControlManager::GetInstance()->GetOrientation(), itemWidth);
- }
+void
+_DateTimeBar::OnActivated(void)
+{
+ RefreshItems();
+ SetTouchCapture(true, true);
- __pDateTimeBarPresenter->SetInitialAnimationValue(itemWidth);
+ return _Window::OnActivated();
+}
- __pDateTimeBarPresenter->StartAnimationEffect();
+void
+_DateTimeBar::OnDeactivated(void)
+{
+ ReleaseTouchCapture();
- SetTouchCapture(true, true);
+ GetOwner()->Invalidate();
- return _Window::OnAttachedToMainTree();
+ return _Window::OnDeactivated();
}
result
_DateTimeBar::OnDetachingFromMainTree(void)
{
- ReleaseTouchCapture();
-
return _Window::OnDetachingFromMainTree();
}
return __parentWindowBounds;
}
+void
+_DateTimeBar::RefreshItems(void)
+{
+ float itemWidth = 0;
+
+ if (GetSelectedBoxId() == DATETIME_ID_MONTH)
+ {
+ GET_SHAPE_CONFIG(DATETIMEBAR::MONTH_ITEM_WIDTH, _ControlManager::GetInstance()->GetOrientation(), itemWidth);
+ }
+ else if (GetSelectedBoxId() == DATETIME_ID_YEAR)
+ {
+ GET_SHAPE_CONFIG(DATETIMEBAR::YEAR_ITEM_WIDTH, _ControlManager::GetInstance()->GetOrientation(), itemWidth);
+ }
+ else
+ {
+ GET_SHAPE_CONFIG(DATETIMEBAR::DAY_ITEM_WIDTH, _ControlManager::GetInstance()->GetOrientation(), itemWidth);
+ }
+
+ __pDateTimeBarPresenter->SetInitialAnimationValue(itemWidth);
+
+ __pDateTimeBarPresenter->StartAnimationEffect();
+
+ return;
+}
+
bool
_DateTimeBar::OnAccessibilityFocusMovedNext(const _AccessibilityContainer& control, const _AccessibilityElement& element)
{
, __pBgColorReplacementBitmap(null)
, __pArrowColorReplacementBitmap(null)
, __isInitialAnimation(false)
- , __initialAnimationValue(0)
+ , __initialAnimationValue(0.0f)
, __pFont(null)
{
}
__isInitialAnimation = true;
__distance = -10.0f;
- if (__initialAnimationValue >= 0 )
+ if (__initialAnimationValue >= 0.0f )
{
- __initialAnimationValue = __initialAnimationValue + _CoordinateSystemUtils::ConvertToInteger(__distance);
+ __initialAnimationValue = __initialAnimationValue + __distance;
StartFlickAnimationTimer();
LoadItems();
}
else
{
- __initialAnimationValue = 0;
+ __initialAnimationValue = 0.0f;
__isInitialAnimation = false;
ResetFlickAnimationTimer();
ValidateAndAdjustStartPosition();
}
void
-_DateTimeBarPresenter::SetInitialAnimationValue(int animationValue)
+_DateTimeBarPresenter::SetInitialAnimationValue(float animationValue)
{
__initialAnimationValue = animationValue;
return;
{
FloatRectangle absoluteBounds = GetAbsoluteBoundsF();
+ SetFocused(true);
+
if (absoluteBounds.y != __absoluteBounds.y || absoluteBounds.height != __absoluteBounds.height)
{
CalculateDateTimeBarPosition();
if (boxId < DATETIME_ID_YEAR || boxId > DATETIME_ID_DAY)
{
__selectedId = DATETIME_ID_NONE;
- return true;
+ return false;
}
int minValue = -1;
}
__selectedId = boxId;
-
- __pEditDate->Invalidate();
-
return true;
}
_DateTimeId boxId = DATETIME_ID_NONE;
boxId = GetBoxIdFromPosition(point);
-
- if (boxId != __selectedId)
+ if (boxId != __selectedId || boxId == DATETIME_ID_NONE)
{
+ if (__pEditDate->GetDateTimeBar() != null && __pEditDate->GetDateTimeBar()->IsActivated())
+ {
+ __pEditDate->GetDateTimeBar()->SetVisibleState(false);
+ __pEditDate->GetDateTimeBar()->Close();
+ }
+
+ Draw();
__selectedId = DATETIME_ID_NONE;
+ SetLastSelectedId(__selectedId);
+
+ return true;
}
SetLastSelectedId(__selectedId);
- __selectedId = DATETIME_ID_NONE;
__lastSelectedValue = "";
_DateTimeUtils dateTimeUtils;
PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP);
}
- __pEditDate->Invalidate();
+ Draw();
- if (__pEditDate->GetDateTimeBar() != null && GetLastSelectedId() != DATETIME_ID_NONE)
+ if ((__pEditDate->GetDateTimeBar() != null) && (GetLastSelectedId() != DATETIME_ID_NONE))
{
FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f);
bounds = GetDateAreaBounds(GetLastSelectedId());
bounds.x += absoluteBounds.x;
__pEditDate->GetDateTimeBar()->CalculateArrowBounds(bounds);
- __pEditDate->GetDateTimeBar()->SetVisibleState(true);
- __pEditDate->GetDateTimeBar()->Close();
- __pEditDate->GetDateTimeBar()->Open();
+
+ if (__pEditDate->GetDateTimeBar()->IsActivated())
+ {
+ __pEditDate->GetDateTimeBar()->RefreshItems();
+ }
+ else
+ {
+ __pEditDate->GetDateTimeBar()->SetVisibleState(true);
+ __pEditDate->GetDateTimeBar()->Open();
+ }
}
+ __selectedId = DATETIME_ID_NONE;
return true;
}
__selectedId = DATETIME_ID_NONE;
- __pEditDate->Invalidate();
-
return true;
}
__selectedId = DATETIME_ID_NONE;
}
- __pEditDate->Invalidate();
return false;
}
{
__touchMoveHandled = true;
__selectedId = DATETIME_ID_NONE;
- __pEditDate->Invalidate();
+
return;
}
{
FloatRectangle absoluteBounds = GetAbsoluteBoundsF();
+ SetFocused(true);
+
if (absoluteBounds.y != __absoluteBounds.y || absoluteBounds.height != __absoluteBounds.height)
{
CalculateDateTimeBarPosition();
{
result r = E_SUCCESS;
- Font font;
Color textColor;
_DateTimeId boxId = DATETIME_ID_NONE;
}
else if (boxId == DATETIME_ID_AMPM)
{
+ __selectedId = boxId;
__bounds = ampmBounds;
+ Draw();
}
else
{
__selectedId = DATETIME_ID_NONE;
return false;
}
- __selectedId = boxId;
- __pEditTime->Draw();
+ __selectedId = boxId;
return true;
}
_DateTimeId boxId = GetBoxIdFromPosition(point);
- if (boxId < 0)
+ if (boxId != __selectedId || boxId == DATETIME_ID_NONE)
{
- __selectedId = DATETIME_ID_NONE;
- }
+ if (__pEditTime->GetDateTimeBar() != null && __pEditTime->GetDateTimeBar()->IsActivated())
+ {
+ __pEditTime->GetDateTimeBar()->SetVisibleState(false);
+ __pEditTime->GetDateTimeBar()->Close();
+ }
+
+ Draw();
- if (boxId != __selectedId)
- {
__selectedId = DATETIME_ID_NONE;
+ SetLastSelectedId(__selectedId);
+
+ return true;
}
SetLastSelectedId(__selectedId);
- __selectedId = DATETIME_ID_NONE;
__lastSelectedValue = "";
_DateTimeUtils dateTimeUtils;
+
if (GetLastSelectedId() == DATETIME_ID_HOUR)
{
int hours = GetHour();
__lastSelectedValue.Format(10, L"%02d", GetMinute());
PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP);
}
-
- if (GetLastSelectedId() == DATETIME_ID_AMPM)
+ else if (GetLastSelectedId() == DATETIME_ID_AMPM)
{
SetAmEnabled(!GetAmEnabled());
__pEditTime->FireTimeChangeEvent(TIME_INTERNAL_CHANGE_SAVED);
__pEditTime->UpdateAccessibilityElement();
PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP);
+
+ __selectedId = DATETIME_ID_NONE;
+
+ if (__pEditTime->GetDateTimeBar() != null && __pEditTime->GetDateTimeBar()->IsActivated())
+ {
+ __pEditTime->GetDateTimeBar()->SetVisibleState(false);
+ __pEditTime->GetDateTimeBar()->Close();
+ }
+
+ Draw();
+
+ return true;
}
- __pEditTime->Draw();
+ Draw();
- if (__pEditTime->GetDateTimeBar() != null && boxId != DATETIME_ID_AMPM && GetLastSelectedId() != DATETIME_ID_NONE)
+ if ((__pEditTime->GetDateTimeBar() != null) && (boxId != DATETIME_ID_AMPM) && (GetLastSelectedId() != DATETIME_ID_NONE))
{
FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f);
bounds = GetDisplayAreaBoundsFromHoursStyle(GetLastSelectedId());
bounds.x += absoluteBounds.x;
__pEditTime->GetDateTimeBar()->CalculateArrowBounds(bounds);
- __pEditTime->GetDateTimeBar()->SetVisibleState(true);
- __pEditTime->GetDateTimeBar()->Close();
- __pEditTime->GetDateTimeBar()->Open();
+
+ if (__pEditTime->GetDateTimeBar()->IsActivated())
+ {
+ __pEditTime->GetDateTimeBar()->RefreshItems();
+ }
+ else
+ {
+ __pEditTime->GetDateTimeBar()->SetVisibleState(true);
+ __pEditTime->GetDateTimeBar()->Open();
+ }
}
+ __selectedId = DATETIME_ID_NONE;
return true;
}
__selectedId = DATETIME_ID_NONE;
- __pEditTime->Draw();
-
return true;
}
__selectedId = DATETIME_ID_NONE;
}
- __pEditTime->Invalidate();
return false;
}
{
__touchMoveHandled = true;
__selectedId = DATETIME_ID_NONE;
- __pEditTime->Invalidate();
+
return;
}
result FireActionEvent(int actionId);
result FireDateTimeChangeEvent(_DateTimeChangeStatus status);
- virtual bool IsActivatedOnOpen(void) const;
virtual void OnDraw(void);
virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
virtual void OnTouchMoveHandled(const Tizen::Ui::_Control& control);
virtual result OnAttachedToMainTree(void);
virtual result OnDetachingFromMainTree(void);
+ virtual void OnActivated(void);
+ virtual void OnDeactivated(void);
virtual bool OnFlickGestureDetected(_TouchFlickGestureDetector& gesture);
virtual bool OnFlickGestureCanceled(_TouchFlickGestureDetector& gesture);
void AddAccessibilityElement(const Tizen::Graphics::FloatRectangle& itemBounds, const Tizen::Base::String& itemText);
void SetFont(Tizen::Graphics::Font& pFont);
void SetParentWindowBounds(Tizen::Graphics::FloatRectangle& parentWindowBounds);
Tizen::Graphics::FloatRectangle GetParentWindowBounds() const;
+ void RefreshItems(void);
// accessibility listener
virtual bool OnAccessibilityFocusMovedNext(const _AccessibilityContainer& control, const _AccessibilityElement& element);
virtual bool OnFlickGestureDetected(int distanceX,int distanceY,int duration);
void StartFlickAnimation(void);
void StartAnimationEffect(void);
- void SetInitialAnimationValue(int animationValue);
+ void SetInitialAnimationValue(float animationValue);
void SetFont(Tizen::Graphics::Font& pFont);
virtual bool OnAccessibilityFocusMovedNext(const _AccessibilityContainer& control, const _AccessibilityElement& element);