FocusTraverse with Arrow key
authorkeonpyo.kong <keonpyo.kong@samsung.com>
Wed, 26 Jun 2013 10:37:29 +0000 (19:37 +0900)
committerkeonpyo.kong <keonpyo.kong@samsung.com>
Wed, 26 Jun 2013 11:13:26 +0000 (20:13 +0900)
Change-Id: I2e36500de6b400cf256df402fb5f6b797e30519a
Signed-off-by: keonpyo.kong <keonpyo.kong@samsung.com>
apply code review

Change-Id: I2299120c2d3fc560e06fb95adc1c6dea107705c1
Signed-off-by: keonpyo.kong <keonpyo.kong@samsung.com>
src/ui/FUi_Control.cpp
src/ui/FUi_FocusManagerImpl.cpp
src/ui/FUi_UiEventManager.cpp
src/ui/inc/FUi_ResourceFocusUiConfig.h
src/ui/resource/FUi_ResourceFocusUiConfig.cpp

index 0830a1f..e9dbcc7 100644 (file)
@@ -5166,10 +5166,14 @@ _Control::OnDrawFocus(void)
                        pCanvas->SetBackgroundColor(0x55555555);
                        pCanvas->Clear();
                }
+               Color contentHighlightedColor;
+               GET_COLOR_CONFIG(FOCUSUI::CONTENT_BG_HIGHLIGHTED, contentHighlightedColor);
                Bitmap* pBitmap = null;
-               result r = GET_BITMAP_CONFIG_N(FOCUSUI::FOCUS, BITMAP_PIXEL_FORMAT_ARGB8888, pBitmap);
+               Bitmap* pTempBitmap = null;
+               result r = GET_BITMAP_CONFIG_N(FOCUSUI::FOCUS, BITMAP_PIXEL_FORMAT_ARGB8888, pTempBitmap);
+               pBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pTempBitmap, Color::GetColor(COLOR_ID_MAGENTA), contentHighlightedColor);
 
-               if (r == E_SUCCESS)
+               if (pBitmap)
                {
                        if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pBitmap))
                        {
index 922ff9f..0a1f670 100644 (file)
@@ -292,13 +292,14 @@ _FocusManagerImpl::StartFocusTraversal(_Control* pControl, FocusDirection focusD
                }
        }
 
-       if (focusDirection == FOCUS_DIRECTION_DOWNWARD)
+       if (focusDirection == FOCUS_DIRECTION_DOWNWARD)
        {
                _Control* pFocusControl =  pControl->GetNextFocus();
                if (pFocusControl)
                {
                        pFocusControl->SetFocused();
                        pFocusControl->DrawFocus();
+                       pTop->SetFocusTraversalControl(pFocusControl);
                        return;
                }
        }
@@ -309,6 +310,7 @@ _FocusManagerImpl::StartFocusTraversal(_Control* pControl, FocusDirection focusD
                {
                        pFocusControl->SetFocused();
                        pFocusControl->DrawFocus();
+                       pTop->SetFocusTraversalControl(pFocusControl);
                        return;
                }
        }
@@ -381,19 +383,34 @@ bool
 _FocusManagerImpl::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
 {
        _KeyCode keyCode = keyInfo.GetKeyCode();
-       if(keyCode == _KEY_TAB)
+       FocusDirection focusDirection = FOCUS_DIRECTION_DOWNWARD;
+       _Control* pControl = const_cast<_Control*> (&source);
+       switch(keyCode)
        {
-               FocusDirection focusDirection = FOCUS_DIRECTION_DOWNWARD;
-               if (keyInfo.GetKeyModifier() & _KEY_MODIFIER_SHIFT)
+       case _KEY_TAB :
+               {
+                       if (keyInfo.GetKeyModifier() & _KEY_MODIFIER_SHIFT)
+                       {
+                               focusDirection = FOCUS_DIRECTION_UPWARD;
+                       }                       
+                       break;
+               }
+       case _KEY_UP :
                {
                        focusDirection = FOCUS_DIRECTION_UPWARD;
+                       break;
+               }
+       case _KEY_DOWN :
+               {
+                       focusDirection = FOCUS_DIRECTION_DOWNWARD;
+                       break;
                }
-
-               _Control* pControl = const_cast<_Control*> (&source);
-               StartFocusTraversal(pControl, focusDirection);
        }
+       
+       StartFocusTraversal(pControl, focusDirection);
        return false;
 }
+
 bool
 _FocusManagerImpl::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
 {
index 87b9ba5..fddb8b5 100644 (file)
@@ -344,6 +344,11 @@ _UiEventManager::Fire(const _UiEvent& event)
                SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
        }
 
+       if (!isFiltered )
+       {
+               ProcessPostListener(event, isFiltered);
+       }
+
        return r;
 }
 
@@ -636,11 +641,6 @@ _UiEventManager::ProcessBubblingEvent(const Tizen::Base::Collection::LinkedListT
                }
 
                r = const_cast<_UiEvent&>(event).ProcessEvent(*pControl, isFiltered);
-
-               if (!isFiltered && (event.GetDestination() == uiObjectHandle))
-               {
-                       ProcessPostListener(event, isFiltered);
-               }
        }
 
        delete pEnumerator;
index feac1b6..0e16f1e 100644 (file)
@@ -24,6 +24,7 @@
 #include "FUi_ResourceConfigMacro.h"
 
 DECLARE_UI_CONFIG(FOCUSUI);
+       DECLARE_COLOR_CONFIG(CONTENT_BG_HIGHLIGHTED,1);
        DECLARE_IMAGE_CONFIG(FOCUS, 1);
 DECLARE_END_UI_CONFIG(FOCUSUI);
 
index a3adbdd..6042689 100644 (file)
@@ -19,7 +19,8 @@
 
 START_UI_CONFIG(FOCUSUI);
 {
-       ADD_IMAGE_CONFIG(FOCUS,#00_focus.#.png);
+       ADD_COLOR_CONFIG(CONTENT_BG_HIGHLIGHTED, $W161);
+       ADD_IMAGE_CONFIG(FOCUS,#00_button_01_focus.#.png);
 }
 END_UI_CONFIG(FOCUSUI);