: 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>
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;
IMouseMoveListener(this),
IMouseClickedListener(this),
IActivatedListener(this),
+ IRealizedListener(this),
m(0) {}
virtual ~CAlbumSongsLayout() {}
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);
};
#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,
IMouseMoveListener(this),
IMouseClickedListener(this),
IActivatedListener(this),
+ IRealizedListener(this),
m(0) {}
virtual ~CCategorySongsLayout() {}
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);
};
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;
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;
IKeyDownListener(this),
IMouseMoveListener(this),
IActivatedListener(this),
+ IRealizedListener(this),
m(0) {}
virtual ~CSongLayout() {}
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);
};
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"))
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();
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
{
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);
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"))
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;
}
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
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());
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;
{
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:
char buf[MAX_LENGTH];
char *timestr = NULL;
int duration;
- int index;
if (!itinfo || !obj)
return NULL;
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"))
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();
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