1 #include <Elementary.h>
7 #include "FbBaseView.h"
8 #include "FbAllLayout.h"
9 #include "../views/BaseView/Info.h"
18 CLayoutMgr *pLayoutMgr;
25 void CFbAllLayout::sm_CbUpdateEmptyFocusSequence(void* cookie)
28 CFbBaseView *pfbBaseView = NULL;
29 Evas_Object *eoBase = (Evas_Object*)cookie;
34 pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
36 pfbBaseView->UpdateEmptyFocusSequence();
40 void CFbAllLayout::sm_CbUpdatedGrid(void* cookie)
43 CFbBaseView *pfbBaseView = NULL;
44 Evas_Object *eoBase = (Evas_Object*)cookie;
48 pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
50 pfbBaseView->UpdatedGrid();
54 void CFbAllLayout::sm_CbUnsetFocus(void* cookie)
57 CFbBaseView *pfbBaseView = NULL;
58 Evas_Object *eoBase = (Evas_Object*)cookie;
60 pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
62 pfbBaseView->UnsetFocus();
67 void CFbAllLayout::sm_CbLinkApp(void* cookie, int type, int source_type, char *path)
70 CFbBaseView *pfbBaseView = NULL;
71 Evas_Object *eoBase = (Evas_Object*)cookie;
74 pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
76 pfbBaseView->CbLinkApp(type, source_type, path);
81 bool CFbAllLayout::t_CreateFileGrid(Evas_Object *layout)
83 m->pFileGrid = new CFileGrid;
87 CFileGrid::SCallback cb;
88 cb.cbUpdateEmptyFocusSequence = sm_CbUpdateEmptyFocusSequence;
89 cb.cbUpdatedGrid = sm_CbUpdatedGrid;
90 cb.cbUnsetFocus = sm_CbUnsetFocus;
91 cb.cbLinkApp = sm_CbLinkApp;
92 cb.cookie = m->eoBase;
93 if (!m->pFileGrid->Create(m->eoWin, layout, &cb)) {
94 _DBG("Fail to create FileGrid");
103 void CFbAllLayout::t_DestroyFileGrid(void)
108 m->pFileGrid->Destroy();
114 void CFbAllLayout::t_OnShow(void)
116 elm_object_part_content_unset(m->eoBase, FBR_PART_CONTENT);
117 elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, Layout());
118 CInfo::SetGroupIndex(E_GRP_ALL);
119 m->pFileGrid->Update(m->updateFlag);
120 m->updateFlag = false; // set default
121 CBaseLayout::t_OnShow();
125 bool CFbAllLayout::Create(CLayoutMgr *mgr, void *data)
130 Evas_Object* layout = NULL;
133 _CHECK(m = new SFbAllLayout)
134 _CHECK(m->pLayoutMgr = mgr)
135 _CHECK(m->pViewMgr = CViewMgr::GetInstance())
136 _CHECK(m->eoBase = m->pLayoutMgr->Base())
137 _CHECK(m->eoWin = m->pViewMgr->Window())
138 _CHECK(layout = elm_layout_add(m->eoBase))
139 _CHECK(elm_layout_file_set(layout, EDJEFILE, FB_ALL_LAYOUT))
140 _CHECK(t_CreateFileGrid(layout))
142 m->updateFlag = false;
143 elm_object_part_content_unset(m->eoBase, FBR_PART_CONTENT);
144 elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, layout);
146 _CHECK(CBaseLayout::Create(layout))
150 _CHECK_FAIL{ CBaseLayout::Destroy(); }
151 _CHECK_FAIL{ t_DestroyFileGrid(); }
152 _CHECK_FAIL{ /* elm_layout_file_set */ }
153 _CHECK_FAIL{ /* elm_layout_add */ }
154 _CHECK_FAIL{ /* m->pViewMgr->Window()*/ }
155 _CHECK_FAIL{ /* m->pLayoutMgr->Base() */ }
156 _CHECK_FAIL{ /* CViewMgr::GetInstace() */ }
157 _CHECK_FAIL{ /* m->pLayoutMgr = mgr */ }
158 _CHECK_FAIL{ delete m; m = NULL; }
159 } _CREATE_END_AND_CATCH{ return false; }
165 void CFbAllLayout::Destroy(void)
169 CBaseLayout::Destroy();
176 void CFbAllLayout::SetFocus(Eina_Bool flag)
181 m->pFileGrid->SetFocus(flag);
185 void CFbAllLayout::Action(void)
189 return m->pFileGrid->Action();
193 void CFbAllLayout::SetUpdateFlag(bool flag)
197 m->updateFlag = flag;