From 845951fc1df239f44006818d6b408bbf1458dfef Mon Sep 17 00:00:00 2001 From: MinSung Jin Date: Fri, 12 Apr 2013 16:43:44 +0900 Subject: [PATCH] modified floating api Change-Id: Ib9ce380d26ee8ea076946ce70750a45e1e73a155 Signed-off-by: MinSung Jin --- src/ui/controls/FUiCtrl_TableViewImpl.cpp | 28 ++++++++++++++++++++++++++-- src/ui/inc/FUiCtrl_ScrollEventArg.h | 1 - src/ui/inc/FUiCtrl_TableViewImpl.h | 2 ++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/ui/controls/FUiCtrl_TableViewImpl.cpp b/src/ui/controls/FUiCtrl_TableViewImpl.cpp index e030c60..7dfcedf 100644 --- a/src/ui/controls/FUiCtrl_TableViewImpl.cpp +++ b/src/ui/controls/FUiCtrl_TableViewImpl.cpp @@ -508,13 +508,37 @@ _TableViewImpl::RemoveScrollEventListener(IScrollEventListener& listener) result _TableViewImpl::AddScrollEventListener(IScrollEventListenerF& listener) { - return E_SUCCESS; + ClearLastResult(); + + result r = E_SUCCESS; + + if (__pScrollEvent == null) + { + __pScrollEvent = new (std::nothrow) _ScrollEvent(); + SysTryReturn(NID_UI_CTRL, __pScrollEvent != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient."); + + r = __pScrollEvent->Construct(GetPublic()); + SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r)); + } + r = __pScrollEvent->AddListener(listener); + SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r)); + + GetCore().AddScrollEventListener(*this); + + return GetLastResult(); } result _TableViewImpl::RemoveScrollEventListener(IScrollEventListenerF& listener) { - return E_SUCCESS; + ClearLastResult(); + + if (__pScrollEvent == null) + { + return E_INVALID_OPERATION; + } + + return __pScrollEvent->RemoveListener(listener); } result diff --git a/src/ui/inc/FUiCtrl_ScrollEventArg.h b/src/ui/inc/FUiCtrl_ScrollEventArg.h index 7c591a8..f6b2d1b 100644 --- a/src/ui/inc/FUiCtrl_ScrollEventArg.h +++ b/src/ui/inc/FUiCtrl_ScrollEventArg.h @@ -26,7 +26,6 @@ #ifndef _FUI_INTERNAL_SCROLL_EVENT_ARG_H_ #define _FUI_INTERNAL_SCROLL_EVENT_ARG_H_ -#include #include #include #include diff --git a/src/ui/inc/FUiCtrl_TableViewImpl.h b/src/ui/inc/FUiCtrl_TableViewImpl.h index 0ef1f03..9bc3e2f 100644 --- a/src/ui/inc/FUiCtrl_TableViewImpl.h +++ b/src/ui/inc/FUiCtrl_TableViewImpl.h @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include "FUi_ContainerImpl.h" #include "FUiCtrl_TableView.h" #include "FUiCtrl_TableViewItemEvent.h" -- 2.7.4