2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://floralicense.org/license/
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.
18 * @file PhnSettingsEditRejectMsgForm.cpp
19 * @brief Settings Edit reject message form
22 #include "PhnAppUtility.h"
23 #include "PhnSettingsConstants.h"
24 #include "PhnSettingsPresentationModel.h"
25 #include "PhnSettingsEditRejectMsgForm.h"
26 #include "PhnSceneRegister.h"
28 using namespace Tizen::App;
29 using namespace Tizen::Ui;
30 using namespace Tizen::Ui::Controls;
31 using namespace Tizen::Ui::Scenes;
32 using namespace Tizen::Graphics;
33 using namespace Tizen::Base;
34 using namespace Tizen::Base::Collection;
36 static const wchar_t* IDL_SETTINGS_ADD_EDIT_REJECT_MSGS_FORM = L"IDL_SETTINGS_ADD_EDIT_REJECT_MSGS_FORM";
38 SettingsEditRejectMsgForm::SettingsEditRejectMsgForm(FormMode formMode)
39 : __formMode(formMode),__pSettingsPresentor(null)
43 SettingsEditRejectMsgForm::~SettingsEditRejectMsgForm(void)
48 SettingsEditRejectMsgForm::Initialize(void)
50 Construct(IDL_SETTINGS_ADD_EDIT_REJECT_MSGS_FORM);
55 SettingsEditRejectMsgForm::OnInitializing(void)
61 //Initialize reject message editArea
62 ExpandableEditArea* pEditMsgs = static_cast<ExpandableEditArea*>(GetControl(IDC_REJECTMSG_EXPANDABLEEDITAREA));
63 if (pEditMsgs != null)
65 pEditMsgs->AddTextEventListener(*this);
66 pEditMsgs->SetFocus();
67 pEditMsgs->ShowKeypad();
74 SettingsEditRejectMsgForm::InitializeHeader(void)
76 Header* pHeader = GetHeader();
79 pHeader->SetStyle(HEADER_STYLE_BUTTON);
83 saveItemName.Append(AppUtility::GetResourceString(IDS_SETTING_SAVE_HEADER_ITEM));
84 HeaderItem saveHeaderItem;
85 saveHeaderItem.Construct(IDA_SAVE_HEADER_ITEMID);
86 saveHeaderItem.SetText(saveItemName);
87 pHeader->AddItem(saveHeaderItem);
88 pHeader->SetItemEnabled(0,false);
91 ButtonItem cancelHeaderItem;
92 cancelHeaderItem.Construct(BUTTON_ITEM_STYLE_ICON, IDA_CANCEL_HEADER_ITEMID);
93 Bitmap* pNormalBmp = AppUtility::GetBitmapFromResourcesN(IDB_BACK_HEADER_ITEM, W_HDR_FTR_ICON, H_HDR_FTR_ICON);
94 Bitmap* pPressBmp = AppUtility::GetBitmapFromResourcesN(IDB_BACK_HEADER_ITEM_PRESSED, W_HDR_FTR_ICON, H_HDR_FTR_ICON);
95 cancelHeaderItem.SetIcon(BUTTON_ITEM_STATUS_NORMAL, pNormalBmp);
96 cancelHeaderItem.SetIcon(BUTTON_ITEM_STATUS_PRESSED, pPressBmp);
97 pHeader->SetButton(BUTTON_POSITION_RIGHT, cancelHeaderItem);
103 pHeader->AddActionEventListener(*this);
108 SettingsEditRejectMsgForm::OnTerminating(void)
110 result r = E_SUCCESS;
115 SettingsEditRejectMsgForm::OnActionPerformed(const Control& source, int actionId)
117 SceneManager* pSceneManager = SceneManager::GetInstance();
118 AppAssert(pSceneManager != null);
122 case IDA_CANCEL_HEADER_ITEMID:
127 case IDA_SAVE_HEADER_ITEMID:
129 if (__itemIndex != -1)
132 ExpandableEditArea* pEditMsgs = static_cast<ExpandableEditArea*>(GetControl(IDC_REJECTMSG_EXPANDABLEEDITAREA));
133 if (pEditMsgs != null)
135 if (pEditMsgs->GetTextLength() == 0)
137 //switch back to previous form
138 pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CALL_REJECTMSGS_MENU), null);
141 msgString.Append(pEditMsgs->GetText());
143 __pSettingsPresentor->SetRejectMessage(__itemIndex, msgString);
152 //switch back to previous form
153 pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CALL_REJECTMSGS_MENU), null);
157 SettingsEditRejectMsgForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
161 __pSettingsPresentor = SettingsPresentationModel::GetInstance();
162 ExpandableEditArea* pEditMsgs = static_cast<ExpandableEditArea*>(GetControl(IDC_REJECTMSG_EXPANDABLEEDITAREA));
163 if (__formMode == FORMMODE_EDIT_MESSAGE && pArgs != null)
165 __itemIndex = (static_cast<Integer*>(pArgs->GetAt(0)))->ToInt();
166 String* pRejectMsg = static_cast<String*>(pArgs->GetAt(1));
167 if (pEditMsgs != null)
169 pEditMsgs->SetText(*pRejectMsg);
170 pEditMsgs->SetFocus();
173 else if (__formMode == FORMMODE_NEW_MESSAGE && pArgs != null)
175 __itemIndex = (static_cast<Integer*>(pArgs->GetAt(0)))->ToInt();
176 if (pEditMsgs != null)
179 pEditMsgs->SetFocus();
183 //Enable or disable save button
184 Header* pHeader = GetHeader();
185 bool enableSaveHeaderItem = (__formMode == FORMMODE_EDIT_MESSAGE);
188 pHeader->SetItemEnabled(0, enableSaveHeaderItem);
189 pHeader->Invalidate(true);
201 SettingsEditRejectMsgForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
203 // Add your scene deactivate code here
204 __pSettingsPresentor = null;
205 ExpandableEditArea* pEditMsgs = static_cast<ExpandableEditArea*>(GetControl(IDC_REJECTMSG_EXPANDABLEEDITAREA));
206 if (pEditMsgs != null)
208 pEditMsgs->HideKeypad();
213 SettingsEditRejectMsgForm::OnTextValueChanged(const Control& source)
216 ExpandableEditArea* pEditMsgs = static_cast<ExpandableEditArea*>(GetControl(IDC_REJECTMSG_EXPANDABLEEDITAREA));
219 textLen = pEditMsgs->GetTextLength();
220 Header* pHeader = GetHeader();
224 pHeader->SetItemEnabled(0, true);
229 pHeader->SetItemEnabled(0, false);
231 pHeader->Invalidate(true);
236 SettingsEditRejectMsgForm::OnTextValueChangeCanceled(const Control& source)