From c6d93ee1261c9e51bc7a8f3318a0f32abccff011 Mon Sep 17 00:00:00 2001 From: Jehun Lim Date: Tue, 28 Apr 2015 14:56:32 +0900 Subject: [PATCH] apply SKeyDownListener and SKeyUpListener in application-common Change-Id: Ic68523be489065aeeff376647cc4836cdfb53a13 Signed-off-by: Jehun Lim --- include/FileGrid.h | 6 ++--- src/views/BaseView/FbBaseView.cpp | 48 +++++++++++++++++++++++++++------------ src/views/BaseView/FileGrid.cpp | 18 ++++++++++----- src/views/FbContextView.cpp | 10 ++++---- 4 files changed, 53 insertions(+), 29 deletions(-) diff --git a/include/FileGrid.h b/include/FileGrid.h index ec46230..7b0c25a 100644 --- a/include/FileGrid.h +++ b/include/FileGrid.h @@ -18,7 +18,7 @@ #define __FILE_GRID_H__ -class CFileGrid : public CListenerMgr, IMouseMoveListener, IKeyUpListener { +class CFileGrid : public CListenerMgr, IMouseMoveListener, ISKeyUpListener { private: struct SFileGrid* m; @@ -50,7 +50,7 @@ protected: void t_Fill(void); public: - CFileGrid() : IMouseMoveListener(this), IKeyUpListener(this), m(0) { } + CFileGrid() : IMouseMoveListener(this), ISKeyUpListener(this), m(0) { } virtual ~CFileGrid() { if (m) Destroy(); } bool Create(Evas_Object* win, Evas_Object* base, const SCallback* cb); @@ -64,7 +64,7 @@ public: //! virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev); //! - virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev); + virtual void OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev); }; diff --git a/src/views/BaseView/FbBaseView.cpp b/src/views/BaseView/FbBaseView.cpp index 88393e3..03bd6c7 100644 --- a/src/views/BaseView/FbBaseView.cpp +++ b/src/views/BaseView/FbBaseView.cpp @@ -125,21 +125,27 @@ struct SFbBaseView { delete pHandlerGroup[a]; } - class CHandlerBase : public CListenerMgr, public IKeyDownListener, public IKeyUpListener{ + class CHandlerBase : public CListenerMgr, public ISKeyDownListener, public ISKeyUpListener{ SFbBaseView *m; public: - CHandlerBase(SFbBaseView *ins) : IKeyDownListener(this), IKeyUpListener(this) { m = ins; } + CHandlerBase(SFbBaseView *ins) : ISKeyDownListener(this), ISKeyUpListener(this) { m = ins; } - virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev) { + virtual void OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev) { _DBG("m->curLayoutId = %d",m->curLayoutId); - if (!strcmp(ev->keyname, KEY_EXIT)) + switch (ev->skey) { + case SKEY_EXIT: elm_exit(); + break; + default: + break; + } } - virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev) + virtual void OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev) { _DBG("m->curLayoutId = %d",m->curLayoutId); - if (!strcmp(ev->keyname, KEY_ENTER) || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) { + switch (ev->skey) { + case SKEY_ENTER: if (elm_object_focus_get(m->eoSelectedBtnGroup)) { switch(m->curLayoutId) { @@ -157,12 +163,14 @@ struct SFbBaseView { break; } } + break; + default: + break; } - } } *pHandlerBase; - class CHandlerButton : public CListenerMgr, protected IKeyDownListener, IMouseMoveListener, IMouseClickedListener { + class CHandlerButton : public CListenerMgr, protected ISKeyDownListener, IMouseMoveListener, IMouseClickedListener { private: SFbBaseView *m; private: @@ -220,12 +228,17 @@ struct SFbBaseView { } public: - CHandlerButton(SFbBaseView *ins) : IKeyDownListener(this), IMouseMoveListener(this), IMouseClickedListener(this) { m = ins; } + CHandlerButton(SFbBaseView *ins) : ISKeyDownListener(this), IMouseMoveListener(this), IMouseClickedListener(this) { m = ins; } - virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev) { + virtual void OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev) { _DBG("id = %d", id); - if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_REMOTE)) + switch (ev->skey) { + case SKEY_BACK: elm_object_focus_set(m->eoSelectedBtnGroup, EINA_TRUE); + break; + default: + break; + } } virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev) { _DBG("id = %d", id); @@ -251,13 +264,13 @@ struct SFbBaseView { } } *pHandlerButton[TOTAL_TOP_BTNS]; - class CHandlerGroup : public CListenerMgr, IMouseMoveListener, IKeyDownListener, IMouseClickedListener { + class CHandlerGroup : public CListenerMgr, IMouseMoveListener, ISKeyDownListener, IMouseClickedListener { private: SFbBaseView *m; public: CHandlerGroup(SFbBaseView *ins) : IMouseMoveListener(this), - IKeyDownListener(this), + ISKeyDownListener(this), IMouseClickedListener(this) { m = ins; } virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev) { @@ -265,10 +278,15 @@ struct SFbBaseView { if (!elm_object_focus_get(obj)) elm_object_focus_set(obj, EINA_TRUE); } - virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev) { + virtual void OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev) { _DBG("id = %d", id); - if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_REMOTE)) + switch (ev->skey) { + case SKEY_BACK: elm_exit(); + break; + default: + break; + } } virtual void OnMouseClicked(int id, Evas_Object *obj) { if (m->eoSelectedBtnGroup == obj) diff --git a/src/views/BaseView/FileGrid.cpp b/src/views/BaseView/FileGrid.cpp index a35a6ab..227b909 100644 --- a/src/views/BaseView/FileGrid.cpp +++ b/src/views/BaseView/FileGrid.cpp @@ -430,14 +430,15 @@ Evas_Object* CFileGrid::Grid(void) } -void CFileGrid::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev) { +void CFileGrid::OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev) { Elm_Object_Item *it; SItemInfo *pItemInfo; if(ev->keyname) _DBG("%s", ev->keyname); - if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_REMOTE)) { + switch (ev->skey) { + case SKEY_BACK: if (m->depth == 0) { if (m->callback.cbUnsetFocus) m->callback.cbUnsetFocus(m->callback.cookie); @@ -448,8 +449,8 @@ void CFileGrid::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev elm_gengrid_item_show(it, ELM_GENGRID_ITEM_SCROLLTO_IN); elm_object_item_focus_set(it, EINA_TRUE); } - } - else if (!strcmp(ev->keyname, KEY_ENTER) || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) { + break; + case SKEY_ENTER: it = elm_object_focused_item_get(obj); if (!it) { _ERR(" unable to get focused item "); @@ -461,8 +462,9 @@ void CFileGrid::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev m->handle_itinfo = pItemInfo; m_HandleSelection(); - } - else if (!strcmp(ev->keyname, KEY_MENU) || !strcmp(ev->keyname, KEY_MENU_REMOTE)) { + + break; + case SKEY_MENU: it = elm_object_focused_item_get(obj); if (!it) { _ERR(" unable to get focused item "); @@ -475,6 +477,10 @@ void CFileGrid::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev m->ctxt_itinfo = pItemInfo; CViewMgr::GetInstance()->PushView(FBR_CONTEXT_VIEW, pItemInfo->pInfo); + + break; + default: + break; } } diff --git a/src/views/FbContextView.cpp b/src/views/FbContextView.cpp index 12fe368..07df956 100644 --- a/src/views/FbContextView.cpp +++ b/src/views/FbContextView.cpp @@ -70,27 +70,27 @@ struct SContextView { delete pHandlerButton; } - class CHandlerButton : public CListenerMgr, IMouseMoveListener, IMouseUpListener, IKeyUpListener { + class CHandlerButton : public CListenerMgr, IMouseMoveListener, IMouseUpListener, ISKeyUpListener { SContextView *m; public: - CHandlerButton(SContextView *ins) : IMouseMoveListener(this), IMouseUpListener(this), IKeyUpListener(this) { m = ins; } + CHandlerButton(SContextView *ins) : IMouseMoveListener(this), IMouseUpListener(this), ISKeyUpListener(this) { m = ins; } virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev) { if (!elm_object_focus_get(obj)) elm_object_focus_set(obj, EINA_TRUE); } - virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev) { + virtual void OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev) { _DBG(); if (m->eoBtnOpen == obj) { _DBG(); - if (strcmp(ev->keyname, KEY_ENTER) && strcmp(ev->keyname, KEY_ENTER_REMOTE)) + if (ev->skey == SKEY_ENTER) return; CViewMgr::GetInstance()->UpdateView(FBR_BASE_VIEW, NULL); } else { _DBG(); - if (strcmp(ev->keyname, KEY_ENTER) && strcmp(ev->keyname, KEY_ENTER_REMOTE)) + if (ev->skey == SKEY_ENTER) return; elm_object_signal_emit(obj, FBR_SIGNAL_CONTENT_CLICKED, FBR_CONTEXT_VIEW); -- 2.7.4