2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __MUSIC_BASE_VIEW_H__
18 #define __MUSIC_BASE_VIEW_H__
28 class CMusicBaseView : public CBaseView, public CListenerMgr,
29 public IKeyDownListener, public IKeyUpListener,
30 public IMouseMoveListener, public IMouseClickedListener,
31 public IMusicControllerListener
34 struct SMusicBaseView* m;
37 static void sm_CbHandleEmptyStatus(void *cookie, bool emptyStatus);
38 void m_OnHandleEmptyStatus(bool emptyStatus);
40 static void sm_CbCtxPopupBtnClicked(void *dt, Evas_Object *obj, void *ev);
41 void m_CbCtxPopupBtnClicked(Evas_Object *obj, void *ev);
43 static void sm_CbCtxPopupBtnKeyPressed(void *dt, Evas *e, Evas_Object *obj, void *ei);
44 void m_OnCtxPopupBtnKeyPressed(Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
47 void m_UpdateFocusSequence(void);
48 void m_UpdateEmptyFocusSequence(void);
50 void m_ShowCurrentLayout(void);
51 void m_GotoPlayback(void);
53 static bool sm_FindIndex(const char **arr, int arrsize, const char *text, int *index);
55 void m_CreateCtxPopup(int btnType);
56 void m_DestroyCtxPopup(void);
58 Evas_Object *m_CreateLoadingPopup(void);
59 void m_DestroyPopup(void);
61 void m_UpdatePlaysongLabel(void);
62 void m_AddPlaysongLabel(void);
63 void m_CreateTopSection(void);
64 void m_CreateLeftSection(void);
65 void m_CreateFullView(void);
67 void m_SetSourceType(void);
68 void m_UpdateCurrentLayout(bool focusFlag);
71 virtual void t_OnShow(void);
72 virtual void t_OnHide(void);
73 virtual void t_OnUpdate(void* data);
76 CMusicBaseView(const char *pViewId) :
78 IKeyDownListener(this),
80 IMouseMoveListener(this),
81 IMouseClickedListener(this),
83 virtual ~CMusicBaseView() {}
85 virtual bool Create(void *data);
86 virtual void Destroy(void);
88 virtual Evas_Object* Base(void);
91 virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
92 virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
93 virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev);
94 virtual void OnMouseClicked(int id, Evas_Object *obj);
98 virtual void t_OnComplete(void);
99 virtual void t_OnError(void);
100 virtual void t_OnUsbConnected(void);
101 virtual void t_OnUpdateContent(void);
105 #endif /*__MUSIC_BASE_VIEW_H__*/