Tizen 2.0 Release
[apps/osp/Gallery.git] / src / GlFormFactory.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 /**
18  * @file                GlFormFactory.cpp
19  * @brief               This is the implementation file for FormFactory class.
20  */
21
22 #include "GlAlbumListEditorForm.h"
23 #include "GlAlbumListForm.h"
24 #include "GlAlbumNameEditorForm.h"
25 #include "GlFileListEditorForm.h"
26 #include "GlFileListForm.h"
27 #include "GlFormFactory.h"
28 #include "GlSettingIntervalForm.h"
29 #include "GlSettingMainForm.h"
30 #include "GlSettingTransitionForm.h"
31 #include "GlTypes.h"
32
33 using namespace Tizen::Base;
34 using namespace Tizen::Ui;
35 using namespace Tizen::Ui::Controls;
36 using namespace Tizen::Ui::Scenes;
37
38 FormFactory::FormFactory(void)
39 {
40         AppLogDebug("ENTER");
41         AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
42 }
43
44 FormFactory::~FormFactory(void)
45 {
46         AppLogDebug("ENTER");
47         AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
48 }
49
50 Form*
51 FormFactory::CreateFormN(const String& formId, const SceneId& sceneId)
52 {
53         AppLogDebug("ENTER");
54         SceneManager* pSceneManager = SceneManager::GetInstance();
55         AppAssert(pSceneManager);
56         Form* pNewForm = null;
57
58         if (formId == IDC_FORM_ALBUM_LIST)
59         {
60                 AlbumListForm* pForm = new (std::nothrow) AlbumListForm();
61                 pForm->Initialize();
62                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
63                 pNewForm = pForm;
64         }
65         else if (formId == IDC_FORM_ALBUM_LIST_EDITOR)
66         {
67                 AlbumListEditorForm* pForm = new (std::nothrow) AlbumListEditorForm();
68                 pForm->Initialize();
69                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
70                 pNewForm = pForm;
71         }
72         else if (formId == IDC_FORM_ALBUM_NAME_EDITOR)
73         {
74                 AlbumNameEditorForm* pForm = new (std::nothrow) AlbumNameEditorForm();
75                 pForm->Initialize();
76                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
77                 pNewForm = pForm;
78         }
79         else if (formId == IDC_FORM_FILE_LIST)
80         {
81                 FileListForm* pForm = new (std::nothrow) FileListForm();
82                 pForm->Initialize();
83                 pNewForm = pForm;
84         }
85         else if (formId == IDC_FORM_FILE_LIST_EDITOR)
86         {
87                 FileListEditorForm* pForm = new (std::nothrow) FileListEditorForm();
88                 pForm->Initialize();
89                 pNewForm = pForm;
90         }
91         else if (formId == IDC_FORM_SETTING_MAIN)
92         {
93                 SettingMainForm* pForm = new (std::nothrow) SettingMainForm();
94                 pForm->Initialize();
95                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
96                 pNewForm = pForm;
97         }
98         else if (formId == IDC_FORM_SETTING_INTERVAL)
99         {
100                 SettingIntervalForm* pForm = new (std::nothrow) SettingIntervalForm();
101                 pForm->Initialize();
102                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
103                 pNewForm = pForm;
104         }
105         else if (formId == IDC_FORM_SETTING_TRANSITION)
106         {
107                 SettingTransitionForm* pForm = new (std::nothrow) SettingTransitionForm();
108                 pForm->Initialize();
109                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
110                 pNewForm = pForm;
111         }
112         AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
113
114         return pNewForm;
115 }