From 302fefcfa514a520b679737906d82d97710f44b7 Mon Sep 17 00:00:00 2001 From: Kim Tae Soo Date: Thu, 12 Feb 2015 22:21:29 +0900 Subject: [PATCH] Apply IActivatedListener for gengrid / genlist. 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 --- include/album-layout.h | 5 +++- include/album-songs-layout.h | 5 +++- include/category-layout.h | 6 +++-- include/folder-layout.h | 4 ++- include/song-layout.h | 4 ++- src/views/album-layout.cpp | 53 +++++++++++++++++++++++++++++++--------- src/views/album-songs-layout.cpp | 15 +++++++++++- src/views/category-layout.cpp | 28 ++++++++++++++++++--- src/views/folder-layout.cpp | 15 +++++++++++- src/views/song-layout.cpp | 15 +++++++++++- 10 files changed, 127 insertions(+), 23 deletions(-) diff --git a/include/album-layout.h b/include/album-layout.h index b64ca94..6d70675 100644 --- a/include/album-layout.h +++ b/include/album-layout.h @@ -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); }; diff --git a/include/album-songs-layout.h b/include/album-songs-layout.h index 4db5a4f..c26dbf5 100644 --- a/include/album-songs-layout.h +++ b/include/album-songs-layout.h @@ -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); }; diff --git a/include/category-layout.h b/include/category-layout.h index b8688e8..f849c29 100644 --- a/include/category-layout.h +++ b/include/category-layout.h @@ -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); }; diff --git a/include/folder-layout.h b/include/folder-layout.h index 7a25720..f27bfec 100644 --- a/include/folder-layout.h +++ b/include/folder-layout.h @@ -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); }; diff --git a/include/song-layout.h b/include/song-layout.h index dba1312..5a429c7 100644 --- a/include/song-layout.h +++ b/include/song-layout.h @@ -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); }; diff --git a/src/views/album-layout.cpp b/src/views/album-layout.cpp index 11e40f7..1540bc3 100644 --- a/src/views/album-layout.cpp +++ b/src/views/album-layout.cpp @@ -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 diff --git a/src/views/album-songs-layout.cpp b/src/views/album-songs-layout.cpp index c05f7d6..c310f8d 100644 --- a/src/views/album-songs-layout.cpp +++ b/src/views/album-songs-layout.cpp @@ -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 diff --git a/src/views/category-layout.cpp b/src/views/category-layout.cpp index 9f92c4d..88c1585 100644 --- a/src/views/category-layout.cpp +++ b/src/views/category-layout.cpp @@ -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 diff --git a/src/views/folder-layout.cpp b/src/views/folder-layout.cpp index c79812b..13889df 100644 --- a/src/views/folder-layout.cpp +++ b/src/views/folder-layout.cpp @@ -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 diff --git a/src/views/song-layout.cpp b/src/views/song-layout.cpp index 7e87918..bacbe0c 100644 --- a/src/views/song-layout.cpp +++ b/src/views/song-layout.cpp @@ -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 -- 2.7.4