, __isPressedTimerEnabled(false)
, __isReleasedTimerEnabled(false)
, __pressedControl(TABLE_VIEW_ITEM_PRESSED_NONE)
+ , __releasedControl(TABLE_VIEW_ITEM_PRESSED_NONE)
, __pCheckedTimer(null)
, __isCheckedTimerEnabled(false)
, __isCheckedAnimationEnabled(false)
return true;
}
+ if(__isReleasedTimerEnabled)
+ {
+ StopTouchReleasedTimer();
+ FireItemTouchReleased();
+ }
+
__annexOnOffHandlerMoved = false;
__touchStartPosition = touchinfo.GetCurrentPosition(); // +++ check floating
+ if (&source == this)
+ {
+ __pressedControl = TABLE_VIEW_ITEM_PRESSED_ITEM;
+ }
+ else if (&source == __pItemAnnex)
+ {
+ __pressedControl = TABLE_VIEW_ITEM_PRESSED_ANNEX;
- __itemSelected = true;
+ if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING ||
+ __annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
+ {
+ __annexOnOffTouchPosition = touchinfo.GetCurrentPosition().x; // +++ check floating
+ }
+ }
+ else if (IsIndividualSelectionEnabled(source))
+ {
+ __pressedControl = TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL;
+ }
+ else
+ {
+ __pressedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
+ }
if (!IsIndividualSelectionEnabled(source))
{
return true;
}
- if (__isPressedTimerEnabled)
+ if (&source == this)
{
- StopTouchPressedTimer();
+ __releasedControl = TABLE_VIEW_ITEM_PRESSED_ITEM;
+ }
+ else if (&source == __pItemAnnex)
+ {
+ __releasedControl = TABLE_VIEW_ITEM_PRESSED_ANNEX;
+ }
+ else if (IsIndividualSelectionEnabled(source))
+ {
+ __releasedControl = TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL;
+ }
+ else
+ {
+ __releasedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
}
- if(!__itemTouchMoved && !IsContextItem())
+ if(!__itemTouchMoved && __isPressedTimerEnabled)
{
- if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ITEM)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED;
- SetItemChanged(true);
- Invalidate();
- }
- else if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
- {
- if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_DETAILED)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
- SetChecked(true);
- DrawAnnexStyle();
- }
- else if (__annexStyle != TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING &&
- __annexStyle != TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
- SetItemChanged(true);
- Invalidate();
- }
- }
- else
- {
- if(__pressedControl != TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED;
- SetItemChanged(true);
- Invalidate();
- }
- }
+ StopTouchPressedTimer();
- if (&source == this)
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_ITEM;
- }
- else if (&source == __pItemAnnex)
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_ANNEX;
- }
- else if (IsIndividualSelectionEnabled(source))
+ if(!IsContextItem())
{
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL;
- }
- else
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
+ FireItemTouchPressed();
}
StartTouchReleasedTimer();
-
return true;
}
- if (&source == this)
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_ITEM;
- }
- else if (&source == __pItemAnnex)
+ FireItemTouchReleased();
+ return true;
+}
+
+void
+_TableViewItem::FireItemTouchPressed()
+{
+ __itemSelected = true;
+
+ if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ITEM)
{
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_ANNEX;
+ __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED;
+ SetItemChanged(true);
+ Invalidate();
}
- else if (IsIndividualSelectionEnabled(source))
+ else if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
{
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL;
+ if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_DETAILED)
+ {
+ __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
+ SetChecked(true);
+ DrawAnnexStyle();
+ }
+ else if (__annexStyle != TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING &&
+ __annexStyle != TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
+ {
+ __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
+ SetItemChanged(true);
+ Invalidate();
+ }
}
else
{
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
+ if(__pressedControl != TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL)
+ {
+ __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED;
+ SetItemChanged(true);
+ Invalidate();
+ }
}
- FireItemTouchRelease();
- return true;
}
void
-_TableViewItem::FireItemTouchRelease()
+_TableViewItem::FireItemTouchReleased()
{
bool fireItemEvent = false;
bool selectedItem = true;
bool checked = IsChecked();
fireItemEvent = true;
- if (__pressedControl == TABLE_VIEW_ITEM_PRESSED_ITEM)
+ if (__releasedControl == TABLE_VIEW_ITEM_PRESSED_ITEM)
{
if ((__annexStyle == TABLE_VIEW_ANNEX_STYLE_MARK)
|| (__annexStyle == TABLE_VIEW_ANNEX_STYLE_RADIO)
SetCheckedAnimationEnabled(!checked);
}
}
- else if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
+ else if(__releasedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
{
if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_DETAILED)
{
}
else
{
- if(__pressedControl != TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL)
+ if(__releasedControl != TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL)
{
if ((__annexStyle == TABLE_VIEW_ANNEX_STYLE_MARK)
|| (__annexStyle == TABLE_VIEW_ANNEX_STYLE_RADIO)
}
else
{
- if (__pressedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
+ if (__releasedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
{
if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING ||
__annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
_UiTouchEventDelivery
_TableViewItem::OnPreviewTouchMoved(const _Control& source, const _TouchInfo& touchinfo)
{
- return _UI_TOUCH_EVENT_DELIVERY_FORCED_YES;
+ return _UI_TOUCH_EVENT_DELIVERY_YES;
}
_UiTouchEventDelivery
else if (&timer == __pPressedTimer)
{
__isPressedTimerEnabled = false;
-
- if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ITEM)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED;
- SetItemChanged(true);
- Invalidate();
- }
- else if(__pressedControl == TABLE_VIEW_ITEM_PRESSED_ANNEX)
- {
- if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_DETAILED)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
- SetChecked(true);
- DrawAnnexStyle();
- }
- else if (__annexStyle != TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING &&
- __annexStyle != TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
- SetItemChanged(true);
- Invalidate();
- }
- }
- else
- {
- if(__pressedControl != TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL)
- {
- __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED;
- SetItemChanged(true);
- Invalidate();
- }
- }
+ FireItemTouchPressed();
}
else if(&timer == __pReleasedTimer)
{
__isReleasedTimerEnabled = false;
- FireItemTouchRelease();
+ FireItemTouchReleased();
}
}
SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage);
__isPressedTimerEnabled = true;
-
- if (&source == this)
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_ITEM;
- }
- else if (&source == __pItemAnnex)
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_ANNEX;
-
- if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING ||
- __annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
- {
- __annexOnOffTouchPosition = touchinfo.GetCurrentPosition().x; // +++ check floating
- }
- }
- else if (IsIndividualSelectionEnabled(source))
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_INDIVIDUAL;
- }
- else
- {
- __pressedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
- }
}
return r;
CATCH:
- if (__isPressedTimerEnabled)
+ if (__isPressedTimerEnabled && __pPressedTimer != null)
{
__pPressedTimer->Cancel();
}
return r;
}
+void
+_TableViewItem::StopTouchPressedTimer(void)
+{
+ result r = E_SUCCESS;
+
+ SysTryReturnVoidResult(NID_UI_CTRL, __pPressedTimer != null, E_SYSTEM, "[E_SYSTEM] Timer is invalid.");
+
+ if (__isPressedTimerEnabled)
+ {
+ r = __pPressedTimer->Cancel();
+ SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
+ }
+
+ __isPressedTimerEnabled = false;
+
+ return;
+}
+
result
_TableViewItem::StartTouchReleasedTimer()
{
result r = E_SUCCESS;
- if (__pReleasedTimer == null)
+ if(__pReleasedTimer != null)
{
- __pReleasedTimer = new (std::nothrow) Timer();
- SysTryCatch(NID_UI_CTRL, __pReleasedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
-
- r = __pReleasedTimer->Construct(*this);
- SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage);
+ delete __pReleasedTimer;
+ __pReleasedTimer = null;
}
- r = __pReleasedTimer->Start(TOUCH_RELREASED_DURATION);
+ __pReleasedTimer = new (std::nothrow) Timer();
+ SysTryCatch(NID_UI_CTRL, __pReleasedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+
+ r = __pReleasedTimer->Construct(*this);
+ SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage);
+
+ r = __pReleasedTimer->Start(TOUCH_RELEASED_DURATION);
SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage);
__isReleasedTimerEnabled = true;
}
void
-_TableViewItem::StopTouchPressedTimer(void)
+_TableViewItem::StopTouchReleasedTimer(void)
{
result r = E_SUCCESS;
- SysTryReturnVoidResult(NID_UI_CTRL, __pPressedTimer != null, E_SYSTEM, "[E_SYSTEM] Timer is invalid.");
+ SysTryReturnVoidResult(NID_UI_CTRL, __pReleasedTimer != null, E_SYSTEM, "[E_SYSTEM] Timer is invalid.");
- if (__isPressedTimerEnabled)
+ if (__isReleasedTimerEnabled)
{
- r = __pPressedTimer->Cancel();
+ r = __pReleasedTimer->Cancel();
SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
}
- __isPressedTimerEnabled = false;
+ __isReleasedTimerEnabled = false;
return;
}