Fix for N_SE-50329 - handling OnFocusLost() in IconListView
authorSreedeep Moulik <sreedeep.m@samsung.com>
Fri, 30 Aug 2013 10:31:32 +0000 (16:01 +0530)
committerSreedeep Moulik <sreedeep.m@samsung.com>
Fri, 30 Aug 2013 10:31:32 +0000 (16:01 +0530)
Change-Id: I7cbb73f6d73dc91e87d327b5b4e6e882a24d4b9e
Signed-off-by: Sreedeep Moulik <sreedeep.m@samsung.com>
src/ui/controls/FUiCtrl_IconListPresenter.cpp
src/ui/controls/FUiCtrl_IconListView.cpp
src/ui/inc/FUiCtrl_IconListPresenter.h
src/ui/inc/FUiCtrl_IconListView.h

index 1437e3c..2fe2bab 100644 (file)
@@ -2860,6 +2860,15 @@ _IconListPresenter::OnDrawFocus(void)
        DrawFocusUi(__highlightedIndex);
 }
 
+void
+_IconListPresenter::OnFocusLost(void)
+{
+       if (__highlightedIndex != INVALID_INDEX)
+       {
+               RedrawItem(__highlightedIndex, false);
+               __highlightedIndex = INVALID_INDEX;
+       }
+}
 
 Canvas*
 _IconListPresenter::OnCanvasRequestedN(const FloatRectangle& bounds)
index fd3cd51..e3521ab 100644 (file)
@@ -1083,6 +1083,18 @@ _IconListView::OnDrawFocus(void)
        __pIconListPresenter->OnDrawFocus();
 }
 
+bool
+_IconListView::OnFocusLost(const _Control& source)
+{
+       if (&source != this)
+       {
+               return false;
+       }
+
+       __pIconListPresenter->OnFocusLost();
+       return true;
+}
+
 Canvas*
 _IconListView::OnCanvasRequestedN(const FloatRectangle& bounds)
 {
index 50f5265..a58df2f 100644 (file)
@@ -199,6 +199,7 @@ public:
        virtual void OnFontChanged(Tizen::Graphics::Font* pFont);
        virtual void OnFocusModeStateChanged(void);
        virtual void OnDrawFocus(void);
+       virtual void OnFocusLost(void);
        Tizen::Graphics::Canvas* OnCanvasRequestedN(const Tizen::Graphics::FloatRectangle& bounds);
 
        // Tizen::Ui::_IKeyEventPreviewer
index 88b6b04..146f507 100644 (file)
@@ -313,6 +313,7 @@ public:
        virtual void OnFontChanged(Tizen::Graphics::Font* pFont);
        virtual void OnFocusModeStateChanged(void);
        virtual void OnDrawFocus(void);
+       virtual bool OnFocusLost(const _Control& source);
        virtual Tizen::Graphics::Canvas* OnCanvasRequestedN(const Tizen::Graphics::FloatRectangle& bounds);
 
        // Tizen::Ui::_IKeyEventListenerPreviewer