Initialize Tizen 2.3
[apps/osp/Contacts.git] / src / CtFormFactory.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.1 (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        CtFormFactory.cpp
19  * @brief       This is the implementation file for the FormFactory class.
20  */
21
22 #include "CtContactDetailsForm.h"
23 #include "CtContactEditorForm.h"
24 #include "CtContactSelectorForm.h"
25 #include "CtFormFactory.h"
26 #include "CtGroupContactListEditorForm.h"
27 #include "CtGroupContactListForm.h"
28 #include "CtGroupEditorForm.h"
29 #include "CtGroupSelectorForm.h"
30 #include "CtMainForm.h"
31 #include "CtSettingsForm.h"
32 #include "CtTypes.h"
33
34 using namespace Tizen::Ui::Controls;
35 using namespace Tizen::Ui::Scenes;
36
37 FormFactory::FormFactory(void)
38 {
39 }
40
41 FormFactory::~FormFactory(void)
42 {
43 }
44
45 Tizen::Ui::Controls::Form*
46 FormFactory::CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId)
47 {
48         result r = E_SUCCESS;
49
50         Form* pNewForm = null;
51         SceneManager* pSceneManager = SceneManager::GetInstance();
52
53         if (formId == IDC_FORM_MAIN)
54         {
55                 MainForm* pForm = new (std::nothrow) MainForm();
56                 pForm->Initialize();
57
58                 pNewForm = pForm;
59         }
60         else if (formId == IDC_FORM_CONTACT_SELECTOR)
61         {
62                 ContactSelectorForm* pForm = new (std::nothrow) ContactSelectorForm();
63                 pForm->Initialize();
64
65                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
66                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
67
68                 pNewForm = pForm;
69         }
70         else if (formId == IDC_FORM_CONTACT_DETAILS)
71         {
72                 ContactDetailsForm* pForm = new (std::nothrow) ContactDetailsForm();
73                 pForm->Initialize();
74
75                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
76                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
77
78                 pNewForm = pForm;
79         }
80         else if (formId == IDC_FORM_CONTACT_EDITOR)
81         {
82                 ContactEditorForm* pForm = new (std::nothrow) ContactEditorForm();
83                 pForm->Initialize();
84
85                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
86                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
87
88                 pNewForm = pForm;
89         }
90         else if (formId == IDC_FORM_GROUP_SELECTOR)
91         {
92                 GroupSelectorForm* pForm = new (std::nothrow) GroupSelectorForm();
93                 pForm->Initialize();
94
95                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
96                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
97
98                 pNewForm = pForm;
99         }
100         else if (formId == IDC_FORM_GROUP_EDITOR)
101         {
102                 GroupEditorForm* pForm = new (std::nothrow) GroupEditorForm();
103                 pForm->Initialize();
104
105                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
106                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
107
108                 pNewForm = pForm;
109         }
110         else if (formId == IDC_FORM_SETTINGS)
111         {
112                 SettingsForm* pForm = new (std::nothrow) SettingsForm();
113                 pForm->Initialize();
114                 pNewForm = pForm;
115         }
116         else if (formId == IDC_FORM_GROUP_CONTACT_LIST)
117         {
118                 GroupContactListForm* pForm = new (std::nothrow) GroupContactListForm();
119                 pForm->Initialize();
120
121                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
122                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
123
124                 pNewForm = pForm;
125         }
126         else if (formId == IDC_FORM_GROUP_CONTACT_LIST_EDITOR)
127         {
128                 GroupContactListEditorForm* pForm = new (std::nothrow) GroupContactListEditorForm();
129                 pForm->Initialize();
130
131                 r = pSceneManager->AddSceneEventListener(sceneId, *pForm);
132                 TryCatch(r == E_SUCCESS, delete pForm, "[%s] Unable to add scene event listener", GetErrorMessage(r));
133
134                 pNewForm = pForm;
135         }
136
137         return pNewForm;
138
139 CATCH:
140         return null;
141 }