apply modified CBaseView in application-common 51/38751/1 accepted/tizen/tv/20150429.051821 accepted/tizen/tv/20150429.124011 submit/tizen/20150429.030043 submit/tizen/20150429.043336
authorJehun Lim <jehun.lim@samsung.com>
Tue, 28 Apr 2015 05:13:44 +0000 (14:13 +0900)
committerJehun Lim <jehun.lim@samsung.com>
Tue, 28 Apr 2015 05:13:44 +0000 (14:13 +0900)
Change-Id: I7212a6331040b25cb721a43b8a3380a002752c19
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
include/view/allsource_view.h
include/view/menu_view.h
src/view/allsource_view.cpp
src/view/menu_view.cpp

index f9d6c3a..d506229 100644 (file)
@@ -57,9 +57,7 @@ public:
                m(0) {}
        virtual ~CAllSourceView() {}
 
-       virtual Evas_Object *Base(void);
-
-       virtual bool Create(void *data);
+       virtual bool Create(void *data, Evas_Object *eoBase);
        virtual void Destroy(void);
 
 public:
index 2ec140f..0911d0c 100644 (file)
@@ -47,9 +47,7 @@ public:
 
        virtual ~CMenuView() {}
 
-       virtual Evas_Object *Base(void);
-
-       virtual bool Create(void *data);
+       virtual bool Create(void *data, Evas_Object *eoBase);
        virtual void Destroy(void);
 
 public:
index 778ac1f..20a5ff4 100644 (file)
@@ -82,7 +82,7 @@ Evas_Object *CAllSourceView::m_AddBtn(const char *style, const char *str)
 {
        Evas_Object *btn;
 
-       btn = elm_button_add(m->base);
+       btn = elm_button_add(Base());
        if (!btn) {
                _ERR("add button error.");
                return NULL;
@@ -109,7 +109,7 @@ bool CAllSourceView::m_AddMenuArea(void)
                return false;
        }
 
-       elm_object_part_content_set(m->base, PART_MENU_PLUGGED, m->plug_btn);
+       elm_object_part_content_set(Base(), PART_MENU_PLUGGED, m->plug_btn);
 
        Connect(m->plug_btn, ALL_PLUG_BTN, TYPE_KEY_DOWN | TYPE_MOUSE_MOVE | TYPE_FOCUSED);
 
@@ -158,18 +158,12 @@ void CAllSourceView::sm_CbUpdateSrcList(void *cookie, void *data, enum update_ui
                m->pPluggedLayout->Update(data, type);
 }
 
-Evas_Object *CAllSourceView::Base(void)
-{
-       ASSERT(m);
-
-       return m->base;
-}
-
-bool CAllSourceView::Create(void *data)
+bool CAllSourceView::Create(void *data, Evas_Object *eoBase)
 {
        ASSERT(!m);
 
        Evas_Object *win = NULL;
+       Evas_Object *base;
        CViewMgr *vmgr;
 
        vmgr = CViewMgr::GetInstance();
@@ -179,22 +173,23 @@ bool CAllSourceView::Create(void *data)
        {
                _CHECK(win = vmgr->Window());
                _CHECK(m = new SAllSourceView);
-               _CHECK(m->base = m_AddLayout(win));
+               _CHECK(base = m_AddLayout(win));
                _CHECK(m->sigCb = m_CreateSigCbPair());
                _CHECK(CSourceMgr::Initialize(sm_CbUpdateSrcList, m));
                _CHECK(m->pLayoutMgr = new CLayoutMgr);
-               _CHECK(m->pLayoutMgr->Create(m->base, NULL));
+               _CHECK(m->pLayoutMgr->Create(base, NULL));
                _CHECK(m->pPluggedLayout = new CPluggedLayout(LAYOUT_PLUGGED));
                _CHECK(m->pPluggedLayout->Create(m->pLayoutMgr, m->sigCb));
                _CHECK(m->pLayoutMgr->AddLayout(m->pPluggedLayout));
+               _CHECK(CBaseView::Create(NULL, base));
                _CHECK(m_AddMenuArea());
                _WHEN_SUCCESS{
                        m->vmgr = vmgr;
                        m->mode = (launch_mode)(size_t)data;
                        CSourceMgr::GetInstance()->Refresh();
-                       CBaseView::Create(NULL);
                }
                _CHECK_FAIL{}
+               _CHECK_FAIL{ CBaseView::Destroy(); }
                _CHECK_FAIL{ m->pLayoutMgr->RemoveLayout(m->pPluggedLayout); }
                _CHECK_FAIL{ m->pPluggedLayout->Destroy(); }
                _CHECK_FAIL{ delete m->pPluggedLayout; }
@@ -202,7 +197,7 @@ bool CAllSourceView::Create(void *data)
                _CHECK_FAIL{ delete m->pLayoutMgr; }
                _CHECK_FAIL{ CSourceMgr::Finalize(); }
                _CHECK_FAIL{ delete m->sigCb; }
-               _CHECK_FAIL{ evas_object_del(m->base); }
+               _CHECK_FAIL{ evas_object_del(base); }
                _CHECK_FAIL{ delete m; m = NULL; }
                _CHECK_FAIL{}
        } _CREATE_END_AND_CATCH{ return false; }
@@ -214,6 +209,9 @@ void CAllSourceView::Destroy(void)
 {
        ASSERT(m);
 
+       evas_object_del(Base());
+
+       Disconnect(Base());
        CBaseView::Destroy();
 
        m->pLayoutMgr->RemoveLayout(m->pPluggedLayout);
index 52eefae..5dbee66 100644 (file)
@@ -47,7 +47,6 @@ struct bp_property {
 };
 
 struct SMenuView {
-       Evas_Object *base;
        Evas_Object *btn[MAX_BTN_NUM];
        Evas_Object *focus_btn;
        CSourceInfo *node;
@@ -136,7 +135,7 @@ Evas_Object *CMenuView::m_AddBtnByIndex(unsigned int row, unsigned int col)
        if (row >= bp_arr_row || col >= MAX_BTN_NUM)
                return NULL;
 
-       btn = m_AddBtn(m->base, bp_arr[row][col].part,
+       btn = m_AddBtn(Base(), bp_arr[row][col].part,
                        bp_arr[row][col].style,
                        bp_arr[row][col].text);
        if (!btn)
@@ -223,10 +222,10 @@ bool CMenuView::m_AddFocusItem(void)
        Evas_Object *img;
        const char *path;
 
-       elm_object_part_text_set(m->base,
+       elm_object_part_text_set(Base(),
                        PART_FOCUS_ITEM_TEXT_NAME,
                        _(m->node->Name()));
-       elm_object_part_text_set(m->base,
+       elm_object_part_text_set(Base(),
                        PART_FOCUS_ITEM_TEXT_TYPE,
                        _(m->node->TypeName()));
 
@@ -234,27 +233,19 @@ bool CMenuView::m_AddFocusItem(void)
        if (!path)
                return false;
 
-       img = elm_image_add(m->base);
+       img = elm_image_add(Base());
        if (!img)
                return false;
 
        elm_image_file_set(img, path, NULL);
        evas_object_show(img);
-       elm_object_part_content_set(m->base, PART_FOCUS_ITEM_IMG, img);
+       elm_object_part_content_set(Base(), PART_FOCUS_ITEM_IMG, img);
 
        return true;
 }
 
 
-Evas_Object *CMenuView::Base(void)
-{
-       ASSERT(m);
-
-       return m->base;
-}
-
-
-bool CMenuView::Create(void *data)
+bool CMenuView::Create(void *data, Evas_Object *eoBase)
 {
        ASSERT(!m);
        ASSERT(data);
@@ -279,10 +270,11 @@ bool CMenuView::Create(void *data)
        }
        memset(m, 0, sizeof(SMenuView));
 
-       m->base = base;
        m->node = (CSourceInfo *)data;
        m->vmgr = vmgr;
 
+       CBaseView::Create(NULL, base);
+
        if (!m_AddFocusItem()) {
                _ERR("add focus item failed.");
                evas_object_del(base);
@@ -301,8 +293,6 @@ bool CMenuView::Create(void *data)
 
        Connect(base, MENU_BASE, TYPE_KEY_DOWN);
 
-       CBaseView::Create(NULL);
-
        return true;
 }
 
@@ -310,6 +300,9 @@ void CMenuView::Destroy(void)
 {
        ASSERT(m);
 
+       evas_object_del(Base());
+
+       Disconnect(Base());
        CBaseView::Destroy();
 
        delete m;
@@ -320,7 +313,7 @@ void CMenuView::t_OnShow(void)
 {
        ASSERT(m);
 
-       evas_object_show(m->base);
+       evas_object_show(Base());
 
        t_OnResume();
 }
@@ -329,7 +322,7 @@ void CMenuView::t_OnHide(void)
 {
        ASSERT(m);
 
-       evas_object_hide(m->base);
+       evas_object_hide(Base());
 }
 
 void CMenuView::t_OnResume(void)