Modification due to the EFL update. 00/37500/3
authorKim Tae Soo <taesoo46.kim@samsung.com>
Mon, 30 Mar 2015 06:19:25 +0000 (15:19 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Mon, 30 Mar 2015 06:22:21 +0000 (15:22 +0900)
: elm_object_item_signal_emit works properly after genlist or gengrid is realized.

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

index 9a41155..a30ac3f 100644 (file)
 
 struct SAlbumSongsItemInfo;
 
-class CAlbumSongsLayout : public CExtBaseLayout, public CListenerMgr,
-       public IKeyDownListener, public IMouseMoveListener, public IMouseClickedListener,
-       public IActivatedListener {
+class CAlbumSongsLayout :
+       public CExtBaseLayout,
+       public CListenerMgr,
+       public IKeyDownListener,
+       public IMouseMoveListener,
+       public IMouseClickedListener,
+       public IActivatedListener,
+       public IRealizedListener {
 private:
        struct SAlbumSongsLayout *m;
 
@@ -63,6 +68,7 @@ public:
                IMouseMoveListener(this),
                IMouseClickedListener(this),
                IActivatedListener(this),
+               IRealizedListener(this),
                m(0) {}
        virtual ~CAlbumSongsLayout() {}
 
@@ -79,6 +85,7 @@ public:
        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);
+       virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index 863c4f5..5e22619 100644 (file)
 
 #include "category-layout.h"
 
-class CCategorySongsLayout : public CExtBaseLayout, public CListenerMgr,
-       public IKeyDownListener, public IMouseMoveListener, public IMouseClickedListener,
-       public IActivatedListener {
+class CCategorySongsLayout :
+       public CExtBaseLayout,
+       public CListenerMgr,
+       public IKeyDownListener,
+       public IMouseMoveListener,
+       public IMouseClickedListener,
+       public IActivatedListener,
+       public IRealizedListener {
 public:
        enum EDepth {
                DEPTH_SELECT_LIST,
@@ -93,6 +98,7 @@ public:
                IMouseMoveListener(this),
                IMouseClickedListener(this),
                IActivatedListener(this),
+               IRealizedListener(this),
                m(0) {}
        virtual ~CCategorySongsLayout() {}
 
@@ -112,6 +118,7 @@ public:
        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);
+       virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index 7d4c0b8..ac66ba6 100644 (file)
@@ -26,10 +26,14 @@ struct SItemInfo;
 
 
 class CPlaybackView : public CBaseView,
-       public IMouseClickedListener, public IMouseMoveListener,
-       public IPressedListener, public IUnpressedListener,
-       public IChangedListener, public IRealizedListener,
-       public IUnrealizedListener, public IActivatedListener,
+       public IMouseClickedListener,
+       public IMouseMoveListener,
+       public IPressedListener,
+       public IUnpressedListener,
+       public IChangedListener,
+       public IRealizedListener,
+       public IUnrealizedListener,
+       public IActivatedListener,
        public IMusicControllerListener {
 private:
        struct SPlaybackView* m;
index 37a5f85..363f1e3 100644 (file)
 
 struct SSongItemInfo;
 
-class CSongLayout : public CExtBaseLayout, public CListenerMgr,
-       public IKeyDownListener, public IMouseMoveListener, public IActivatedListener {
+class CSongLayout :
+       public CExtBaseLayout,
+       public CListenerMgr,
+       public IKeyDownListener,
+       public IMouseMoveListener,
+       public IActivatedListener,
+       public IRealizedListener {
 private:
        struct SSongLayout *m;
 
@@ -66,6 +71,7 @@ public:
                IKeyDownListener(this),
                IMouseMoveListener(this),
                IActivatedListener(this),
+               IRealizedListener(this),
                m(0) {}
        virtual ~CSongLayout() {}
 
@@ -79,6 +85,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 OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
+       virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
 };
 
 
index f8efc2a..a17139d 100644 (file)
@@ -113,14 +113,6 @@ char *CAlbumSongsLayout::sm_CbGetListItemText(void *data, Evas_Object *obj, cons
 
        if (!strcmp(part, "elm.text")) {
                index = elm_genlist_item_index_get(itinfo->item);
-               if ((index & 1) == 1) {
-                       elm_object_item_signal_emit(itinfo->item,
-                               MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
-               }
-               else {
-                       elm_object_item_signal_emit(itinfo->item,
-                               MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
-               }
                snprintf(buf, sizeof(buf), "%d", index);
        }
        else if (!strcmp(part, "elm.text1"))
@@ -510,7 +502,8 @@ 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 | TYPE_ACTIVATED);
+       Connect(genlist, ALBUM_SONGS_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN |
+               TYPE_ACTIVATED | TYPE_REALIZED);
        m->songlist = genlist;
 
        list_item = elm_genlist_item_class_new();
@@ -815,4 +808,25 @@ void CAlbumSongsLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *i
        default:
                break;
        }
+}
+
+
+void CAlbumSongsLayout::OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       int index;
+
+       switch (id) {
+       case ALBUM_SONGS_GENLIST:
+               index = elm_genlist_item_index_get(item);
+               if ((index & 1) == 1)
+                       elm_object_item_signal_emit(item,
+                               MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
+               else
+                       elm_object_item_signal_emit(item,
+                               MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
+               break;
+
+       default:
+               break;
+       }
 }
\ No newline at end of file
index c2891d4..609eb3c 100644 (file)
@@ -174,35 +174,16 @@ char *CCategorySongsLayout::sm_CbGetSelectlistItemText(void *data, Evas_Object *
 {
        SCategorySongsItemsInfo *itinfo = (SCategorySongsItemsInfo *)data;
        char *str = NULL;
-       int index;
 
        if (!itinfo || !obj || !part)
                return NULL;
 
-       if (!strcmp(part, "elm.text")) {
+       if (!strcmp(part, "elm.text"))
                str = itinfo->sinfo->Name();
-
-               index = elm_genlist_item_index_get(itinfo->item);
-               if ((index & 1) == 1)
-                       elm_object_item_signal_emit(itinfo->item,
-                       MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
-               else
-                       elm_object_item_signal_emit(itinfo->item,
-                       MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
-
-               if (itinfo->check_status)
-                       elm_object_item_signal_emit(itinfo->item,
-                       MUSIC_SIGNAL_CHECK_ON, MUSIC_BASE_VIEW);
-               else
-                       elm_object_item_signal_emit(itinfo->item,
-                       MUSIC_SIGNAL_CHECK_OFF, MUSIC_BASE_VIEW);
-       }
-       else if (!strcmp(part, "elm.text1")) {
+       else if (!strcmp(part, "elm.text1"))
                str = itinfo->sinfo->Artist();
-       }
-       else if (!strcmp(part, "elm.text2")) {
+       else if (!strcmp(part, "elm.text2"))
                str = itinfo->sinfo->Album();
-       }
 
        if (str)
                return strdup(str);
@@ -230,14 +211,6 @@ char *CCategorySongsLayout::sm_CbGetListItemText(void *data, Evas_Object *obj, c
 
        if (!strcmp(part, "elm.text")) {
                index = elm_genlist_item_index_get(itinfo->item);
-               if ((index & 1) == 1) {
-                       elm_object_item_signal_emit(itinfo->item,
-                               MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
-               }
-               else {
-                       elm_object_item_signal_emit(itinfo->item,
-                               MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
-               }
                snprintf(buf, sizeof(buf), "%d", index);
        }
        else if (!strcmp(part, "elm.text1"))
@@ -761,7 +734,8 @@ void CCategorySongsLayout::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, CATEGORY_SONGS_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_ACTIVATED);
+               Connect(genlist, CATEGORY_SONGS_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN |
+                       TYPE_ACTIVATED | TYPE_REALIZED);
                m->songlist = genlist;
        }
 
@@ -1293,4 +1267,36 @@ void CCategorySongsLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item
        default:
                break;
        }
+}
+
+
+void CCategorySongsLayout::OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case CATEGORY_SONGS_GENLIST:
+               {
+                       SCategorySongsItemsInfo *itinfo;
+                       int index;
+
+                       index = elm_genlist_item_index_get(item);
+                       if ((index & 1) == 1)
+                               elm_object_item_signal_emit(item,
+                                       MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
+                       else
+                               elm_object_item_signal_emit(item,
+                                       MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
+
+                       itinfo = m_FindItemInfoFromItem(m->it_infolist, item);
+                       if (itinfo->check_status)
+                               elm_object_item_signal_emit(itinfo->item,
+                                       MUSIC_SIGNAL_CHECK_ON, MUSIC_BASE_VIEW);
+                       else
+                               elm_object_item_signal_emit(itinfo->item,
+                                       MUSIC_SIGNAL_CHECK_OFF, MUSIC_BASE_VIEW);
+               }
+               break;
+
+       default:
+               break;
+       }
 }
\ No newline at end of file
index 35f1642..093bd26 100644 (file)
@@ -1343,14 +1343,6 @@ public:
                if (!strcmp(part, "elm.text0")) {
                        index = elm_genlist_item_index_get(pItemInfo->item);
                        snprintf(buf, sizeof(buf), "%d", index);
-                       if ((index & 1) == 1) {
-                               elm_object_item_signal_emit(pItemInfo->item,
-                                       MUSIC_SIGNAL_EVEN_ROW, MUSIC_PLAYBACK_VIEW);
-                       }
-                       else {
-                               elm_object_item_signal_emit(pItemInfo->item,
-                                       MUSIC_SIGNAL_ODD_ROW, MUSIC_PLAYBACK_VIEW);
-                       }
                }
                else if (!strcmp(part, "elm.text1"))
                        snprintf(buf, sizeof(buf), "%s", sinfo->Name());
@@ -1477,7 +1469,8 @@ void CPlaybackView::m_AddGenlist(void)
        elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
        elm_genlist_multi_select_set(genlist, EINA_FALSE);
 
-       Connect(genlist, EO_PLAYLIST, TYPE_REALIZED | TYPE_UNREALIZED | TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_ACTIVATED);
+       Connect(genlist, EO_PLAYLIST, TYPE_REALIZED | TYPE_UNREALIZED |
+               TYPE_MOUSE_MOVE | TYPE_KEY_DOWN | TYPE_ACTIVATED);
 
        evas_object_show(genlist);
        m->eoPlaylist = genlist;
@@ -2130,9 +2123,19 @@ void CPlaybackView::OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item)
 {
        switch (id) {
        case EO_PLAYLIST:
-               elm_object_item_signal_callback_add(item,
-                       MUSIC_SIGNAL_CHECK_CLICKED, MUSIC_PLAYBACK_VIEW,
-                       sm_CbGenlistItemCheckClicked, this);
+               {
+                       int index = elm_genlist_item_index_get(item);
+                       if ((index & 1) == 1)
+                               elm_object_item_signal_emit(item,
+                                       MUSIC_SIGNAL_EVEN_ROW, MUSIC_PLAYBACK_VIEW);
+                       else
+                               elm_object_item_signal_emit(item,
+                                       MUSIC_SIGNAL_ODD_ROW, MUSIC_PLAYBACK_VIEW);
+
+                       elm_object_item_signal_callback_add(item,
+                               MUSIC_SIGNAL_CHECK_CLICKED, MUSIC_PLAYBACK_VIEW,
+                               sm_CbGenlistItemCheckClicked, this);
+               }
                break;
 
        default:
index ac82f67..faaddf3 100644 (file)
@@ -102,7 +102,6 @@ char *CSongLayout::sm_CbGetListItemText(void *data, Evas_Object *obj, const char
        char buf[MAX_LENGTH];
        char *timestr = NULL;
        int duration;
-       int index;
 
        if (!itinfo || !obj)
                return NULL;
@@ -111,18 +110,8 @@ char *CSongLayout::sm_CbGetListItemText(void *data, Evas_Object *obj, const char
 
        snprintf(buf, sizeof(buf), "%s", MUSIC_STR_EMPTY);
 
-       if (!strcmp(part, "elm.text")) {
-               index = elm_genlist_item_index_get(itinfo->item);
-               if ((index & 1) == 1) {
-                       elm_object_item_signal_emit(itinfo->item,
-                               MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
-               }
-               else {
-                       elm_object_item_signal_emit(itinfo->item,
-                               MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
-               }
+       if (!strcmp(part, "elm.text"))
                snprintf(buf, sizeof(buf), " %s", sinfo->Name());
-       }
        else if (!strcmp(part, "elm.text1"))
                snprintf(buf, sizeof(buf), "%s", sinfo->Artist());
        else if (!strcmp(part, "elm.text2"))
@@ -494,7 +483,8 @@ 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 | TYPE_ACTIVATED);
+       Connect(genlist, SONG_LAYOUT_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN |
+               TYPE_ACTIVATED | TYPE_REALIZED);
        m->songlist = genlist;
 
        list_item = elm_genlist_item_class_new();
@@ -729,4 +719,25 @@ void CSongLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
        default:
                break;
        }
+}
+
+
+void CSongLayout::OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       int index;
+
+       switch (id) {
+       case SONG_LAYOUT_GENLIST:
+               index = elm_genlist_item_index_get(item);
+               if ((index & 1) == 1)
+                       elm_object_item_signal_emit(item,
+                               MUSIC_SIGNAL_EVEN_ROW, MUSIC_BASE_VIEW);
+               else
+                       elm_object_item_signal_emit(item,
+                               MUSIC_SIGNAL_ODD_ROW, MUSIC_BASE_VIEW);
+               break;
+
+       default:
+               break;
+       }
 }
\ No newline at end of file