Apply IActivatedListener for gengrid / genlist. 62/35362/1 accepted/tizen/tv/20150217.103500 submit/tizen/20150214.034842 submit/tizen_tv/20150216.072255
authorKim Tae Soo <taesoo46.kim@samsung.com>
Thu, 12 Feb 2015 13:21:29 +0000 (22:21 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Thu, 12 Feb 2015 13:21:29 +0000 (22:21 +0900)
They're temporary implemetations.
According to the policy of EFL team, these implementations can be changed.

Change-Id: I23df1d7c0c155a89ae00c07a4332213e6b6db67f
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
include/album-layout.h
include/album-songs-layout.h
include/category-layout.h
include/folder-layout.h
include/song-layout.h
src/views/album-layout.cpp
src/views/album-songs-layout.cpp
src/views/category-layout.cpp
src/views/folder-layout.cpp
src/views/song-layout.cpp

index b64ca94..6d70675 100644 (file)
@@ -22,7 +22,8 @@ struct SAlbumItemInfo;
 
 class CAlbumLayout : public CExtBaseLayout, public CListenerMgr,
        public IKeyDownListener, public IMouseMoveListener,
-       public IRealizedListener, public IUnrealizedListener {
+       public IRealizedListener, public IUnrealizedListener,
+       public IActivatedListener {
 private:
        struct SAlbumLayout *m;
 
@@ -60,6 +61,7 @@ public:
                IMouseMoveListener(this),
                IRealizedListener(this),
                IUnrealizedListener(this),
+               IActivatedListener(this),
                m(0) {}
        virtual ~CAlbumLayout() {}
 
@@ -74,6 +76,7 @@ public:
        virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev);
        virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
        virtual void OnUnrealized(int id, Evas_Object *obj, Elm_Object_Item *item);
+       virtual void OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index 4db5a4f..c26dbf5 100644 (file)
@@ -21,7 +21,8 @@
 struct SAlbumSongsItemInfo;
 
 class CAlbumSongsLayout : public CExtBaseLayout, public CListenerMgr,
-       public IKeyDownListener, public IMouseMoveListener, public IMouseClickedListener {
+       public IKeyDownListener, public IMouseMoveListener, public IMouseClickedListener,
+       public IActivatedListener {
 private:
        struct SAlbumSongsLayout *m;
 
@@ -58,6 +59,7 @@ public:
                IKeyDownListener(this),
                IMouseMoveListener(this),
                IMouseClickedListener(this),
+               IActivatedListener(this),
                m(0) {}
        virtual ~CAlbumSongsLayout() {}
 
@@ -68,6 +70,7 @@ public:
        virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
        virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev);
        virtual void OnMouseClicked(int id, Evas_Object *obj);
+       virtual void OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index b8688e8..f849c29 100644 (file)
@@ -20,7 +20,7 @@
 
 class CCategoryLayout : public CExtBaseLayout, public CListenerMgr,
        public IKeyDownListener, public IMouseMoveListener, public IMouseClickedListener,
-       public IRealizedListener, public IUnrealizedListener {
+       public IRealizedListener, public IUnrealizedListener, public IActivatedListener {
 private:
        struct SCategoryLayout *m;
 
@@ -76,7 +76,7 @@ private:
        void m_OnSongItemSelect(Evas_Object *obj, Elm_Object_Item *event_info);
 
        static void sm_CbSelectlistItemSelect(void *data, Evas_Object *obj, void *event_info);
-       void m_OnSelectlistItemSelect(Evas_Object *obj, void *event_info);
+       void m_OnSelectlistItemSelect(Evas_Object *obj, Elm_Object_Item *event_info);
 
        static void sm_CbCtxtUpdate(void *dt, enum EActionType type, int lid);
 protected:
@@ -141,6 +141,7 @@ public:
                IMouseClickedListener(this),
                IRealizedListener(this),
                IUnrealizedListener(this),
+               IActivatedListener(this),
                m(0) {
                memset(&t, 0, sizeof(t));
        }
@@ -157,6 +158,7 @@ public:
        virtual void OnMouseClicked(int id, Evas_Object *obj);
        virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
        virtual void OnUnrealized(int id, Evas_Object *obj, Elm_Object_Item *item);
+       virtual void OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index 7a25720..f27bfec 100644 (file)
@@ -23,7 +23,7 @@ struct SFolderItemInfo;
 class CFolderLayout : public CExtBaseLayout, public CListenerMgr,
        public IMouseMoveListener, public IMouseClickedListener,
        public IRealizedListener, public IUnrealizedListener,
-       public IKeyDownListener {
+       public IKeyDownListener, public IActivatedListener {
 private:
        struct SFolderLayout *m;
 
@@ -69,6 +69,7 @@ public:
                IRealizedListener(this),
                IUnrealizedListener(this),
                IKeyDownListener(this),
+               IActivatedListener(this),
                m(0) {}
        virtual ~CFolderLayout() {}
 
@@ -83,6 +84,7 @@ public:
        virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
        virtual void OnUnrealized(int id, Evas_Object *obj, Elm_Object_Item *item);
        virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
+       virtual void OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index dba1312..5a429c7 100644 (file)
@@ -21,7 +21,7 @@
 struct SSongItemInfo;
 
 class CSongLayout : public CExtBaseLayout, public CListenerMgr,
-       public IKeyDownListener, public IMouseMoveListener {
+       public IKeyDownListener, public IMouseMoveListener, public IActivatedListener {
 private:
        struct SSongLayout *m;
 
@@ -62,6 +62,7 @@ public:
                CExtBaseLayout(pLayoutId),
                IKeyDownListener(this),
                IMouseMoveListener(this),
+               IActivatedListener(this),
                m(0) {}
        virtual ~CSongLayout() {}
 
@@ -73,6 +74,7 @@ public:
 public:
        virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
        virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev);
+       virtual void OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index 11e40f7..1540bc3 100644 (file)
@@ -213,7 +213,8 @@ void CAlbumLayout::m_OnCtxtClose(void)
 }
 
 
-void CAlbumLayout::sm_CbItemSelect(void *data, Elm_Object_Item *it, const char *emission, const char *source) {
+void CAlbumLayout::sm_CbItemSelect(void *data, Elm_Object_Item *it, const char *emission, const char *source)
+{
        CAlbumLayout *root = (CAlbumLayout*)data;
 
        if (root)
@@ -221,7 +222,8 @@ void CAlbumLayout::sm_CbItemSelect(void *data, Elm_Object_Item *it, const char *
 }
 
 
-void CAlbumLayout::m_OnItemSelect(Elm_Object_Item *it, const char *emission, const char *source) {
+void CAlbumLayout::m_OnItemSelect(Elm_Object_Item *it, const char *emission, const char *source)
+{
        SAlbumItemInfo *itinfo;
 
        itinfo = m_FindItemInfo(m->it_infolist, it);
@@ -315,7 +317,7 @@ void CAlbumLayout::m_CreateAlbumGrid(void)
                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_gengrid_align_set(grid, 0, 0);
        elm_object_part_content_set(Layout(), MUSIC_PART_ALBUM_GRID, grid);
-       Connect(grid, ALBUM_GENGRID, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_REALIZED | TYPE_UNREALIZED);
+       Connect(grid, ALBUM_GENGRID, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_REALIZED | TYPE_UNREALIZED | TYPE_ACTIVATED);
        elm_gengrid_item_size_set(grid,
                elm_config_scale_get() * GENGRID_ITEM_SIZE_W,
                elm_config_scale_get() * GENGRID_ITEM_SIZE_H);
@@ -657,8 +659,6 @@ void CAlbumLayout::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_D
                break;
 
        default:
-               _ERR("Invalid Object");
-               ASSERT(0);
                break;
        }
 }
@@ -680,15 +680,46 @@ void CAlbumLayout::OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mou
 
 void CAlbumLayout::OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item)
 {
-       elm_object_item_signal_callback_add(item,
-               MUSIC_SIGNAL_BTN_CLICKED, MUSIC_BASE_VIEW,
-               sm_CbItemSelect, this);
+       switch (id) {
+       case ALBUM_GENGRID:
+               {
+                       elm_object_item_signal_callback_add(item,
+                       MUSIC_SIGNAL_BTN_CLICKED, MUSIC_BASE_VIEW,
+                       sm_CbItemSelect, this);
+               }
+               break;
+
+       default:
+               break;
+       }
 }
 
 
 void CAlbumLayout::OnUnrealized(int id, Evas_Object *obj, Elm_Object_Item *item)
 {
-       elm_object_item_signal_callback_del(item,
-               MUSIC_SIGNAL_BTN_CLICKED, MUSIC_BASE_VIEW,
-               sm_CbItemSelect);
+       switch (id) {
+       case ALBUM_GENGRID:
+               {
+                       elm_object_item_signal_callback_del(item,
+                       MUSIC_SIGNAL_BTN_CLICKED, MUSIC_BASE_VIEW,
+                       sm_CbItemSelect);
+               }
+               break;
+
+       default:
+               break;
+       }
 }
+
+
+void CAlbumLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case ALBUM_GENGRID:
+               m_OnItemSelect(item, NULL, NULL);
+               break;
+
+       default:
+               break;
+       }
+}
\ No newline at end of file
index c05f7d6..c310f8d 100644 (file)
@@ -458,7 +458,7 @@ void CAlbumSongsLayout::m_CreateSongList(void)
        evas_object_size_hint_weight_set(genlist,
                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_object_part_content_set(layout, MUSIC_PART_SONGLIST, genlist);
-       Connect(genlist, ALBUM_SONGS_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN);
+       Connect(genlist, ALBUM_SONGS_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_ACTIVATED);
        m->songlist = genlist;
 
        list_item = elm_genlist_item_class_new();
@@ -708,4 +708,17 @@ void CAlbumSongsLayout::OnMouseClicked(int id, Evas_Object *obj)
        default:
                break;
        }
+}
+
+
+void CAlbumSongsLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case ALBUM_SONGS_GENLIST:
+               m_OnItemSelect(obj, item);
+               break;
+
+       default:
+               break;
+       }
 }
\ No newline at end of file
index 9f92c4d..88c1585 100644 (file)
@@ -341,7 +341,7 @@ void CCategoryLayout::sm_CbSelectlistItemSelect(void *data, Evas_Object *obj, vo
 }
 
 
-void CCategoryLayout::m_OnSelectlistItemSelect(Evas_Object *obj, void *event_info)
+void CCategoryLayout::m_OnSelectlistItemSelect(Evas_Object *obj, Elm_Object_Item *event_info)
 {
        SCatItemInfo *itinfo = NULL;
        int tc;
@@ -955,7 +955,7 @@ Evas_Object *CCategoryLayout::m_AddGrid(void)
                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_gengrid_align_set(grid, 0, 0);
 
-       Connect(grid, CATEGORY_LAYOUT_GENGRID, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_REALIZED | TYPE_UNREALIZED);
+       Connect(grid, CATEGORY_LAYOUT_GENGRID, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_REALIZED | TYPE_UNREALIZED | TYPE_ACTIVATED);
 
        elm_gengrid_item_size_set(grid,
                elm_config_scale_get() * GENGRID_ITEM_SIZE_W,
@@ -1175,7 +1175,7 @@ void CCategoryLayout::m_CreateSongList(void)
                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_object_part_content_set(Layout(), MUSIC_PART_SONGLIST, genlist);
 
-       Connect(genlist, CATEGORY_LAYOUT_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN);
+       Connect(genlist, CATEGORY_LAYOUT_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_ACTIVATED);
 
        m->glist = genlist;
 
@@ -1948,3 +1948,25 @@ void CCategoryLayout::OnUnrealized(int id, Evas_Object *obj, Elm_Object_Item *it
                break;
        }
 }
+
+
+void CCategoryLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case CATEGORY_LAYOUT_GENGRID:
+               m_OnItemSelect(item, NULL, NULL);
+               break;
+
+       case CATEGORY_LAYOUT_GENLIST:
+               {
+                       if (t.depth == E_DEPTH_SELECT_LIST)
+                               m_OnSelectlistItemSelect(obj, item);
+                       else
+                               m_OnSongItemSelect(obj, item);
+               }
+               break;
+
+       default:
+               break;
+       }
+}
\ No newline at end of file
index c79812b..13889df 100644 (file)
@@ -513,7 +513,7 @@ void CFolderLayout::m_CreateFolderGrid(void)
        elm_object_part_content_set(Layout(), MUSIC_PART_FOLDER_GRID, grid);
        Connect(grid, FOLDER_LAYOUT_GENGRID,
                TYPE_MOUSE_MOVE | TYPE_KEY_DOWN |
-               TYPE_REALIZED | TYPE_UNREALIZED);
+               TYPE_REALIZED | TYPE_UNREALIZED | TYPE_ACTIVATED);
        elm_gengrid_item_size_set(grid,
                elm_config_scale_get() * GENGRID_ITEM_SIZE_W,
                elm_config_scale_get() * GENGRID_ITEM_SIZE_H);
@@ -1009,4 +1009,17 @@ void CFolderLayout::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_
        default:
                break;
        }
+}
+
+
+void CFolderLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case FOLDER_LAYOUT_GENGRID:
+               m_OnItemSelect(item, NULL, NULL);
+               break;
+
+       default:
+               break;
+       }
 }
\ No newline at end of file
index 7e87918..bacbe0c 100644 (file)
@@ -453,7 +453,7 @@ void CSongLayout::m_CreateSongList(void)
        evas_object_size_hint_weight_set(genlist,
                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_object_part_content_set(Layout(), MUSIC_PART_SONGLIST, genlist);
-       Connect(genlist, SONG_LAYOUT_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN);
+       Connect(genlist, SONG_LAYOUT_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_ACTIVATED);
        m->songlist = genlist;
 
        list_item = elm_genlist_item_class_new();
@@ -703,4 +703,17 @@ void CSongLayout::OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mous
        default:
                break;
        }
+}
+
+
+void CSongLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case SONG_LAYOUT_GENLIST:
+               m_OnItemSelect(obj, item);
+               break;
+
+       default:
+               break;
+       }
 }
\ No newline at end of file