{
pTop->SetFocusControl(&control, false);
}
+ _Control* pFocusTraversalControl = pTop->GetFocusTraversalControl(this);
+ if ((&control) == pFocusTraversalControl)
+ {
+ pTop->SetFocusTraversalControl(this);
+ }
}
if (!__isPostOrderTraversal)
return __isNavigatable;
}
-void
-_Control::SetFocusModeStateEnabled(bool enable)
-{
- __isFocusMode = enable;
- if (enable == false)
- {
- OnFocusModeStateChanged();
- }
-}
-
bool
_Control::IsFocusModeStateEnabled(void) const
{
ClearLastResult();
SysAssert(GetLastResult() == E_SUCCESS);
-
UpdateFocusList();
return E_SUCCESS;
}
__pFont = null;
}
- _Window* pWindow = GetRootWindow();
-
- if (pWindow)
- {
- _Control* pFocusTraversalControl = pWindow->GetFocusTraversalControl(this);
- if (pFocusTraversalControl == this)
- {
- pWindow->SetFocusTraversalControl(null);
- }
- }
-
// Dangerous: it clears last result and log in catch block.
// ClearLastResult();
}
}
bool focusMode = pControl->IsFocusModeStateEnabled();
+ if (__isFocusMode == false)
+ {
+ __isFocusMode = true;
+ pControl->OnFocusModeStateChanged();
+ }
+
if (focusMode == false && pControl->IsFocused())
{
if (IsFocusable(pControl))
pTop->SetFocusTraversalControl(pControl);
}
pControl->DrawFocus();
- __isFocusMode = true;
return;
}
}
_KeyCode keyCode = keyInfo.GetKeyCode();
FocusDirection focusDirection = FOCUS_DIRECTION_DOWNWARD;
_Control* pControl = const_cast<_Control*> (&source);
+
switch(keyCode)
{
case _KEY_TAB :
{
pFocusTraversalControl->OnFocusModeStateChanged();
pFocusTraversalControl->RemoveFocusRing();
- pTop->SetFocusTraversalControl(null);
}
}
void
_ButtonPresenter::OnDrawFocus(void)
{
- if (__pButton->IsFocusModeStateEnabled() == false)
+ if (__pButton->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__pButton->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButton->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButton->Invalidate();
- }
+ __pButton->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButton->Invalidate();
}
return;
void
_CheckButtonPresenter::OnDrawFocus(void)
{
- if (__pCheckButton->IsFocusModeStateEnabled() == false)
+ __focusPrevStatus = __pCheckButton->GetCheckButtonStatus();
+ if (__pCheckButton->GetCheckButtonStatus() != _CHECK_BUTTON_STATUS_DISABLED)
{
- __focusPrevStatus = __pCheckButton->GetCheckButtonStatus();
-
- if (__pCheckButton->GetCheckButtonStatus() != _CHECK_BUTTON_STATUS_DISABLED)
- {
- __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
- __pCheckButton->Invalidate();
- }
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
+ __pCheckButton->Invalidate();
}
return;
Tizen::Base::Collection::IListT<_Control*>* GetFocusListN(void) const;
void RemoveFocusRing(void);
bool HasFocusRing(void);
- void SetFocusModeStateEnabled(bool enable);
bool IsFocusModeStateEnabled(void) const;
void SetFocusNavigateEnabled(bool enable);
bool IsFocusNavigateEnabled(void) const;