};
-bool CFbPhotoLayout::t_CreateFileGrid(Evas_Object *layout)
+void CFbPhotoLayout::sm_CbUpdateEmptyFocusSequence(void* cookie)
{
- return true;
+ _DBG();
+ CFbBaseView *pfbBaseView = NULL;
+ Evas_Object *eoBase = (Evas_Object*)cookie;
+
+ if (!eoBase)
+ return;
+
+ pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
+ ASSERT(pfbBaseView);
+ pfbBaseView->UpdateEmptyFocusSequence();
}
-void CFbPhotoLayout::t_DestroyFileGrid(void)
+void CFbPhotoLayout::sm_CbUpdatedGrid(void* cookie)
{
- return;
+ _DBG();
+ CFbBaseView *pfbBaseView = NULL;
+ Evas_Object *eoBase = (Evas_Object*)cookie;
+ if (!eoBase)
+ return;
+
+ pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
+ ASSERT(pfbBaseView);
+ pfbBaseView->UpdatedGrid();
}
-void CFbPhotoLayout::t_OnShow(void)
+void CFbPhotoLayout::sm_CbUnsetFocus(void* cookie)
{
- return;
+ _DBG();
+ CFbBaseView *pfbBaseView = NULL;
+ Evas_Object *eoBase = (Evas_Object*)cookie;
+ if (eoBase) {
+ pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
+ ASSERT(pfbBaseView);
+ pfbBaseView->UnsetFocus();
+ }
}
-void CFbPhotoLayout::t_OnHide(void)
+void CFbPhotoLayout::sm_CbLinkApp(void* cookie, int type, int source_type, char *path)
{
- return;
+ _DBG();
+ CFbBaseView *pfbBaseView = NULL;
+ Evas_Object *eoBase = (Evas_Object*)cookie;
+ if (eoBase)
+ {
+ pfbBaseView = (CFbBaseView*)evas_object_data_get(eoBase, BASE_VIEW_DATA);
+ ASSERT(pfbBaseView);
+ pfbBaseView->CbLinkApp(type, source_type, path);
+ }
}
-bool CFbPhotoLayout::Create(CLayoutMgr *mgr, void *data)
+bool CFbPhotoLayout::t_CreateFileGrid(Evas_Object *layout)
{
+ m->pFileGrid = new CFileGrid;
+ if (!m->pFileGrid)
+ return false;
+
+ CFileGrid::SCallback cb;
+ cb.cbUpdateEmptyFocusSequence = sm_CbUpdateEmptyFocusSequence;
+ cb.cbUpdatedGrid = sm_CbUpdatedGrid;
+ cb.cbUnsetFocus = sm_CbUnsetFocus;
+ cb.cbLinkApp = sm_CbLinkApp;
+ cb.cookie = m->eoBase;
+ if (!m->pFileGrid->Create(m->eoWin, layout, &cb)) {
+ _DBG("Fail to create FileGrid");
+ delete m->pFileGrid;
+ m->pFileGrid = NULL;
+ return false;
+ }
return true;
}
-void CFbPhotoLayout::Destroy(void)
+void CFbPhotoLayout::t_DestroyFileGrid(void)
+{
+ if (!m->pFileGrid)
+ return;
+
+ m->pFileGrid->Destroy();
+ delete m->pFileGrid;
+ m->pFileGrid = NULL;
+}
+
+
+void CFbPhotoLayout::t_OnShow(void)
{
- return;
+ elm_object_part_content_unset(m->eoBase, FBR_PART_CONTENT);
+ elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, Layout());
+ m->pFileGrid->Update(false);
+ CBaseLayout::t_OnShow();
}
-void CFbPhotoLayout::Update(bool flag)
+bool CFbPhotoLayout::Create(CLayoutMgr *mgr, void *data)
{
- return;
+ ASSERT(!m);
+ ASSERT(mgr);
+
+ Evas_Object* layout = NULL;
+
+ _CREATE_BEGIN{
+ _CHECK(m = new SFbPhotoLayout)
+ _CHECK(m->pLayoutMgr = mgr)
+ _CHECK(m->pViewMgr = CViewMgr::GetInstance())
+ _CHECK(m->eoBase = m->pLayoutMgr->Base())
+ _CHECK(m->eoWin = m->pViewMgr->Window())
+ _CHECK(layout = elm_layout_add(m->eoBase))
+ _CHECK(elm_layout_file_set(layout, EDJEFILE, FB_PHOTO_LAYOUT))
+ _CHECK(t_CreateFileGrid(layout))
+ _COMMAND{
+ elm_object_part_content_unset(m->eoBase, FBR_PART_CONTENT);
+ elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, layout);
+ }
+ _CHECK(CBaseLayout::Create(layout))
+
+ _WHEN_SUCCESS{}
+
+ _CHECK_FAIL{ CBaseLayout::Destroy(); }
+ _CHECK_FAIL{ t_DestroyFileGrid(); }
+ _CHECK_FAIL{ /* elm_layout_file_set */ }
+ _CHECK_FAIL{ /* elm_layout_add */ }
+ _CHECK_FAIL{ /* m->pViewMgr->Window()*/ }
+ _CHECK_FAIL{ /* m->pLayoutMgr->Base() */ }
+ _CHECK_FAIL{ /* CViewMgr::GetInstace() */ }
+ _CHECK_FAIL{ /* m->pLayoutMgr = mgr */ }
+ _CHECK_FAIL{ delete m; m = NULL; }
+ } _CREATE_END_AND_CATCH{ return false; }
+
+ return true;
}
-void CFbPhotoLayout::SetFocus(Eina_Bool flag)
+void CFbPhotoLayout::Destroy(void)
{
- return;
+ ASSERT(m);
+
+ CBaseLayout::Destroy();
+ t_DestroyFileGrid();
+ delete m;
+ m = NULL;
}
-Evas_Object* CFbPhotoLayout::Grid(void)
+void CFbPhotoLayout::SetFocus(Eina_Bool flag)
{
- return NULL;
+ ASSERT(m);
+ _DBG();
+
+ m->pFileGrid->SetFocus(flag);
}
void CFbPhotoLayout::Action(void)
{
- return;
+ ASSERT(m);
+
+ return m->pFileGrid->Action();
}