eset focusList when add/remove controls
authorkeonpyo.kong <keonpyo.kong@samsung.com>
Thu, 28 Mar 2013 07:41:54 +0000 (16:41 +0900)
committerkeonpyo.kong <keonpyo.kong@samsung.com>
Thu, 28 Mar 2013 07:47:54 +0000 (16:47 +0900)
Change-Id: I7e07287295d3a38f3a60b311f1ef143b707126ec
Signed-off-by: keonpyo.kong <keonpyo.kong@samsung.com>
apply code review

Change-Id: I868582b34efc806f679bbdb14ea7357d122f04c4
Signed-off-by: keonpyo.kong <keonpyo.kong@samsung.com>
src/ui/FUi_Control.cpp
src/ui/FUi_Window.cpp
src/ui/controls/FUiCtrl_Form.cpp
src/ui/controls/FUiCtrl_Frame.cpp
src/ui/inc/FUiCtrl_Form.h
src/ui/inc/FUiCtrl_Frame.h
src/ui/inc/FUi_Control.h
src/ui/inc/FUi_Window.h

index 217465a..3cded3e 100755 (executable)
@@ -1624,9 +1624,19 @@ _Control::AttachChild(_Control& child)
        }
 
        SysAssert(GetLastResult() == E_SUCCESS);
+       UpdateFocusList();
        return E_SUCCESS;
 }
 
+void 
+_Control::UpdateFocusList(void)
+{
+       _Window* pTop = GetRootWindow();
+       if (pTop)
+       {
+               pTop->ResetFocusList();
+       }               
+}
 // E_INVALID_ARG
 // E_OUT_OF_MEMORY
 // E_SYSTEM
@@ -1789,6 +1799,8 @@ _Control::DetachChild(_Control& child)
        ClearLastResult();
 
        SysAssert(GetLastResult() == E_SUCCESS);
+
+       UpdateFocusList();
        return E_SUCCESS;
 }
 
index ab36f69..aa6ab72 100644 (file)
@@ -746,4 +746,13 @@ _Window::GetFocusList(void) const
        return __pFocusControlList.get();
 }
 
+void 
+_Window::ResetFocusList(void)
+{
+       if(__pFocusControlList)
+       {
+               __pFocusControlList.reset();
+       }
+}
+
 }} // Tizen::Ui
index 9300c35..7a242fa 100644 (file)
@@ -2605,6 +2605,15 @@ _Form::GetFocusList(void) const
 }
 
 void
+_Form::ResetFocusList(void)
+{
+       if(__pFocusControlList)
+       {
+               __pFocusControlList.reset();
+       }
+}
+
+void
 _Form::UpdateClientBounds(const FloatDimension& size, FloatRectangle& clientBounds)
 {
        clientBounds.width = size.width;
index c30b2b6..9283722 100644 (file)
@@ -654,4 +654,13 @@ _Frame::OnBackgroundColorChanged(Color& backgroundColor)
        pLayer->SetOpacity(opacity);
 }
 
+void
+_Frame::ResetFocusList(void)
+{
+       Tizen::Ui::Controls::_Form* pCurrentForm = GetCurrentForm();
+       if (pCurrentForm)
+       {
+               pCurrentForm->ResetFocusList();
+       }
+}
 }}} // Tizen::Ui::Controls
index 31559c9..beabaa6 100644 (file)
@@ -201,8 +201,9 @@ public:
        virtual void UpdateClientBounds(const Tizen::Graphics::FloatDimension& size, Tizen::Graphics::FloatRectangle& clientBounds);
 
 // Focus UI
-   Tizen::Base::Collection::IListT<_Control*>* GetFocusList(void) const;
-
+       Tizen::Base::Collection::IListT<_Control*>* GetFocusList(void) const;
+       void ResetFocusList(void);
+       
 // Accessor
 protected:
        result SetPresenter(const _FormPresenter& formPresenter);
index ac22402..10eddbb 100644 (file)
@@ -87,6 +87,9 @@ public:
        FrameShowMode GetShowMode(void) const;
        bool IsActivated(void) const;
 
+// Focus Ui
+       virtual void ResetFocusList(void);
+
 protected:
        result SetPresenter(const _FramePresenter& framePresenter);
 
index db7b1ed..b1b4f58 100755 (executable)
@@ -595,6 +595,7 @@ private:
 // Focus Ui
        void MakeFocusList(const _Control* pControl, Tizen::Base::Collection::IListT<_Control*>*  pFocusControlList) const;
        void MakeChildContainerFocusList(const _Control* pControl, int startIndex, Tizen::Base::Collection::IListT<_Control*>*  pFocusControlList) const;
+       void UpdateFocusList(void);
 
 private:
        _ControlHandle __controlHandle;
index a9aae4f..68fea56 100644 (file)
@@ -114,6 +114,7 @@ public:
 
        // Focus UI
        Tizen::Base::Collection::IListT<_Control*>* GetFocusList(void) const;
+       virtual void ResetFocusList(void);
 
 protected:
        _Window(void);