3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.1 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file AlarmEditorForm.cpp
20 * @brief Used to define AlarmEditorForm
24 #include <FAppAppControl.h>
27 #include <FSysDeviceManager.h>
31 #include <FUiInputConnection.h>
32 #include <FUiIInputConnectionEventListener.h>
35 #include "ClkAlarmEditorForm.h"
36 #include "ClkAlarmPresentationModel.h"
37 #include "ClkAlarmRepeatCustomItem.h"
38 #include "ClkCheckBoxCustomItem.h"
39 #include "ClkClockApp.h"
40 #include "ClkCommonLib.h"
41 #include "ClkDefaultCustomItem.h"
42 #include "ClkDropDownCustomItem.h"
43 #include "ClkDropdownAndRepeatCustomItem.h"
44 #include "ClkEditSnoozeForm.h"
45 #include "ClkRadioCustomItem.h"
46 #include "ClkSceneRegister.h"
47 #include "ClkToggleCustomItem.h"
50 using namespace Tizen::App;
51 using namespace Tizen::Base;
52 using namespace Tizen::Base::Collection;
53 using namespace Tizen::Graphics;
54 using namespace Tizen::Io;
55 using namespace Tizen::Media;
56 using namespace Tizen::Text;
57 using namespace Tizen::Ui;
58 using namespace Tizen::Ui::Controls;
59 using namespace Tizen::Ui::Scenes;
60 using namespace Tizen::System;
62 static const int IDA_CREATE_ALARM_SAVE = 201;
63 static const int IDA_CREATE_ALARM_CANCEL = 202;
64 static const int IDA_HEADER_ITEM_SAVE = 203;
65 static const int IDA_HEADER_ITEM_CANCEL = 204;
66 static const int IDA_BUTTON_HOURS = 205;
67 static const int IDA_BUTTON_MINS = 206;
68 static const int IDA_BUTTON_TOGGLE = 207;
69 static const int IDA_BUTTON_MORE = 208;
70 static const int IDA_BUTTON_SUN = 209;
71 static const int IDA_BUTTON_MON = 210;
72 static const int IDA_BUTTON_TUE = 211;
73 static const int IDA_BUTTON_WED = 212;
74 static const int IDA_BUTTON_THU = 213;
75 static const int IDA_BUTTON_FRI = 214;
76 static const int IDA_BUTTON_SAT = 215;
77 const RequestId REQUEST_ID_TERMINATE = 20000;
79 AlarmEditorForm::AlarmEditorForm(void)
81 , __audioFilePath(AlarmPresentationModel::GetInstance()->defaultAudioPath)
82 , __defaultEditFieldValue("")
83 , __defaultToggleValue(CommonUtil::GetString(L"IDS_COM_BODY_AM"))
87 , __isAppControlCompleted(false)
90 , __modalMsgBoxResult(0)
99 , __pBtnHourDisplay(null)
100 , __pBtnMinDisplay(null)
104 , __pGroupedListView(null)
107 , __pLabelEditfieldTitle(null)
109 , __pLabelTitle(null)
115 , __pPanelEditTime(null)
117 , __pResetPopup(null)
118 , __pScrollPanel(null)
123 , __showMessageBox(true)
124 , __showRepeat(false)
126 , __sliderDefaultValue(13)
128 , __snoozeDurationValue("")
129 , __snoozeStatus(false)
133 , __typeNameValue("")
134 , is24HourFormat(false)
140 AlarmEditorForm::~AlarmEditorForm(void)
142 if (__pDuration != null)
148 if (__pRepeat != null)
153 if (__player == null)
158 PlayerState estate = __player->GetState();
159 if ((estate == PLAYER_STATE_OPENED) || (estate == PLAYER_STATE_PAUSED)
160 || (estate == PLAYER_STATE_PLAYING)
161 || (estate == PLAYER_STATE_ENDOFCLIP) || (estate == PLAYER_STATE_STOPPED))
172 SettingInfo::RemoveSettingEventListener(*this);
173 DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
177 AlarmEditorForm::Initialize(void)
179 result r = E_FAILURE;
181 r = Construct(L"IDL_ALARM_EDITOR_FORM");
192 AlarmEditorForm::OnInitializing(void)
194 result r = E_SUCCESS;
195 Bitmap* pBgNormalBitmap = null;
196 Bitmap* pDayNormalBitmap = null;
197 Bitmap* pDayFocusBitmap = null;
198 Bitmap* pFinalBitmap = null;
199 Bitmap* pbgFocusBitmap = null;
200 Bitmap* pbgBitmap = null;
201 Bitmap* pFinalBitmapFocused = null;
202 Canvas* pCanvas = null;
203 Canvas* pCanvasFocused = null;
204 int canvasWidth = 276;
205 int canvasHeight = 236;
208 String durationValue;
210 SettingInfo::GetValue(L"http://tizen.org/setting/locale.time.format.24hour", is24HourFormat);
211 SettingInfo::AddSettingEventListener(*this);
213 AddTouchEventListener(*this);
214 AddOrientationEventListener(*this);
215 DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD,*this);
217 __snoozeDurationValue.Clear();
218 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_5MINS"));
219 __snoozeDurationValue.Append(L", ");
220 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_3TIMES"));
222 __defaultEditFieldValue = CommonUtil::GetString(L"IDS_COM_BODY_ALARM");
223 __defaultEditFieldValue.Append("1");
225 SetFormBackEventListener(this);
226 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_CREATE_ALARM, *this);
228 __pScrollPanel = static_cast<ScrollPanel*>(GetControl("IDC_SCROLLPANEL1", false));
230 if (__pScrollPanel != null)
232 __pScrollPanel->AddTouchEventListener(*this);
233 __pScrollPanel->SetScrollBarVisible(false);
235 AddFocusEventListener(*this);
236 __pLabelEditfieldTitle = static_cast<Label*>(GetControl("IDC_LABEL1", true));
238 GetFooter()->AddActionEventListener(*this);
240 __pLabelTitle = static_cast<Label*>(GetControl("IDC_LABEL_TITLE", true));
242 if (__pLabelTitle != null)
244 newAlarm = CommonUtil::GetString("IDS_COM_SK_NEW");
245 newAlarm.Append(" ");
246 newAlarm.Append(CommonUtil::GetString("IDS_COM_BODY_ALARM"));
247 newAlarm.ToUpper(labelText);
248 __pLabelTitle->SetText(labelText);
251 __pPanelList = static_cast<Panel*>(GetControl("IDC_PANEL_LIST", true));
253 __pSlider = static_cast<Slider *>(GetControl("IDC_SLIDER_VOLUME", true));
254 __pSlider->SetValue(__sliderDefaultValue);
255 __pSlider->AddSliderEventListener(*this);
256 // __pSlider->AddTouchEventListener(*this);
257 __pSlider->AddFocusEventListener(*this);
258 __pSlider->AddAdjustmentEventListener(*this);
259 __pEditField = static_cast<EditField*>(GetControl("IDC_EDITFIELD1", true));
261 if (__pEditField == null)
266 __pEditField->SetText(__defaultEditFieldValue);
267 __pEditField->AddTextEventListener(*this);
268 __pEditField->AddKeypadEventListener(*this);
269 __pEditField->AddFocusEventListener(*this);
270 __pEditField->SetOverlayKeypadCommandButtonVisible(false);
271 __pEditField->SetEditTextFilter(this);
272 __pPanelEditTime = static_cast<Panel*>(GetControl("IDC_PANEL_EDITTIME", true));
274 if (__pPanelEditTime == null)
279 __pPanelEditTime->AddTouchEventListener(*this);
281 pBgNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_NORMAL_BG);
282 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
284 pCanvas = new (std::nothrow) Canvas();
285 pCanvas->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
286 pCanvas->DrawBitmap(Point(0,0),*pBgNormalBitmap);
287 pCanvas->DrawBitmap(Point(0,0),*pbgBitmap);
289 if (pBgNormalBitmap != null)
291 delete pBgNormalBitmap;
292 pBgNormalBitmap = null;
295 pFinalBitmap = new (std::nothrow) Bitmap();
297 if ( pFinalBitmap != NULL)
299 pFinalBitmap->Construct(*pCanvas,Rectangle(0,0,canvasWidth,canvasHeight));
303 pbgFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_FOCUS_BG);
305 pCanvasFocused = new (std::nothrow) Canvas();
306 pCanvasFocused->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
307 pCanvasFocused->DrawBitmap(Point(0,0),*pbgFocusBitmap);
308 pCanvasFocused->DrawBitmap(Point(0,0),*pbgBitmap);
310 if (pbgFocusBitmap != null)
312 delete pbgFocusBitmap;
313 pbgFocusBitmap = null;
316 if (pbgBitmap != null)
322 pFinalBitmapFocused = new (std::nothrow) Bitmap();
324 if ( pFinalBitmapFocused != null)
326 pFinalBitmapFocused->Construct(*pCanvasFocused,Rectangle(0,0,canvasWidth,canvasHeight));
327 delete pCanvasFocused;
331 __pBtnHourDisplay = dynamic_cast<Button*>(GetControl("IDC_BUTTON_HOUR", true));
333 if (__pBtnHourDisplay == null)
335 if (pFinalBitmapFocused != null)
337 delete pFinalBitmapFocused;
338 pFinalBitmapFocused = null;
341 if (pFinalBitmap != null)
350 __pBtnHourDisplay->SetActionId(IDA_BUTTON_HOURS);
351 __pBtnHourDisplay->AddActionEventListener(*this);
352 __pBtnHourDisplay->SetNormalBackgroundBitmap(*pFinalBitmap);
353 __pBtnHourDisplay->SetPressedBackgroundBitmap(*pFinalBitmapFocused);
354 __pBtnHourDisplay->SetFocusable(true);
355 __pBtnHourDisplay->AddFocusEventListener(*this);
356 __pBtnHourDisplay->AddTouchEventListener(*this);
357 __pBtnHourDisplay->SetPropagatedKeyEventListener(this);
359 __pHourImf = new (std::nothrow) InputConnection();
360 __pHourImf->Construct(__pBtnHourDisplay, *this, *this);
361 __pHourImf->SetInputPanelStyle(INPUT_PANEL_STYLE_NUMBER_ONLY);
362 //__pHourImf->SetInputPanelActionEnabled(false);
364 __pBtnMinDisplay = dynamic_cast<Button*>(GetControl("IDC_BUTTON_MIN", true));
366 if (__pBtnMinDisplay == null)
368 if (pFinalBitmapFocused != null)
370 delete pFinalBitmapFocused;
371 pFinalBitmapFocused = null;
374 if (pFinalBitmap != null)
383 __pBtnMinDisplay->SetActionId(IDA_BUTTON_MINS);
384 __pBtnMinDisplay->AddActionEventListener(*this);
385 __pBtnMinDisplay->SetNormalBackgroundBitmap(*pFinalBitmap);
386 __pBtnMinDisplay->SetPressedBackgroundBitmap(*pFinalBitmapFocused);
387 __pBtnMinDisplay->SetFocusable(true);
388 __pBtnMinDisplay->AddFocusEventListener(*this);
389 __pBtnMinDisplay->AddTouchEventListener(*this);
390 __pBtnMinDisplay->SetPropagatedKeyEventListener(this);
393 __pMinImf = new (std::nothrow) InputConnection();
394 __pMinImf->Construct(__pBtnMinDisplay, *this, *this);
395 __pMinImf->SetInputPanelStyle(INPUT_PANEL_STYLE_NUMBER_ONLY);
396 //__pMinImf->SetInputPanelActionEnabled(false);
398 __pBtnToggle = dynamic_cast<Button*>(GetControl("IDC_BUTTON_TOGGLE", true));
400 if (__pBtnToggle == null)
402 if (pFinalBitmapFocused != null)
404 delete pFinalBitmapFocused;
405 pFinalBitmapFocused = null;
408 if (pFinalBitmap != null)
417 __pBtnToggle->SetActionId(IDA_BUTTON_TOGGLE);
418 __pBtnToggle->AddActionEventListener(*this);
419 __pBtnToggle->AddTouchEventListener(*this);
421 __pLabelAm = dynamic_cast<Label*>(GetControl("IDC_LABEL_AM", true));
422 __pLabelPm = dynamic_cast<Label*>(GetControl("IDC_LABEL_PM", true));
426 __pPanelDays = static_cast<Panel*>(GetControl("IDC_PANEL_DAYS", true));
428 if (__pPanelDays == null)
430 if (pFinalBitmapFocused != null)
432 delete pFinalBitmapFocused;
433 pFinalBitmapFocused = null;
436 if (pFinalBitmap != null)
441 AppLog("Coming here");
445 __pPanelDays->AddTouchEventListener(*this);
446 __pBtnMore = dynamic_cast<Button*>(GetControl("IDC_BUTTON_MORE", true));
448 if (__pBtnMore == null)
450 if (pFinalBitmapFocused != null)
452 delete pFinalBitmapFocused;
453 pFinalBitmapFocused = null;
456 if (pFinalBitmap != null)
465 __pBtnMore->SetActionId(IDA_BUTTON_MORE);
466 __pBtnMore->AddActionEventListener(*this);
467 __pPanelList = static_cast<Panel*>(GetControl("IDC_PANEL_LIST", true));
469 if (__pPanelList == null)
471 if (pFinalBitmapFocused != null)
473 delete pFinalBitmapFocused;
474 pFinalBitmapFocused = null;
477 if (pFinalBitmap != null)
486 __pPanelList->SetShowState(false);
487 __pPanelList->SetFocusable(false);
489 __pBtnDaySun = dynamic_cast<Button*>(GetControl("IDC_BUTTON_SUN", true));
491 if (__pBtnDaySun == null)
493 if (pFinalBitmapFocused != null)
495 delete pFinalBitmapFocused;
496 pFinalBitmapFocused = null;
499 if (pFinalBitmap != null)
508 pBgNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
509 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
511 AppLog("the width:%d height: %d",pBgNormalBitmap->GetWidth(),pBgNormalBitmap->GetHeight() );
512 __pBtnDaySun->SetActionId(IDA_BUTTON_SUN);
513 __pBtnDaySun->AddActionEventListener(*this);
514 __pBtnDaySun->SetNormalBackgroundBitmap(*pBgNormalBitmap);
515 __pBtnDaySun->SetPressedBackgroundBitmap(*pbgBitmap);
516 __pBtnDaySun->AddTouchEventListener(*this);
518 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SUN_BG);
519 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SUN_FOCUS_BG);
521 __pBtnDaySun->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
522 __pBtnDaySun->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
524 if (pDayNormalBitmap != null)
526 delete pDayNormalBitmap;
527 pDayNormalBitmap = null;
530 if (pDayFocusBitmap != null)
532 delete pDayFocusBitmap;
533 pDayFocusBitmap = null;
536 __pBtnDayMon = dynamic_cast<Button*>(GetControl("IDC_BUTTON_MON", true));
538 if (__pBtnDayMon == NULL)
540 if (pFinalBitmapFocused != null)
542 delete pFinalBitmapFocused;
543 pFinalBitmapFocused = null;
546 if (pFinalBitmap != null)
552 if (pBgNormalBitmap != null)
554 delete pBgNormalBitmap;
555 pBgNormalBitmap = null;
558 if (pbgBitmap != null)
567 __pBtnDayMon->SetActionId(IDA_BUTTON_MON);
568 __pBtnDayMon->AddActionEventListener(*this);
569 __pBtnDayMon->SetNormalBackgroundBitmap(*pBgNormalBitmap);
570 __pBtnDayMon->SetPressedBackgroundBitmap(*pbgBitmap);
571 __pBtnDayMon->AddTouchEventListener(*this);
573 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_MON_BG);
574 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_MON_FOCUS_BG);
576 __pBtnDayMon->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
577 __pBtnDayMon->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
579 if (pDayNormalBitmap != null)
581 delete pDayNormalBitmap;
582 pDayNormalBitmap = null;
585 if (pDayFocusBitmap != null)
587 delete pDayFocusBitmap;
588 pDayFocusBitmap = null;
591 __pBtnDayTue = dynamic_cast<Button*>(GetControl("IDC_BUTTON_TUE", true));
593 if (__pBtnDayTue == NULL)
595 if (pFinalBitmapFocused != null)
597 delete pFinalBitmapFocused;
598 pFinalBitmapFocused = null;
601 if (pFinalBitmap != null)
607 if (pBgNormalBitmap != null)
609 delete pBgNormalBitmap;
610 pBgNormalBitmap = null;
613 if (pbgBitmap != null)
622 __pBtnDayTue->SetActionId(IDA_BUTTON_TUE);
623 __pBtnDayTue->AddActionEventListener(*this);
624 __pBtnDayTue->SetNormalBackgroundBitmap(*pBgNormalBitmap);
625 __pBtnDayTue->SetPressedBackgroundBitmap(*pbgBitmap);
626 __pBtnDayTue->AddTouchEventListener(*this);
628 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_TUE_BG);
629 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_TUE_FOCUS_BG);
631 __pBtnDayTue->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
632 __pBtnDayTue->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
634 if (pDayNormalBitmap != null)
636 delete pDayNormalBitmap;
637 pDayNormalBitmap = null;
640 if (pDayFocusBitmap != null)
642 delete pDayFocusBitmap;
643 pDayFocusBitmap = null;
646 __pBtnDayWed = dynamic_cast<Button*>(GetControl("IDC_BUTTON_WED", true));
648 if (__pBtnDayWed == NULL)
650 if (pFinalBitmapFocused != null)
652 delete pFinalBitmapFocused;
653 pFinalBitmapFocused = null;
656 if (pFinalBitmap != null)
662 if (pBgNormalBitmap != null)
664 delete pBgNormalBitmap;
665 pBgNormalBitmap = null;
668 if (pbgBitmap != null)
677 __pBtnDayWed->SetActionId(IDA_BUTTON_WED);
678 __pBtnDayWed->AddActionEventListener(*this);
679 __pBtnDayWed->SetNormalBackgroundBitmap(*pBgNormalBitmap);
680 __pBtnDayWed->SetPressedBackgroundBitmap(*pbgBitmap);
681 __pBtnDayWed->AddTouchEventListener(*this);
683 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_WED_BG);
684 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_WED_FOCUS_BG);
686 __pBtnDayWed->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
687 __pBtnDayWed->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
689 if (pDayNormalBitmap != null)
691 delete pDayNormalBitmap;
692 pDayNormalBitmap = null;
695 if (pDayFocusBitmap != null)
697 delete pDayFocusBitmap;
698 pDayFocusBitmap = null;
701 __pBtnDayThu = dynamic_cast<Button*>(GetControl("IDC_BUTTON_THU", true));
703 if (__pBtnDayThu == NULL)
705 if (pFinalBitmapFocused != null)
707 delete pFinalBitmapFocused;
708 pFinalBitmapFocused = null;
711 if (pFinalBitmap != null)
717 if (pBgNormalBitmap != null)
719 delete pBgNormalBitmap;
720 pBgNormalBitmap = null;
723 if (pbgBitmap != null)
732 __pBtnDayThu->SetActionId(IDA_BUTTON_THU);
733 __pBtnDayThu->AddActionEventListener(*this);
734 __pBtnDayThu->SetNormalBackgroundBitmap(*pBgNormalBitmap);
735 __pBtnDayThu->SetPressedBackgroundBitmap(*pbgBitmap);
736 __pBtnDayThu->AddTouchEventListener(*this);
738 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_THU_BG);
739 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_THU_FOCUS_BG);
741 __pBtnDayThu->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
742 __pBtnDayThu->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
744 if (pDayNormalBitmap != null)
746 delete pDayNormalBitmap;
747 pDayNormalBitmap = null;
750 if (pDayFocusBitmap != null)
752 delete pDayFocusBitmap;
753 pDayFocusBitmap = null;
756 __pBtnDayFri = dynamic_cast<Button*>(GetControl("IDC_BUTTON_FRI", true));
758 if (__pBtnDayFri == NULL)
760 if (pFinalBitmapFocused != null)
762 delete pFinalBitmapFocused;
763 pFinalBitmapFocused = null;
766 if (pFinalBitmap != null)
772 if (pBgNormalBitmap != null)
774 delete pBgNormalBitmap;
775 pBgNormalBitmap = null;
778 if (pbgBitmap != null)
787 __pBtnDayFri->SetActionId(IDA_BUTTON_FRI);
788 __pBtnDayFri->AddActionEventListener(*this);
789 __pBtnDayFri->SetNormalBackgroundBitmap(*pBgNormalBitmap);
790 __pBtnDayFri->SetPressedBackgroundBitmap(*pbgBitmap);
791 __pBtnDayFri->AddTouchEventListener(*this);
793 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FRI_BG);
794 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FRI_FOCUS_BG);
796 __pBtnDayFri->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
797 __pBtnDayFri->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
799 if (pDayNormalBitmap != null)
801 delete pDayNormalBitmap;
802 pDayNormalBitmap = null;
805 if (pDayFocusBitmap != null)
807 delete pDayFocusBitmap;
808 pDayFocusBitmap = null;
811 __pBtnDaySat = dynamic_cast<Button*>(GetControl("IDC_BUTTON_SAT", true));
813 if (__pBtnDaySat == NULL)
815 if (pFinalBitmapFocused != null)
817 delete pFinalBitmapFocused;
818 pFinalBitmapFocused = null;
821 if (pFinalBitmap != null)
827 if (pBgNormalBitmap != null)
829 delete pBgNormalBitmap;
830 pBgNormalBitmap = null;
833 if (pbgBitmap != null)
842 __pBtnDaySat->SetActionId(IDA_BUTTON_SAT);
843 __pBtnDaySat->AddActionEventListener(*this);
844 __pBtnDaySat->AddFocusEventListener(*this);
845 __pBtnDaySat->SetNormalBackgroundBitmap(*pBgNormalBitmap);
846 __pBtnDaySat->SetPressedBackgroundBitmap(*pbgBitmap);
847 __pBtnDaySat->AddTouchEventListener(*this);
849 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SAT_BG);
850 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SAT_FOCUS_BG);
852 __pBtnDaySat->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
853 __pBtnDaySat->SetPressedBitmap(Point(0,0), *pDayFocusBitmap);
855 if (pDayNormalBitmap != null)
857 delete pDayNormalBitmap;
858 pDayNormalBitmap = null;
861 if (pDayFocusBitmap != null)
863 delete pDayFocusBitmap;
864 pDayFocusBitmap = null;
867 if (pBgNormalBitmap != null)
869 delete pBgNormalBitmap;
870 pBgNormalBitmap = null;
873 if (pbgBitmap != null)
879 __pGroupedListView = static_cast<GroupedListView*>(GetControl("IDC_GROUPEDLISTVIEW1", true));
881 if (__pGroupedListView != null)
883 __pGroupedListView->AddGroupedListViewItemEventListener(*this);
884 __pGroupedListView->AddTouchEventListener(*this);
885 __pGroupedListView->SetItemProvider(*this);
886 __pGroupedListView->SetFocusable(true);
889 __pListView = dynamic_cast<ListView*>(GetControl("IDC_LISTVIEW1", true));
891 if (__pListView != null)
893 __pListView->AddListViewItemEventListener(*this);
894 __pListView->AddTouchEventListener(*this);
895 __pListView->SetItemProvider(*this);
898 __selectedIndexValues.Construct();
900 __player = new (std::nothrow) Player();
901 if ( __player == null)
903 AppLogException("pPlyaer = new (std::nothrow) Player() has failed");
906 __player->Construct(*this);
908 GetHeader()->SetTitleText(__pEditField->GetText());
909 GetHeader()->SetShowState(false);
910 GetHeader()->AddActionEventListener(*this);
912 if (pFinalBitmapFocused != null)
914 delete pFinalBitmapFocused;
915 pFinalBitmapFocused = null;
918 if (pFinalBitmap != null)
924 __pBtnMinDisplay->SetNextFocus(__pBtnToggle);
925 __pBtnToggle->SetPreviousFocus(__pBtnMinDisplay);
931 AlarmEditorForm::OnTerminating(void)
933 result r = E_SUCCESS;
950 AlarmEditorForm::OnActionPerformed(const Control& source, int actionId)
952 AppLog("Action id: %d", actionId);
953 SceneManager* pSceneManager = SceneManager::GetInstance();
954 AlarmPresentationModel* pAlarmPresentationModel = AlarmPresentationModel::GetInstance();
955 DataServiceProvider* pDataServiceProvider = DataServiceProvider::GetInstance();
956 DateTime currentTime;
960 ArrayList* pArgList = null;
961 String alarmName = L"";
962 Bitmap* pDayNormalBitmap = null;
963 Bitmap* pDayFocusBitmap = null;
964 result r = E_FAILURE;
966 /* if (__pEditField != null)
968 __pEditField->HideKeypad();
969 __pEditField->Invalidate(false);
974 case IDA_CREATE_ALARM_CANCEL:
976 pSceneManager->GoBackward(BackwardSceneTransition());
980 case IDA_HEADER_ITEM_SAVE:
981 case IDA_CREATE_ALARM_SAVE:
984 String hourVal, minVal;
989 minVal = __pBtnMinDisplay->GetText();
990 Integer::Parse(minVal, minute);
992 pArgList = new (std::nothrow) ArrayList();
993 pDataServiceProvider->GetCurrentDateTime(currentTime);
995 if (__pEditField != null)
997 alarmName = __pEditField->GetText();
1000 hourVal = __pBtnHourDisplay->GetText();
1001 Integer::Parse(hourVal, hour);
1003 if (is24HourFormat == false)
1005 if (__defaultToggleValue == CommonUtil::GetString(L"IDS_COM_BODY_AM"))
1014 else if (__defaultToggleValue == CommonUtil::GetString(L"IDS_COM_POP_PM"))
1025 alarmTime.SetValue(1900, 1, 1, hour, minute, 0);
1027 if (__pDuration != null && __pRepeat != null)
1029 duration = __pDuration->ToInt();
1030 repeat = __pRepeat->ToInt();
1033 __pAlarm->SetAlarmOnState(1);
1034 __pAlarm->SetAlarmName(alarmName);
1035 __pAlarm->SetAlarmTime(alarmTime);
1038 if (__pSlider != null)
1040 alarmVol = __pSlider->GetValue();
1041 __pAlarm->SetRingVolume(alarmVol);
1044 if (__typeName == 0)
1046 __pAlarm->SetRingType(ALARM_TYPE_MELODY);
1048 else if (__typeName == 1)
1050 __pAlarm->SetRingType(ALARM_TYPE_VIBRATION);
1052 else if (__typeName == 2)
1054 __pAlarm->SetRingType(ALARM_TYPE_MELODY_AND_VIBRATION);
1058 __pAlarm->SetSnoozeDuration(duration);
1059 __pAlarm->SetSnoozeRepeat(repeat);
1060 __pAlarm->SetLastRingingTime(time);
1061 __pAlarm->SetSnoozeRepeatCount(__pAlarm->GetSnoozeRepeat());
1063 if (__pAlarm->GetAlarmId() != 0)
1065 r = pAlarmPresentationModel->UpdateAlarm(*__pOldAlarm, *__pAlarm);
1069 r = pAlarmPresentationModel->SaveAlarm(*__pAlarm);
1072 AppLog("result: %s", GetErrorMessage(r));
1073 if (r == E_STORAGE_FULL || r == E_INIT_FAILED || r == E_OUT_OF_MEMORY)
1076 String msg = CommonUtil::GetString("IDS_MEMORY_FULL");
1077 r = msgBox.Construct(L"", msg, MSGBOX_STYLE_NONE, 3000);
1078 AppLog("the result is %s", GetErrorMessage(r));
1079 msgBox.ShowAndWait(__modalMsgBoxResult);
1082 if (pArgList != null)
1084 pArgList->Construct();
1085 pArgList->Add(*new (std::nothrow) AlarmData(*__pAlarm));
1087 if (pSceneManager != null)
1089 pSceneManager->GoBackward(BackwardSceneTransition(), pArgList);
1093 if (pArgList != null)
1098 /*if (pOldAlarm != null)
1106 case IDA_HEADER_ITEM_CANCEL:
1108 pSceneManager->GoBackward(BackwardSceneTransition());
1112 case IDA_BUTTON_MORE:
1115 if (__pBtnHourDisplay->HasFocus())
1120 else if (__pBtnMinDisplay->HasFocus())
1126 __pPanelList->SetShowState(true);
1127 __pScrollPanel->SetScrollBarVisible(true);
1128 __pBtnMore->SetShowState(false);
1130 RearrangeControls();
1131 GetFooter()->SetFocusable(false);
1136 case IDA_BUTTON_TOGGLE:
1138 Bitmap* pToggleBtnPMBG = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_TOGGLE_PM_BG);
1139 Bitmap* pToggleBtnAMBG = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_TOGGLE_AM_BG);
1141 if (__defaultToggleValue == CommonUtil::GetString(L"IDS_COM_BODY_AM"))
1143 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnPMBG);
1144 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnPMBG);
1145 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_POP_PM");
1147 else if (__defaultToggleValue == CommonUtil::GetString(L"IDS_COM_POP_PM"))
1149 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnAMBG);
1150 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnAMBG);
1151 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_BODY_AM");
1154 if (pToggleBtnPMBG != null)
1156 delete pToggleBtnPMBG;
1157 pToggleBtnPMBG = null;
1160 if (pToggleBtnAMBG != null)
1162 delete pToggleBtnAMBG;
1163 pToggleBtnAMBG = null;
1166 __pBtnToggle->Invalidate(true);
1171 case IDA_BUTTON_SUN:
1174 if (!(__pAlarm->GetRepeatEverySundayFlag()))
1176 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1177 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SUN_FOCUS_BG);
1179 __pAlarm->SetRepeatedEverySunday(true);
1183 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1184 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SUN_BG);
1186 __pAlarm->SetRepeatedEverySunday(false);
1189 __pBtnDaySun->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1190 __pBtnDaySun->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1192 if (pDayNormalBitmap != null)
1194 delete pDayNormalBitmap;
1195 pDayNormalBitmap = null;
1198 if (pDayFocusBitmap != null)
1200 delete pDayFocusBitmap;
1201 pDayFocusBitmap = null;
1207 case IDA_BUTTON_MON:
1210 if (!(__pAlarm->GetRepeatEveryMondayFlag()))
1212 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1213 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_MON_FOCUS_BG);
1215 __pAlarm->SetRepeatedEveryMonday(true);
1219 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1220 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_MON_BG);
1222 __pAlarm->SetRepeatedEveryMonday(false);
1225 __pBtnDayMon->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1226 __pBtnDayMon->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1228 if (pDayNormalBitmap != null)
1230 delete pDayNormalBitmap;
1231 pDayNormalBitmap = null;
1234 if (pDayFocusBitmap != null)
1236 delete pDayFocusBitmap;
1237 pDayFocusBitmap = null;
1242 case IDA_BUTTON_TUE:
1245 if (!(__pAlarm->GetRepeatEveryTuesdayFlag()))
1247 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1248 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_TUE_FOCUS_BG);
1250 __pAlarm->SetRepeatedEveryTuesday(true);
1254 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1255 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_TUE_BG);
1257 __pAlarm->SetRepeatedEveryTuesday(false);
1260 __pBtnDayTue->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1261 __pBtnDayTue->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1263 if (pDayNormalBitmap != null)
1265 delete pDayNormalBitmap;
1266 pDayNormalBitmap = null;
1269 if (pDayFocusBitmap != null)
1271 delete pDayFocusBitmap;
1272 pDayFocusBitmap = null;
1278 case IDA_BUTTON_WED:
1281 if (!(__pAlarm->GetRepeatEveryWednesdayFlag()))
1283 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1284 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_WED_FOCUS_BG);
1286 __pAlarm->SetRepeatedEveryWednesday(true);
1290 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1291 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_WED_BG);
1293 __pAlarm->SetRepeatedEveryWednesday(false);
1296 __pBtnDayWed->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1297 __pBtnDayWed->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1299 if (pDayNormalBitmap != null)
1301 delete pDayNormalBitmap;
1302 pDayNormalBitmap = null;
1305 if (pDayFocusBitmap != null)
1307 delete pDayFocusBitmap;
1308 pDayFocusBitmap = null;
1314 case IDA_BUTTON_THU:
1317 if (!(__pAlarm->GetRepeatEveryThursdayFlag()))
1319 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1320 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_THU_FOCUS_BG);
1322 __pAlarm->SetRepeatedEveryThursday(true);
1326 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1327 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_THU_BG);
1329 __pAlarm->SetRepeatedEveryThursday(false);
1332 __pBtnDayThu->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1333 __pBtnDayThu->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1335 if (pDayNormalBitmap != null)
1337 delete pDayNormalBitmap;
1338 pDayNormalBitmap = null;
1341 if (pDayFocusBitmap != null)
1343 delete pDayFocusBitmap;
1344 pDayFocusBitmap = null;
1350 case IDA_BUTTON_FRI:
1353 if (!(__pAlarm->GetRepeatEveryFridayFlag()))
1355 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1356 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FRI_FOCUS_BG);
1358 __pAlarm->SetRepeatedEveryFriday(true);
1362 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1363 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FRI_BG);
1365 __pAlarm->SetRepeatedEveryFriday(false);
1368 __pBtnDayFri->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1369 __pBtnDayFri->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1371 if (pDayNormalBitmap != null)
1373 delete pDayNormalBitmap;
1374 pDayNormalBitmap = null;
1377 if (pDayFocusBitmap != null)
1379 delete pDayFocusBitmap;
1380 pDayFocusBitmap = null;
1386 case IDA_BUTTON_SAT:
1389 if (!(__pAlarm->GetRepeatEverySaturdayFlag()))
1391 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1392 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SAT_FOCUS_BG);
1394 __pAlarm->SetRepeatedEverySaturday(true);
1398 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1399 pDayFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SAT_BG);
1401 __pAlarm->SetRepeatedEverySaturday(false);
1404 __pBtnDaySat->SetNormalBackgroundBitmap(*pDayNormalBitmap);
1405 __pBtnDaySat->SetNormalBitmap(Point(0,0), *pDayFocusBitmap);
1407 if (pDayNormalBitmap != null)
1409 delete pDayNormalBitmap;
1410 pDayNormalBitmap = null;
1413 if (pDayFocusBitmap != null)
1415 delete pDayFocusBitmap;
1416 pDayFocusBitmap = null;
1422 case IDA_BUTTON_HOURS:
1425 Canvas* pCanvas = null;
1426 Bitmap* pbgBitmap = null;
1427 Bitmap* pFinalBitmap = null;
1428 Bitmap* pBgNormalBitmap = null;
1429 Bitmap* pbgFocusBitmap = null;
1430 Bitmap* pFinalBitmapFocused = null;
1431 Canvas* pCanvasFocused = null;
1432 int canvasWidth = 276;
1433 int canvasHeight = 236;
1435 if (__pBtnHourDisplay == null || __pBtnMinDisplay == null)
1440 pBgNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_NORMAL_BG);
1441 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
1443 pCanvas = new (std::nothrow) Canvas();
1444 pCanvas->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
1445 pCanvas->DrawBitmap(Point(0,0),*pBgNormalBitmap);
1446 pCanvas->DrawBitmap(Point(0,0),*pbgBitmap);
1448 if (pBgNormalBitmap != null)
1450 delete pBgNormalBitmap;
1451 pBgNormalBitmap = null;
1454 if (pbgBitmap != null)
1460 pFinalBitmap = new (std::nothrow) Bitmap();
1462 if ( pFinalBitmap != NULL)
1464 pFinalBitmap->Construct(*pCanvas,Rectangle(0,0,canvasWidth,canvasHeight));
1467 pbgFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_FOCUS_BG);
1468 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
1470 pCanvasFocused = new (std::nothrow) Canvas();
1471 pCanvasFocused->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
1472 pCanvasFocused->DrawBitmap(Point(0,0),*pbgFocusBitmap);
1473 pCanvasFocused->DrawBitmap(Point(0,0),*pbgBitmap);
1475 if (pbgFocusBitmap != null)
1477 delete pbgFocusBitmap;
1478 pbgFocusBitmap = null;
1481 if (pbgBitmap != null)
1487 pFinalBitmapFocused = new (std::nothrow) Bitmap();
1489 if ( pFinalBitmapFocused != null)
1491 pFinalBitmapFocused->Construct(*pCanvasFocused,Rectangle(0,0,canvasWidth,canvasHeight));
1492 delete pCanvasFocused;
1495 __pBtnMinDisplay->SetNormalBackgroundBitmap(*pFinalBitmap);
1496 __pBtnMinDisplay->SetPressedBackgroundBitmap(*pFinalBitmap);
1497 __pBtnHourDisplay->SetNormalBackgroundBitmap(*pFinalBitmapFocused);
1498 __pBtnHourDisplay->SetPressedBackgroundBitmap(*pFinalBitmapFocused);
1499 __pBtnHourDisplay->Invalidate(true);
1500 __pBtnMinDisplay->Invalidate(true);
1502 if (&source == __pBtnHourDisplay)
1507 if (pFinalBitmap != null)
1509 delete pFinalBitmap;
1510 pFinalBitmap = null;
1513 if (pFinalBitmapFocused != null)
1515 delete pFinalBitmapFocused;
1516 pFinalBitmapFocused = null;
1519 if(isHourClicked == true)
1525 if (__pBtnHourDisplay->GetText().GetLength() == 1)
1527 __hourText.Append("0");
1528 __hourText.Append(__pBtnHourDisplay->GetText());
1531 isHourClicked = true;
1537 case IDA_BUTTON_MINS:
1539 Canvas* pCanvas = null;
1540 Bitmap* pbgBitmap = null;
1541 Bitmap* pFinalBitmap = null;
1542 Bitmap* pBgNormalBitmap = null;
1543 Bitmap* pbgFocusBitmap = null;
1544 Bitmap* pFinalBitmapFocused = null;
1545 Canvas* pCanvasFocused = null;
1546 int canvasWidth = 276;
1547 int canvasHeight = 236;
1549 if (__pBtnHourDisplay == null || __pBtnMinDisplay == null)
1554 pBgNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_NORMAL_BG);
1555 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
1557 pCanvas = new (std::nothrow) Canvas();
1558 pCanvas->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
1559 pCanvas->DrawBitmap(Point(0,0),*pBgNormalBitmap);
1560 pCanvas->DrawBitmap(Point(0,0),*pbgBitmap);
1562 if (pBgNormalBitmap != null)
1564 delete pBgNormalBitmap;
1565 pBgNormalBitmap = null;
1568 if (pbgBitmap != null)
1574 pFinalBitmap = new (std::nothrow) Bitmap();
1576 if ( pFinalBitmap != NULL)
1578 pFinalBitmap->Construct(*pCanvas,Rectangle(0,0,canvasWidth,canvasHeight));
1582 pbgFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_FOCUS_BG);
1583 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
1585 pCanvasFocused = new (std::nothrow) Canvas();
1586 pCanvasFocused->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
1587 pCanvasFocused->DrawBitmap(Point(0,0),*pbgFocusBitmap);
1588 pCanvasFocused->DrawBitmap(Point(0,0),*pbgBitmap);
1590 if (pbgFocusBitmap != null)
1592 delete pbgFocusBitmap;
1593 pbgFocusBitmap = null;
1596 if (pbgBitmap != null)
1602 pFinalBitmapFocused = new (std::nothrow) Bitmap();
1604 if ( pFinalBitmapFocused != null)
1606 pFinalBitmapFocused->Construct(*pCanvasFocused,Rectangle(0,0,canvasWidth,canvasHeight));
1607 delete pCanvasFocused;
1610 if (is24HourFormat == false && __pBtnHourDisplay->GetText().CompareTo(L"0") == 0 && isHourClicked == true)
1612 __pBtnHourDisplay->SetText(L"12");
1615 __pBtnHourDisplay->SetNormalBackgroundBitmap(*pFinalBitmap);
1616 __pBtnHourDisplay->SetPressedBackgroundBitmap(*pFinalBitmap);
1617 __pBtnMinDisplay->SetNormalBackgroundBitmap(*pFinalBitmapFocused);
1618 __pBtnMinDisplay->SetPressedBackgroundBitmap(*pFinalBitmapFocused);
1620 __pBtnHourDisplay->Invalidate(true);
1621 __pBtnMinDisplay->Invalidate(true);
1623 if (__pBtnMinDisplay != null && &source == __pBtnMinDisplay)
1628 if (pFinalBitmap != null)
1630 delete pFinalBitmap;
1631 pFinalBitmap = null;
1633 if (pFinalBitmapFocused != null)
1635 delete pFinalBitmapFocused;
1636 pFinalBitmapFocused = null;
1640 if(isHourClicked == false)
1646 if (__pBtnMinDisplay->GetText().GetLength() == 1)
1648 __hourText.Append("0");
1649 __hourText.Append(__pBtnMinDisplay->GetText());
1651 isHourClicked = false;
1661 AlarmEditorForm::OnAdjustmentValueChanged(const Control& source, int adjustment)
1663 AppLogDebug("ENTER %d",adjustment);
1664 result r = E_SUCCESS;
1665 __sliderValues.RemoveAll();
1666 __sliderValues.Push(adjustment);
1668 SettingInfo::RemoveSettingEventListener(*this);
1669 r = SettingInfo::SetValue(L"http://tizen.org/setting/sound.media.volume", adjustment);
1670 SettingInfo::AddSettingEventListener(*this);
1674 __pSlider->SetFocus();
1675 __pSlider->Invalidate(false);
1678 if(__sliderValues.GetCount() == 1)
1680 SendUserEvent(10000, null);
1683 __sliderValue = adjustment;
1684 AppLogDebug("EXIT");
1688 AlarmEditorForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
1690 AppLog("AlarmEditorForm::OnSceneActivatedN");
1691 result r = E_SUCCESS;
1697 int timeFormat = 12;
1698 ArrayList alarmList;
1701 DateTime currentTime;
1702 String durationValue;
1703 AlarmPresentationModel* pAlarmPresentationModel = AlarmPresentationModel::GetInstance();
1704 DataServiceProvider* pDataServiceProvider = DataServiceProvider::GetInstance();
1705 Bitmap* pToggleBtnPMBG = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_TOGGLE_PM_BG);
1706 Bitmap* pToggleBtnAMBG = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_TOGGLE_AM_BG);
1707 Bitmap* pDayNormalBitmap = null;
1708 Bitmap* pNormalBitmap = null;
1709 Bitmap* pFocusBitmap = null;
1711 if (previousSceneId != IDSCN_EDIT_SNOOZE && previousSceneId != IDSCN_ALARM_RINGING && previousSceneId != IDSCN_ALARM_RINGING_LOCK && previousSceneId != IDSCN_TIMER_RINGING && previousSceneId != IDSCN_TIMER_RINGING_LOCK)
1715 __pAlarm = new (std::nothrow) AlarmData();
1716 //alarmTone = UiApp::GetInstance()->GetAppRootPath() + L"/data/04-Kyun.mp3";
1717 __pAlarm->SetRingTone(__audioFilePath);
1720 if (previousSceneId == IDSCN_ALARM_LIST && pArgs != null)
1722 AppLog("Coming from AlarmList");
1724 int alarmTimeHour, alarmTimeMin;
1726 if (__pAlarm != null)
1732 __pAlarm = dynamic_cast<AlarmData*>(pArgs->GetAt(0));
1734 if (__pAlarm == null)
1739 __pOldAlarm = new AlarmData(*__pAlarm);
1741 volume = __pAlarm->GetRingVolume();
1742 AppLog("volume: %d",volume);
1744 alarmTimeHour = __pAlarm->GetAlarmTime().GetHour();
1745 alarmTimeMin = __pAlarm->GetAlarmTime().GetMinute();
1747 if(is24HourFormat == false)
1749 if (alarmTimeHour < timeFormat)
1751 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_BODY_AM");
1752 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnAMBG);
1753 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnAMBG);
1757 alarmTimeHour = alarmTimeHour - timeFormat;
1758 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_POP_PM");
1759 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnPMBG);
1760 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnPMBG);
1765 __pBtnToggle->SetShowState(false);
1766 __pLabelAm->SetShowState(false);
1767 __pLabelPm->SetShowState(false);
1770 if(alarmTimeHour == 0 && is24HourFormat == false)
1775 if ( alarmTimeHour < 10)
1780 if (alarmTimeMin < 10)
1785 hour.Append(alarmTimeHour);
1786 min.Append(alarmTimeMin);
1788 __pBtnHourDisplay->SetText(hour);
1789 __pBtnMinDisplay->SetText(min);
1790 __pBtnHourDisplay->Invalidate(false);
1791 __pBtnMinDisplay->Invalidate(false);
1793 __pEditField->SetText(__pAlarm->GetAlarmName());
1794 __pSlider->SetValue(volume);
1796 __pLabelTitle->SetText(__pAlarm->GetAlarmName());
1797 __pLabelTitle->Invalidate(false);
1799 pNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_BG);
1800 pFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FOCUS_BG);
1802 if (__pAlarm->GetRepeatEverySundayFlag())
1804 __pBtnDaySun->SetNormalBackgroundBitmap(*pFocusBitmap);
1805 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SUN_FOCUS_BG);
1809 __pBtnDaySun->SetNormalBackgroundBitmap(*pNormalBitmap);
1810 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SUN_BG);
1813 __pBtnDaySun->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1815 if (pDayNormalBitmap != null)
1817 delete pDayNormalBitmap;
1818 pDayNormalBitmap = null;
1821 if (__pAlarm->GetRepeatEveryMondayFlag())
1823 __pBtnDayMon->SetNormalBackgroundBitmap(*pFocusBitmap);
1824 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_MON_FOCUS_BG);
1828 __pBtnDayMon->SetNormalBackgroundBitmap(*pNormalBitmap);
1829 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_MON_BG);
1832 __pBtnDayMon->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1834 if (pDayNormalBitmap != null)
1836 delete pDayNormalBitmap;
1837 pDayNormalBitmap = null;
1840 if (__pAlarm->GetRepeatEveryTuesdayFlag())
1842 __pBtnDayTue->SetNormalBackgroundBitmap(*pFocusBitmap);
1843 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_TUE_FOCUS_BG);
1847 __pBtnDayTue->SetNormalBackgroundBitmap(*pNormalBitmap);
1848 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_TUE_BG);
1851 __pBtnDayTue->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1853 if (pDayNormalBitmap != null)
1855 delete pDayNormalBitmap;
1856 pDayNormalBitmap = null;
1859 if (__pAlarm->GetRepeatEveryWednesdayFlag())
1861 __pBtnDayWed->SetNormalBackgroundBitmap(*pFocusBitmap);
1862 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_WED_FOCUS_BG);
1866 __pBtnDayWed->SetNormalBackgroundBitmap(*pNormalBitmap);
1867 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_WED_BG);
1870 __pBtnDayWed->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1872 if (pDayNormalBitmap != null)
1874 delete pDayNormalBitmap;
1875 pDayNormalBitmap = null;
1878 if (__pAlarm->GetRepeatEveryThursdayFlag())
1880 __pBtnDayThu->SetNormalBackgroundBitmap(*pFocusBitmap);
1881 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_THU_FOCUS_BG);
1885 __pBtnDayThu->SetNormalBackgroundBitmap(*pNormalBitmap);
1886 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_THU_BG);
1889 __pBtnDayThu->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1891 if (pDayNormalBitmap != null)
1893 delete pDayNormalBitmap;
1894 pDayNormalBitmap = null;
1897 if (__pAlarm->GetRepeatEveryFridayFlag())
1899 __pBtnDayFri->SetNormalBackgroundBitmap(*pFocusBitmap);
1900 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FRI_FOCUS_BG);
1904 __pBtnDayFri->SetNormalBackgroundBitmap(*pNormalBitmap);
1905 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_FRI_BG);
1908 __pBtnDayFri->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1910 if (pDayNormalBitmap != null)
1912 delete pDayNormalBitmap;
1913 pDayNormalBitmap = null;
1916 if (__pAlarm->GetRepeatEverySaturdayFlag())
1918 __pBtnDaySat->SetNormalBackgroundBitmap(*pFocusBitmap);
1919 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SAT_FOCUS_BG);
1923 __pBtnDaySat->SetNormalBackgroundBitmap(*pNormalBitmap);
1924 pDayNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_DAYS_SAT_BG);
1927 __pBtnDaySat->SetNormalBitmap(Point(0,0), *pDayNormalBitmap);
1929 if (pDayNormalBitmap != null)
1931 delete pDayNormalBitmap;
1932 pDayNormalBitmap = null;
1935 if (pFocusBitmap != null)
1937 delete pFocusBitmap;
1938 pFocusBitmap = null;
1941 if (pNormalBitmap != null)
1943 delete pNormalBitmap;
1944 pNormalBitmap = null;
1947 if (__pAlarm->GetRingType() == 0)
1949 __selectedIndex = 1;
1952 if (__pAlarm->GetRingType() == 1)
1954 __selectedIndex = 2;
1957 if (__pAlarm->GetRingType() == 2)
1959 __selectedIndex = 3;
1962 __typeName = __pAlarm->GetRingType();
1964 if (__pDuration != null)
1970 if (__pRepeat != null)
1977 __pDuration = new (std::nothrow) Integer(__pAlarm->GetSnoozeDuration());
1978 __pRepeat = new (std::nothrow) Integer(__pAlarm->GetSnoozeRepeat());
1980 __snoozeDurationValue.Clear();
1982 if (__pDuration->ToInt() == 3)
1984 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_3MINS"));
1986 else if (__pDuration->ToInt() == 5)
1988 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_5MINS"));
1992 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_10MINS"));
1995 __snoozeDurationValue.Append(L", ");
1996 durationValue.Format(25, CommonUtil::GetString(L"IDS_CLOCK_BODY_PD_TIMES").GetPointer(), __pRepeat->ToInt());
1997 __snoozeDurationValue.Append(durationValue);
2000 else if (previousSceneId == IDSCN_ALARM_LIST && pArgs == null)
2002 String hourValue= L"";
2005 int numberSelectorHour, numberSelectorMin;
2007 pDataServiceProvider->GetCurrentDateTime(currentTime);
2009 if (is24HourFormat == false)
2011 if (currentTime.GetHour() > timeFormat)
2013 hour = currentTime.GetHour() - timeFormat;
2018 hour = currentTime.GetHour();
2023 hour = currentTime.GetHour();
2024 __pBtnToggle->SetShowState(false);
2025 __pLabelAm->SetShowState(false);
2026 __pLabelPm->SetShowState(false);
2029 if(hour == 0 && is24HourFormat == false)
2036 hourValue.Append(0);
2039 if (currentTime.GetMinute() < 10)
2044 hourValue.Append(hour);
2045 minValue.Append(currentTime.GetMinute());
2047 if (__pDuration != null)
2053 if (__pRepeat != null)
2059 __pDuration = new (std::nothrow) Integer(5);
2060 __pRepeat = new (std::nothrow) Integer(3);
2062 if (is24HourFormat == false)
2064 if (currentTime.GetHour() < timeFormat)
2066 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_BODY_AM");
2067 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnAMBG);
2068 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnAMBG);
2070 else if (currentTime.GetHour() >= timeFormat)
2072 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_POP_PM");
2073 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnPMBG);
2074 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnPMBG);
2078 __snoozeDurationValue.Clear();
2080 if (__pDuration->ToInt() == 3)
2082 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_3MINS"));
2084 else if (__pDuration->ToInt() == 5)
2086 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_5MINS"));
2090 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_10MINS"));
2093 __snoozeDurationValue.Append(L", ");
2094 durationValue.Format(25, CommonUtil::GetString(L"IDS_CLOCK_BODY_PD_TIMES").GetPointer(), __pRepeat->ToInt());
2095 __snoozeDurationValue.Append(durationValue);
2098 Integer::Parse(hourValue, numberSelectorHour);
2099 Integer::Parse(minValue, numberSelectorMin);
2100 __pBtnHourDisplay->SetText(hourValue);
2101 __pBtnMinDisplay->SetText(minValue);
2102 __pBtnHourDisplay->Invalidate(false);
2103 __pBtnMinDisplay->Invalidate(false);
2104 __pAlarm->SetSnoozeOn(__isSnoozeOn);
2109 AppLog("the control frm myfiles comes here");
2113 if (__pDuration != null)
2119 if (__pRepeat != null)
2125 __pDuration = dynamic_cast<Integer*>(pArgs->GetAt(0));
2127 if (__pDuration == null)
2132 __pRepeat = dynamic_cast<Integer*>(pArgs->GetAt(1));
2134 if (__pRepeat == null)
2138 __snoozeDurationValue.Clear();
2140 if (__pDuration->ToInt() == 3)
2142 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_3MINS"));
2144 else if (__pDuration->ToInt() == 5)
2146 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_5MINS"));
2150 __snoozeDurationValue.Append(CommonUtil::GetString(L"IDS_ALM_BODY_10MINS"));
2153 __snoozeDurationValue.Append(L", ");
2154 durationValue.Format(25, CommonUtil::GetString(L"IDS_CLOCK_BODY_PD_TIMES").GetPointer(), __pRepeat->ToInt());
2155 __snoozeDurationValue.Append(durationValue);
2156 __pAlarm->SetSnoozeDuration(__pDuration->ToInt());
2157 __pAlarm->SetSnoozeRepeat(__pRepeat->ToInt());
2160 __pGroupedListView->UpdateList();
2163 r = pAlarmPresentationModel->GetAlarmCount(alarmCount); // to get count of existing folders
2165 r = pAlarmPresentationModel->GetAlarm(0, alarmCount, alarmList); // to get list of existing folders
2167 if (previousSceneId != IDSCN_TIMER_RINGING && previousSceneId != IDSCN_ALARM_RINGING)
2171 while (true) // to provide user with unique alarm title when he creates a new (std::nothrow) alarm
2172 { // to generate alarm with default name of type alarmN
2177 title.Append(CommonUtil::GetString(L"IDS_COM_BODY_ALARM"));
2178 title.Append(counter);
2180 for (count = 0; count < alarmCount; count++)
2182 AlarmData* pAlarm = dynamic_cast<AlarmData*>(alarmList.GetAt(count));
2184 alarmTitle = pAlarm->GetAlarmName();
2186 if (title.Equals(alarmTitle,false))
2188 flag = true; // if flag is true alarm title already exists
2189 break; // break from for loop
2192 } // end of for loop
2196 __pEditField->SetText(title); // if flag is false alarm title is unique
2197 __pLabelTitle->SetText(title);
2198 break; // break from while loop
2201 } // end of while loop
2205 if (__pListView != null)
2207 if (previousSceneId == IDSCN_EDIT_SNOOZE)
2209 __pListView->RefreshList(0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2210 __pListView->RefreshList(1, LIST_REFRESH_TYPE_ITEM_MODIFY);
2214 __pListView->UpdateList();
2219 if (__pGroupedListView != null)
2221 __pGroupedListView->UpdateList();
2222 __pGroupedListView->SetItemEnabled(0,-1,false);
2225 RearrangeControls();
2227 if (__pListView != null)
2229 __pListView->SetItemChecked(0,__pAlarm->GetSnoozeOn());
2232 if (pToggleBtnPMBG != null)
2234 delete pToggleBtnPMBG;
2235 pToggleBtnPMBG = null;
2238 if (pToggleBtnAMBG != null)
2240 delete pToggleBtnAMBG;
2241 pToggleBtnAMBG = null;
2249 AlarmEditorForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
2252 if (__pEditField != null)
2254 //if (nextSceneId != IDSCN_TIMER_RINGING && nextSceneId != IDSCN_ALARM_RINGING)
2256 __pEditField->HideKeypad();
2260 //if (nextSceneId != IDSCN_TIMER_RINGING && nextSceneId != IDSCN_ALARM_RINGING)
2262 if (__pBtnHourDisplay->HasFocus())
2266 else if (__pBtnMinDisplay->HasFocus())
2278 GetHeader()->SetShowState(false);
2284 AlarmEditorForm::OnFormBackRequested(Controls::Form& source)
2286 if(!__isAppControlCompleted)
2288 SendUserEvent(REQUEST_ID_TERMINATE, null);
2293 AlarmEditorForm::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)
2295 AppLog("AlarmEditorForm::OnListViewItemStateChanged");
2296 String repeatFlag = L"";
2297 ArrayList *pArgList = null;
2298 SceneManager* pSceneManager = SceneManager::GetInstance();
2300 if (__pEditField != null)
2302 //__pEditField->HideKeypad();
2307 if (status == LIST_ITEM_STATUS_UNCHECKED && __snoozeStatus == true)
2309 __snoozeStatus = false;
2310 __pAlarm->SetSnoozeOn(false);
2311 __pListView->RefreshList(1,LIST_REFRESH_TYPE_ITEM_REMOVE);
2312 __pListView->RefreshList(1,LIST_REFRESH_TYPE_ITEM_MODIFY);
2314 else if(status == LIST_ITEM_STATUS_CHECKED && __snoozeStatus == false)
2316 __snoozeStatus = true;
2317 __pAlarm->SetSnoozeOn(true);
2318 __pListView->RefreshList(1,LIST_REFRESH_TYPE_ITEM_ADD);
2319 __pListView->RefreshList(1,LIST_REFRESH_TYPE_ITEM_MODIFY);
2321 RearrangeControls();
2324 else if (index == 1)
2326 pArgList = new (std::nothrow) ArrayList();
2328 if (pArgList != null)
2330 pArgList->Construct();
2331 pArgList->Add(*__pAlarm);
2332 AppLog("the duration is %d", __pAlarm->GetSnoozeDuration());
2335 if (pSceneManager != null)
2337 pSceneManager->GoForward(ForwardSceneTransition(IDSCN_EDIT_SNOOZE), pArgList);
2340 __pListView->RefreshList(1, LIST_REFRESH_TYPE_ITEM_MODIFY);
2345 //__pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
2346 //__pListView->RefreshList(0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2351 AlarmEditorForm::CreateGroupItem(int groupIndex, int itemWidth)
2353 result r = E_FAILURE;
2355 GroupItem* pItem = null;
2356 Bitmap* pbgActive = null;
2357 AppResource* pAppResource = null;
2358 const Color ITEM_TEXT_COLOR = Color(92, 151, 187);
2360 pItem = new (std::nothrow) GroupItem();
2367 r = pItem->Construct(Dimension(itemWidth, 0));
2397 pAppResource = UiApp::GetInstance()->GetAppResource();
2399 if (pAppResource != null)
2401 pbgActive = pAppResource->GetBitmapN(IDB_EDIT_BACKGROUND, BITMAP_PIXEL_FORMAT_ARGB8888);
2403 if (pbgActive == null)
2415 pItem->SetElement(text, null);
2416 r = pItem->SetBackgroundBitmap(pbgActive);
2418 if (pbgActive != null)
2424 pItem->SetTextColor(ITEM_TEXT_COLOR);
2429 AlarmEditorForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
2431 result r = E_SUCCESS;
2433 String titleText = L"";
2434 String mainText = CommonUtil::GetString("IDS_ALM_BODY_TYPE");
2435 String defaultTitleText = L"default";
2438 ClockApp* pClock = static_cast<ClockApp*>(ClockApp::GetInstance());
2439 fontSize = pClock->GetFontSize();
2440 AppLog("fontsize:%d",fontSize);
2444 DropDownCustomItem* pItem = new (std::nothrow) DropDownCustomItem();
2445 r = pItem->Construct(itemWidth, fontSize);
2453 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, Color(241, 238, 233));
2454 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color(86, 135, 193));
2455 pItem->SetMainText(mainText);
2457 if (__typeName == 0)
2459 __typeNameValue = CommonUtil::GetString(L"IDS_ALM_BODY_MELODY");
2462 if (__typeName == 1)
2464 __typeNameValue = CommonUtil::GetString(L"IDS_ALM_BODY_ALERTTYEP_VIBRATION");
2467 if (__typeName == 2)
2469 __typeNameValue = CommonUtil::GetString(L"IDS_ALM_BODY_ALERTTYEP_MELODY_AND_VIBRATION");
2472 pItem->SetSubText(__typeNameValue);
2476 pItem->SetCurState(DROP_DOWN_ITEM_STATE_CLOSED);
2480 pItem->SetCurState(DROP_DOWN_ITEM_STATE_OPENED);
2483 r = pItem->MakeElements(fontSize);
2494 if (__showType && (itemIndex > 0 && itemIndex < 4))
2496 AppLog("the selected index is %d", __selectedIndex);
2501 titleText = CommonUtil::GetString(L"IDS_ALM_BODY_MELODY");
2507 titleText = CommonUtil::GetString(L"IDS_ALM_BODY_ALERTTYEP_VIBRATION");
2513 titleText = CommonUtil::GetString(L"IDS_ALM_BODY_ALERTTYEP_MELODY_AND_VIBRATION");
2518 RadioCustomItem* pItem = new (std::nothrow) RadioCustomItem();
2520 r = pItem->Construct(itemWidth, fontSize);
2528 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, Color(241, 238, 233));
2529 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color(86, 135, 193));
2530 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_HIGHLIGHTED, Color(86, 135, 193));
2532 pItem->SetText(titleText);
2534 if (__selectedIndex == itemIndex)
2536 pItem->SetSelected(true);
2540 pItem->SetSelected(false);
2543 if (pItem->GetSelected())
2545 __typeNameValue = pItem->GetText();
2548 pItem->Make(fontSize);
2552 if ((itemIndex == 1 && !__showType) || (itemIndex == 4 && __showType))
2555 DefaultCustomItem* pItem = new (std::nothrow) DefaultCustomItem();
2556 String ringTone = __pAlarm->GetRingTone();
2557 __audioFilePath = ringTone;
2558 if(File::IsFileExist(__audioFilePath) == false)
2560 __audioFilePath = AlarmPresentationModel::GetInstance()->defaultAudioPath;
2561 __pAlarm->SetRingTone(__audioFilePath);
2562 ringTone = __audioFilePath;
2564 String titleText = CommonUtil::GetString(L"IDS_ALM_BODY_TONE");
2567 r = pItem->Construct(itemWidth, fontSize);
2571 r = pItem->Construct(itemWidth, fontSize);
2580 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, Color(241, 238, 233));
2581 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color(86, 135, 193));
2582 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_HIGHLIGHTED, Color(86, 135, 193));
2584 pItem->SetText(titleText);
2586 while(ringTone.Contains(L"/"))
2588 ringTone.IndexOf('/', 0, index);
2589 ringTone.Remove(0, index + 1);
2591 pItem->SetSubText(ringTone);
2593 pItem->Make(fontSize);
2601 AlarmEditorForm::CreateItem(int itemIndex, int itemWidth)
2603 result r = E_SUCCESS;
2607 int itemHeight = 112;
2610 ClockApp* pClock = static_cast<ClockApp*>(ClockApp::GetInstance());
2611 fontSize = pClock->GetFontSize();
2615 ToggleCustomItem* pItem = new (std::nothrow) ToggleCustomItem();
2616 titleText = CommonUtil::GetString(L"IDS_ALM_BODY_SNOOZE");
2617 r = pItem->Construct(itemWidth, itemHeight);
2624 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, Color(241, 238, 233));
2625 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color(86, 135, 193));
2626 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_HIGHLIGHTED, Color(86, 135, 193));
2627 pItem->SetText(titleText);
2636 DefaultCustomItem* pItem = new (std::nothrow) DefaultCustomItem();
2637 titleText = CommonUtil::GetString(L"IDS_ALM_BODY_SNOOZE_DURATION");
2638 titleText.Append(" & ");
2639 titleText.Append(CommonUtil::GetString(L"IDS_ALM_BODY_REPEAT"));
2640 r = pItem->Construct(itemWidth, fontSize);
2647 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, Color(241, 238, 233));
2648 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color(86, 135, 193));
2649 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_HIGHLIGHTED, Color(86, 135, 193));
2651 pItem->SetText(titleText);
2652 pItem->SetSubText(__snoozeDurationValue);
2654 r = pItem->Make(fontSize);
2668 AlarmEditorForm::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
2676 AlarmEditorForm::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
2684 AlarmEditorForm::DeleteItem(int itemIndex, ListItemBase* pItem, int itemWidth)
2692 AlarmEditorForm::GetGroupCount(void)
2698 AlarmEditorForm::GetItemCount(void)
2700 if (__pAlarm != null && __pAlarm->GetSnoozeOn() == false)
2702 __snoozeStatus = false;
2707 __snoozeStatus = true;
2713 AlarmEditorForm::GetItemCount(int groupIndex)
2715 if (__showType == true)
2717 if (__typeName == 1)
2725 if (__typeName == 1)
2734 AlarmEditorForm::OnGroupedListViewItemStateChanged(GroupedListView& listView, int groupIndex, int itemIndex, int elementId, ListItemStatus status)
2736 result r = E_SUCCESS;
2737 AppControl* pAc = null;
2739 Frame* pFrame = dynamic_cast<Frame*>(GetParent());
2742 Form *pForm = pFrame->GetCurrentForm();
2743 if(pForm->GetHashCode() != this->GetHashCode())
2751 if(__showType == true)
2753 __showType = !__showType;
2754 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_REMOVE);
2755 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_REMOVE);
2756 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_REMOVE);
2758 else if(__showType == false)
2760 __showType = !__showType;
2761 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_ADD);
2762 r = __pGroupedListView->RefreshList(0, 2, LIST_REFRESH_TYPE_ITEM_ADD);
2763 r = __pGroupedListView->RefreshList(0, 3, LIST_REFRESH_TYPE_ITEM_ADD);
2766 r = __pGroupedListView->RefreshList(0, 0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2767 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_MODIFY);
2768 r = __pGroupedListView->RefreshList(0, 2, LIST_REFRESH_TYPE_ITEM_MODIFY);
2769 r = __pGroupedListView->RefreshList(0, 3, LIST_REFRESH_TYPE_ITEM_MODIFY);
2770 r = __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_MODIFY);
2772 RearrangeControls();
2776 if(__showType && itemIndex == 1)
2778 __selectedIndex = itemIndex;
2780 if (__typeName != 0 && __typeName != 2)
2782 r = __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_ADD);
2785 __typeName = __selectedIndex - 1;
2786 r = __pGroupedListView->RefreshList(0, 0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2787 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_MODIFY);
2788 r = __pGroupedListView->RefreshList(0, 2, LIST_REFRESH_TYPE_ITEM_MODIFY);
2789 r = __pGroupedListView->RefreshList(0, 3, LIST_REFRESH_TYPE_ITEM_MODIFY);
2790 r = __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_MODIFY);
2792 if(__showType && itemIndex == 2)
2794 __selectedIndex = itemIndex;
2795 __typeName = __selectedIndex - 1;
2796 r = __pGroupedListView->RefreshList(0, 0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2797 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_MODIFY);
2798 r = __pGroupedListView->RefreshList(0, 2, LIST_REFRESH_TYPE_ITEM_MODIFY);
2799 r = __pGroupedListView->RefreshList(0, 3, LIST_REFRESH_TYPE_ITEM_MODIFY);
2800 r = __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_REMOVE);
2802 if(__showType && itemIndex == 3)
2804 __selectedIndex = itemIndex;
2806 if (__typeName != 0 && __typeName != 2)
2808 r = __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_ADD);
2811 __typeName = __selectedIndex - 1;
2812 r = __pGroupedListView->RefreshList(0, 0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2813 r = __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_MODIFY);
2814 r = __pGroupedListView->RefreshList(0, 2, LIST_REFRESH_TYPE_ITEM_MODIFY);
2815 r = __pGroupedListView->RefreshList(0, 3, LIST_REFRESH_TYPE_ITEM_MODIFY);
2816 r = __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_MODIFY);
2820 if ((itemIndex == 1 && !__showType )||(itemIndex == 4 && __showType))
2822 __pBtnHourDisplay->RemoveActionEventListener(*this);
2823 __pBtnMinDisplay->RemoveActionEventListener(*this);
2824 __pEditField->SetEnabled(false);
2827 if(__isAppControlCompleted == true)
2833 pAc = AppManager::FindAppControlN(L"tizen.filemanager", L"http://tizen.org/appcontrol/operation/pick");
2837 HashMap *pHashMap = new HashMap();
2839 if(pHashMap != null)
2841 pHashMap->Construct();
2842 pHashMap->Add(*new String("http://tizen.org/appcontrol/data/selection/mode"), * new String("single"));
2843 String* mimeType = new String("audio/*");
2844 SetFormBackEventListener(null);
2845 __isAppControlCompleted = true;
2846 r = pAc->Start(null, mimeType, pHashMap, this);
2847 AppLogDebug("the result is %s", GetErrorMessage(r));
2852 if (mimeType != null)
2858 pHashMap->RemoveAll();
2866 r = __pGroupedListView->RefreshList(0, 0, LIST_REFRESH_TYPE_ITEM_MODIFY);
2867 r = __pGroupedListView->RefreshList(0, itemIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
2870 RearrangeControls();
2876 AlarmEditorForm::OnOrientationChanged(const Control& source, OrientationStatus orientationStatus)
2878 AppLog("AlarmEditorForm::OnOrientationChanged");
2880 if (__pGroupedListView != null)
2882 __pGroupedListView->UpdateList();
2885 if (__pScrollPanel != null)
2887 AppLog("the height of client is %d", GetClientAreaBounds().height);
2888 __pScrollPanel->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
2889 //__pScrollPanel->SetScrollBarVisible(true);
2892 RearrangeControls();
2894 if (__pEditField->HasFocus() == true && __pScrollPanel != null)
2896 AppLog("coming here");
2897 //__pScrollPanel->SetScrollPosition(10000,false);
2898 //__pScrollPanel->Invalidate(false);
2899 __pScrollPanel->ScrollToBottom();
2903 if (orientationStatus == ORIENTATION_STATUS_LANDSCAPE && (__pBtnHourDisplay->HasFocus() == true || __pBtnMinDisplay->HasFocus() == true) && __pScrollPanel != null)
2905 __pScrollPanel->SetScrollPosition(0);
2908 if (!__pEditField->HasFocus())
2910 if (__pHourImf->GetInputPanelBounds().height > 0 )
2912 __inputConnectionHeight = __pHourImf->GetInputPanelBounds().height;
2913 SetBounds(Rectangle(0, 0, GetBounds().width, GetBounds().height - __inputConnectionHeight));
2915 else if (__pMinImf->GetInputPanelBounds().height > 0)
2917 __inputConnectionHeight = __pMinImf->GetInputPanelBounds().height;
2918 SetBounds(Rectangle(0, 0, GetBounds().width, GetBounds().height - __inputConnectionHeight));
2926 AlarmEditorForm::RearrangeControls(void)
2929 int panelHeight = __pSlider->GetHeight();
2930 int list1HeightOff = 256 ;
2931 int list1HeightOn = 592 ;
2932 int list2HeightOff = 256 ;
2933 int list2HeightOn = 256 ;
2935 int editFieldHeight = 0;
2936 int heightOffset = 0;
2938 ClockApp* pClock = static_cast<ClockApp*>(ClockApp::GetInstance());
2939 heightOffset = pClock->GetHeightOffset();
2940 AppLog("the offset: %d",heightOffset);
2942 //if (pClock->GetFontSize() != 44)
2944 editFieldHeight = pClock->GetFontSize()+40;
2946 if (__pGroupedListView == NULL || __pListView == NULL || __pEditField == NULL)
2953 list1HeightOn -= (128 + heightOffset);
2954 list1HeightOff -= (128 + heightOffset);
2957 list1HeightOn += 5 * heightOffset;
2958 list1HeightOff += 2 * heightOffset;
2959 list2HeightOn += heightOffset;
2960 list2HeightOff += heightOffset;
2962 if (__showType == false)
2965 __pGroupedListView->SetBounds(Rectangle(__pGroupedListView->GetBounds().x,__pGroupedListView->GetBounds().y, __pGroupedListView->GetWidth(), list1HeightOff));
2968 __pSlider->SetShowState(true);
2969 __pSlider->SetBounds(Rectangle(__pSlider->GetX(),__pGroupedListView->GetY()+__pGroupedListView->GetHeight(), __pSlider->GetWidth(), __pSlider->GetHeight()));
2970 __pListView->SetBounds(Rectangle(__pListView->GetBounds().x,__pSlider->GetY()+__pSlider->GetHeight(), __pListView->GetWidth(), list2HeightOff));
2974 __pSlider->SetShowState(false);
2975 __pListView->SetBounds(Rectangle(__pListView->GetBounds().x,__pGroupedListView->GetY()+__pGroupedListView->GetHeight(), __pListView->GetWidth(), list2HeightOff));
2978 __pLabelEditfieldTitle->SetBounds(Rectangle(__pLabelEditfieldTitle->GetX(),__pListView->GetY()+__pListView->GetHeight()+15, __pLabelEditfieldTitle->GetWidth(), __pLabelEditfieldTitle->GetHeight()));
2979 __pEditField->SetBounds(Rectangle(__pEditField->GetX(), __pLabelEditfieldTitle->GetY()+__pLabelEditfieldTitle->GetHeight(), __pEditField->GetWidth(),editFieldHeight /*__pEditField->GetHeight()+editFieldOffset*/));
2982 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pLabelEditfieldTitle->GetHeight()+35;
2986 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pSlider->GetHeight()+__pLabelEditfieldTitle->GetHeight()+35;
2988 __pPanelList->SetBounds(Rectangle(__pPanelList->GetX(), __pPanelList->GetY(), __pPanelList->GetWidth(), panelHeight));
2992 __pGroupedListView->SetBounds(Rectangle(__pGroupedListView->GetBounds().x,__pGroupedListView->GetBounds().y, __pGroupedListView->GetWidth(), list1HeightOn));
2995 __pSlider->SetShowState(true);
2996 __pSlider->SetBounds(Rectangle(__pSlider->GetX(),__pGroupedListView->GetY()+__pGroupedListView->GetHeight(), __pSlider->GetWidth(), __pSlider->GetHeight()));
2997 __pListView->SetBounds(Rectangle(__pListView->GetBounds().x,__pSlider->GetY()+__pSlider->GetHeight(), __pListView->GetWidth(), list2HeightOn));
3001 __pSlider->SetShowState(false);
3002 __pListView->SetBounds(Rectangle(__pListView->GetBounds().x,__pGroupedListView->GetY()+__pGroupedListView->GetHeight(), __pListView->GetWidth(), list2HeightOn));
3004 __pLabelEditfieldTitle->SetBounds(Rectangle(__pLabelEditfieldTitle->GetX(),__pListView->GetY()+__pListView->GetHeight()+15, __pLabelEditfieldTitle->GetWidth(),__pLabelEditfieldTitle->GetHeight()));
3005 __pEditField->SetBounds(Rectangle(__pEditField->GetX(), __pLabelEditfieldTitle->GetY()+__pLabelEditfieldTitle->GetHeight(), __pEditField->GetWidth(), editFieldHeight/*__pEditField->GetHeight()*/));
3008 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pLabelEditfieldTitle->GetHeight()+35;
3012 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pSlider->GetHeight()+__pLabelEditfieldTitle->GetHeight()+35;
3014 __pPanelList->SetBounds(Rectangle(__pPanelList->GetX(), __pPanelList->GetY(), __pPanelList->GetWidth(), panelHeight));
3017 if (__pAlarm->GetSnoozeOn() == false)
3019 __pListView->SetBounds(Rectangle(__pListView->GetBounds().x,__pListView->GetBounds().y, __pListView->GetWidth(), 112));
3020 __pLabelEditfieldTitle->SetBounds(Rectangle(__pLabelEditfieldTitle->GetX(),__pListView->GetY() + __pListView->GetHeight(), __pLabelEditfieldTitle->GetWidth(), __pLabelEditfieldTitle->GetHeight()));
3021 __pEditField->SetBounds(Rectangle(__pEditField->GetX(), __pLabelEditfieldTitle->GetY()+__pLabelEditfieldTitle->GetHeight(), __pEditField->GetWidth(),editFieldHeight /*__pEditField->GetHeight()*/));
3024 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pLabelEditfieldTitle->GetHeight()+35;
3028 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pSlider->GetHeight()+__pLabelEditfieldTitle->GetHeight()+35;
3030 __pPanelList->SetBounds(Rectangle(__pPanelList->GetX(),__pPanelList->GetY(), __pPanelList->GetWidth(), panelHeight));
3034 __pListView->SetBounds(Rectangle(__pListView->GetBounds().x,__pListView->GetBounds().y, __pListView->GetWidth(), 240 + heightOffset));
3035 __pLabelEditfieldTitle->SetBounds(Rectangle(__pLabelEditfieldTitle->GetX(), __pListView->GetY() + __pListView->GetHeight(), __pLabelEditfieldTitle->GetWidth(), __pLabelEditfieldTitle->GetHeight()));
3036 __pEditField->SetBounds(Rectangle(__pEditField->GetX(), __pLabelEditfieldTitle->GetY()+__pLabelEditfieldTitle->GetHeight(), __pEditField->GetWidth(),editFieldHeight /*__pEditField->GetHeight()*/));
3039 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pLabelEditfieldTitle->GetHeight()+35;
3043 panelHeight = __pEditField->GetHeight()+ __pListView->GetHeight() + __pGroupedListView->GetHeight() + __pSlider->GetHeight()+__pLabelEditfieldTitle->GetHeight()+35;
3045 __pPanelList->SetBounds(Rectangle(__pGroupedListView->GetX(),__pPanelList->GetY(), __pPanelList->GetWidth(), panelHeight));
3048 if (__pPanelList->GetShowState() == false)
3050 AppLog("coming here");
3051 AppLog("the client height is %d", GetClientAreaBounds().height);
3052 panelHeight = GetClientAreaBounds().height - __pBtnMore->GetY();
3054 if (panelHeight < 0)
3058 __pPanelList->SetBounds(Rectangle(__pPanelList->GetX(), __pPanelList->GetY(), __pPanelList->GetWidth(), panelHeight));
3060 if (__pScrollPanel != null)
3062 __pScrollPanel->SetScrollBarVisible(false);
3063 AppLog("Scroll Panel: y: %d h:%d", __pScrollPanel->GetY(), __pScrollPanel->GetHeight());
3066 AppLog("PanelList: y: %d h:%d", __pPanelList->GetY(), __pPanelList->GetHeight());
3068 AppLog("PanelList: y: %d h:%d", __pPanelList->GetY(), __pPanelList->GetHeight());
3073 AlarmEditorForm::OnKeypadClosed(Control& source)
3075 AppLog("OnKeypadClosed");
3077 if (Clipboard::GetInstance()->IsPopupVisible() == false)
3079 GetHeader()->RemoveAllButtons();
3080 SetActionBarsVisible(FORM_ACTION_BAR_HEADER, false);
3081 SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);
3082 __pScrollPanel->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
3086 Clipboard::GetInstance()->ShowPopup(CLIPBOARD_DATA_TYPE_TEXT, *this);
3087 AppLog("the client height is %d", GetClientAreaBounds().height);
3090 RearrangeControls();
3098 AlarmEditorForm::OnKeypadOpened(Control& source)
3102 Header* pHeader = GetHeader();
3103 String textEntered = L"";
3105 if (__pEditField != null)
3107 textEntered = __pEditField->GetText();
3111 if (pHeader == null)
3121 if (&source == (static_cast<Control*>(__pEditField)))
3123 GetFooter()->SetShowState(true);
3124 GetFooter()->Invalidate(true);
3126 if ( __pEditField != null)
3128 String alarmName = __pEditField->GetText();
3130 if(alarmName.GetLength() == 0)
3132 GetFooter()->SetItemEnabled(0,false);
3136 GetFooter()->SetItemEnabled(0,true);
3139 if (__pScrollPanel != null)
3141 __pScrollPanel->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
3142 __pScrollPanel->ScrollToBottom();
3147 if ( (__pEditField != null && textEntered.GetLength() == 0) || (__pBtnHourDisplay->GetText().GetLength() == 0 || __pBtnMinDisplay->GetText().GetLength() == 0) )
3149 GetFooter()->SetItemEnabled(0, false);
3153 GetFooter()->SetItemEnabled(0, true);
3161 AlarmEditorForm::OnKeypadWillOpen(Control& source)
3167 AlarmEditorForm::OnKeypadBoundsChanged(Tizen::Ui::Control& source)
3169 AppLog("AlarmEditorForm::OnKeypadBoundsChanged");
3174 AlarmEditorForm::OnTextValueChanged(const Control& source)
3176 AppLog("AlarmEditorForm::OnTextValueChanged");
3177 String textEntered = L"";
3178 Header* pHeader = GetHeader();
3181 result r = E_FAILURE;
3182 MessageBox __pMsgBox;
3184 if (__pEditField == null)
3189 if (__pEditField != null)
3191 textEntered = __pEditField->GetText();
3195 if ( __pEditField && textEntered.GetLength() == 0 )
3197 GetFooter()->SetItemEnabled(0, false);
3201 GetFooter()->SetItemEnabled(0, true);
3204 pHeader->SetTitleText(textEntered);
3206 __pLabelTitle->SetText(textEntered);
3208 if ( (__pEditField != null && textEntered.GetLength() == 0) || (__pBtnHourDisplay->GetText().GetLength() == 0 || __pBtnMinDisplay->GetText().GetLength() == 0) )
3210 GetFooter()->SetItemEnabled(0, false);
3214 GetFooter()->SetItemEnabled(0, true);
3219 if ( __pEditField->GetTextLength() >= 250 && &source == __pEditField && __showMessageBox)
3222 __pEditField->RemoveTextEventListener(*this);
3223 String msg = CommonUtil::GetString("IDS_MAX_CHARACTER_LIMIT_MESSAGE");
3224 r = __pMsgBox.Construct(L"", msg, MSGBOX_STYLE_NONE, 3000);
3225 AppLog("the result is %s", GetErrorMessage(r));
3226 __pMsgBox.ShowAndWait(__modalMsgBoxResult);
3227 __pEditField->AddTextEventListener(*this);
3228 __pEditField->ShowKeypad();
3230 __showMessageBox = true;
3235 AlarmEditorForm::OnTextValueChangeCanceled(const Control& source)
3238 GetHeader()->SetTitleText(__defaultEditFieldValue);
3241 if (__pEditField != null)
3243 __pEditField->SetText(__defaultEditFieldValue);
3245 if (__pEditField->GetText() == 0 )
3247 GetFooter()->SetItemEnabled(0, false);
3251 GetFooter()->SetItemEnabled(0, true);
3260 AlarmEditorForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo & touchInfo)
3264 __pEditField->HideKeypad();
3269 AlarmEditorForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo & touchInfo)
3272 if(__pSlider != null && &source != __pSlider)
3274 __isPlaying = false;
3281 if (&source == __pBtnHourDisplay)
3283 __pBtnHourDisplay->SetFocus();
3285 else if (&source == __pBtnMinDisplay)
3287 __pBtnMinDisplay->SetFocus();
3291 if (__pBtnHourDisplay->HasFocus())
3295 else if (__pBtnMinDisplay->HasFocus())
3305 AlarmEditorForm::OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
3307 ArrayList* pMediaResult = null;
3308 SetFormBackEventListener(this);
3309 __pBtnHourDisplay->AddActionEventListener(*this);
3310 __pBtnMinDisplay->AddActionEventListener(*this);
3311 __pEditField->SetEnabled(true);
3312 __pEditField->Invalidate(false);
3314 AppLog("providerId: %ls, operationId: %ls, media res:%d ", appId.GetPointer(), operationId.GetPointer(), appControlResult);
3315 ///if (providerId.CompareTo(L"tizen.filemanager") == 0 && operationId.CompareTo(L"http://tizen.org/appcontrol/operation/pick") == 0)
3317 if (pExtraData != null)
3319 pMediaResult = (ArrayList*)pExtraData->GetValue(* new String("http://tizen.org/appcontrol/data/selected"));
3320 if(pMediaResult != null)
3322 String *pPath = dynamic_cast<String*>(pMediaResult->GetAt(0));
3328 __pAlarm->SetRingTone(*pPath);
3329 __audioFilePath = __pAlarm->GetRingTone();
3330 __pGroupedListView->RefreshList(0, 1, LIST_REFRESH_TYPE_ITEM_MODIFY);
3331 __pGroupedListView->RefreshList(0, 4, LIST_REFRESH_TYPE_ITEM_MODIFY);
3332 AppLog("File set : %ls", pPath->GetPointer());
3337 AppLog("Media not found");
3342 AppLog("pResultList is null");
3345 __isAppControlCompleted = false;
3346 __pGroupedListView->Invalidate(true);
3353 AlarmEditorForm::OnSliderBarMoved(Tizen::Ui::Controls::Slider& source, int value)
3355 AppLog("AlarmEditorForm::OnSliderBarMoved value = %d", value);
3356 if (__sliderValue == value)
3360 __sliderValues.Push(value);
3362 SettingInfo::RemoveSettingEventListener(*this);
3363 SettingInfo::SetValue(L"http://tizen.org/setting/sound.media.volume", value);
3364 SettingInfo::AddSettingEventListener(*this);
3368 __pSlider->SetFocus();
3369 __pSlider->Invalidate(false);
3372 if(__sliderValues.GetCount() == 1)
3374 SendUserEvent(10000, null);
3377 __sliderValue = value;
3381 AlarmEditorForm::OnClipboardPopupClosed(const Tizen::Ui::ClipboardItem* pClipboardItem)
3383 AppLog("OnClipboardPopupClosed");
3385 if ( __pEditField != null && __pEditField->GetText() == 0 )
3387 GetFooter()->SetItemEnabled(0, false);
3391 GetFooter()->SetItemEnabled(0, true);
3394 GetFooter()->Invalidate(true);
3398 AlarmEditorForm::OnSettingChanged(Tizen::Base::String& key)
3400 if ( key == L"http://tizen.org/setting/locale.time.format.24hour")
3404 String hourVal, minVal;
3405 int timeFormat = 12;
3407 minVal = __pBtnMinDisplay->GetText();
3408 Integer::Parse(minVal, minute);
3409 hourVal = __pBtnHourDisplay->GetText();
3410 Integer::Parse(hourVal, hour);
3413 int alarmTimeHour, alarmTimeMin;
3414 Bitmap* pToggleBtnPMBG = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_TOGGLE_PM_BG);
3415 Bitmap* pToggleBtnAMBG = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_TOGGLE_AM_BG);
3418 SettingInfo::GetValue(key, is24HourFormat);
3420 if (is24HourFormat == true)
3422 if (__defaultToggleValue == CommonUtil::GetString(L"IDS_COM_BODY_AM"))
3430 else if (__defaultToggleValue == CommonUtil::GetString(L"IDS_COM_POP_PM"))
3441 alarmTimeHour = hour;
3442 alarmTimeMin = minute;
3444 if(is24HourFormat == false)
3446 if (alarmTimeHour < timeFormat)
3448 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_BODY_AM");
3449 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnAMBG);
3450 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnAMBG);
3454 alarmTimeHour = alarmTimeHour - timeFormat;
3455 __defaultToggleValue = CommonUtil::GetString(L"IDS_COM_POP_PM");
3456 __pBtnToggle->SetNormalBackgroundBitmap(*pToggleBtnPMBG);
3457 __pBtnToggle->SetPressedBackgroundBitmap(*pToggleBtnPMBG);
3460 __pBtnToggle->SetShowState(true);
3461 __pLabelAm->SetShowState(true);
3462 __pLabelPm->SetShowState(true);
3466 __pBtnToggle->SetShowState(false);
3467 __pLabelAm->SetShowState(false);
3468 __pLabelPm->SetShowState(false);
3471 if(alarmTimeHour == 0 && is24HourFormat == false)
3480 if ( alarmTimeHour < 10)
3485 if (alarmTimeMin < 10)
3490 hourVal.Append(alarmTimeHour);
3491 minVal.Append(alarmTimeMin);
3493 __pBtnHourDisplay->SetText(hourVal);
3494 __pBtnMinDisplay->SetText(minVal);
3495 __pBtnHourDisplay->Invalidate(false);
3496 __pBtnMinDisplay->Invalidate(false);
3500 if (key == L"http://tizen.org/setting/sound.media.volume" )
3502 SettingInfo::GetValue(key, systemVolume);
3503 if(__pSlider != NULL)
3505 __pSlider->RemoveSliderEventListener(*this);
3506 __pSlider->SetValue(systemVolume);
3507 __pSlider->AddSliderEventListener(*this);
3508 __pSlider->Invalidate(true);
3511 if (__player != null && __player->GetState() != PLAYER_STATE_PLAYING)
3513 __player->SetAudioStreamType(AUDIO_STREAM_TYPE_MEDIA);
3518 if(__player != null)
3520 __player->SetVolume((100 * systemVolume)/15);
3526 AlarmEditorForm::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
3528 if (requestId == REQUEST_ID_TERMINATE)
3530 SceneManager* pSceneManager = SceneManager::GetInstance();
3532 if (pSceneManager != null)
3534 pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALARM_LIST));
3540 if (__sliderValues.GetCount())
3542 int sliderValue = -1;
3543 __sliderValues.Pop(sliderValue);
3544 __sliderValues.RemoveAll();
3546 if(__player != null && __player->GetState() != PLAYER_STATE_PLAYING)
3548 __player->SetAudioStreamType(AUDIO_STREAM_TYPE_MEDIA);
3553 if(__player != null)
3555 __player->SetVolume((100 * sliderValue)/15);
3562 AlarmEditorForm::StartAudio(void)
3564 result r = E_SUCCESS;
3565 if (__audioFilePath != L"")
3568 r = __player->OpenFile(__audioFilePath, false);
3572 AppLog("the result of openfile is %s", GetErrorMessage(r));
3576 r = __player->SetLooping(true);
3577 __player->SetAudioStreamType(AUDIO_STREAM_TYPE_MEDIA);
3578 r = __player->Play();
3579 __player->SetVolume(100);
3583 AppLog("the result of play is %s", GetErrorMessage(r));
3587 __isPlaying = false;
3592 AlarmEditorForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
3594 if(deviceType == DEVICE_TYPE_STORAGE_CARD)
3596 if(File::IsFileExist(__audioFilePath) == false)
3598 __audioFilePath = AlarmPresentationModel::GetInstance()->defaultAudioPath;
3599 if(__pListView != null)
3601 __pListView->UpdateList();
3608 AlarmEditorForm::ValidatePastedText(const Tizen::Base::String &pastedText, Tizen::Base::String &replacedText)
3610 AppLog("AlarmEditorForm::ValidatePastedText");
3612 int textLength = __pEditField->GetText().GetLength() - replacedText.GetLength() + pastedText.GetLength();
3613 if (textLength >= 250)
3615 __showMessageBox = false;
3616 __pEditField->RemoveTextEventListener(*this);
3617 String msg = CommonUtil::GetString("IDS_MAX_CHARACTER_LIMIT_MESSAGE");
3618 msgBox.Construct(L"", msg, MSGBOX_STYLE_NONE, 3000);
3619 msgBox.ShowAndWait(__modalMsgBoxResult);
3620 __pEditField->AddTextEventListener(*this);
3621 __pEditField->ShowKeypad();
3627 AlarmEditorForm::OnFocusGained (const Tizen::Ui::Control &source)
3629 AppLog("AlarmEditorForm::OnFocusGained");
3630 if (&source == (static_cast<Control*>(__pEditField)))
3632 Header* pHeader = GetHeader();
3634 if (__pEditField != null)
3636 pHeader->SetTitleText(__pEditField->GetText());
3639 if (__pScrollPanel != null)
3641 __pScrollPanel->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
3642 //__pScrollPanel->ScrollToBottom();
3644 GetFooter()->SetFocusable(true);
3647 if ((__pBtnHourDisplay != null && &source != __pBtnHourDisplay) && (__pBtnMinDisplay != null && &source != __pBtnMinDisplay))
3649 if (__pBtnHourDisplay->HasFocus())
3654 else if (__pBtnMinDisplay->HasFocus())
3666 AlarmEditorForm::OnFocusLost (const Tizen::Ui::Control &source)
3668 AppLog("AlarmEditorForm::OnFocusLost ");
3669 if(__pSlider != null && &source == __pSlider)
3671 __isPlaying = false;
3674 AppLog("AlarmEditorForm::OnFocusLost 1");
3675 result r = __player->Stop();
3676 AppLog("AlarmEditorForm::OnFocusLost result = %s", GetErrorMessage(r));
3683 AlarmEditorForm::OnInputConnectionTextCommitted(InputConnection& source, const Tizen::Base::String& committedText)
3685 AppLog("AlarmEditorForm::OnInputConnectionTextCommitted commited text =%shi", committedText.GetPointer());
3694 if (__pHourImf != null && &source == __pHourImf)
3696 if (__hourText.GetLength() == 2)
3698 fullString = __hourText;
3703 fullString = __pBtnHourDisplay->GetText();
3706 fullString.Append(committedText);
3707 __pBtnHourDisplay->SetText(fullString);
3709 hourValue = fullString;
3710 if(hourValue.GetLength() > 2)
3712 hourValue.SubString(hourValue.GetLength() - 1, val);
3719 Integer::Parse(val, hour);
3720 if(IsFailed(GetLastResult()))
3725 __pBtnHourDisplay->SetText(val);
3727 if (val.GetLength() == 2)
3729 isHourClicked = false;
3731 Canvas* pCanvas = null;
3732 Bitmap* pbgBitmap = null;
3733 Bitmap* pFinalBitmap = null;
3734 Bitmap* pbgFocusBitmap = null;
3735 Bitmap* pFinalBitmapFocused = null;
3736 Bitmap* pBgNormalBitmap = null;
3737 Canvas* pCanvasFocused = null;
3738 int canvasWidth = 276;
3739 int canvasHeight = 236;
3741 pBgNormalBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_NORMAL_BG);
3742 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
3744 pCanvas = new (std::nothrow) Canvas();
3745 pCanvas->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
3746 pCanvas->DrawBitmap(Point(0,0),*pBgNormalBitmap);
3747 pCanvas->DrawBitmap(Point(0,0),*pbgBitmap);
3749 if (pbgBitmap != null)
3755 if (pBgNormalBitmap != null)
3757 delete pBgNormalBitmap;
3758 pBgNormalBitmap = null;
3761 pFinalBitmap = new (std::nothrow) Bitmap();
3763 if ( pFinalBitmap != NULL)
3765 pFinalBitmap->Construct(*pCanvas,Rectangle(0,0,canvasWidth,canvasHeight));
3769 pbgFocusBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_FOCUS_BG);
3770 pbgBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ALARM_TIME_BG);
3772 pCanvasFocused = new (std::nothrow) Canvas();
3773 pCanvasFocused->Construct(Rectangle(0,0,canvasWidth,canvasHeight));
3774 pCanvasFocused->DrawBitmap(Point(0,0),*pbgFocusBitmap);
3775 pCanvasFocused->DrawBitmap(Point(0,0),*pbgBitmap);
3777 if (pbgFocusBitmap != null)
3779 delete pbgFocusBitmap;
3780 pbgFocusBitmap = null;
3783 if (pbgBitmap != null)
3789 pFinalBitmapFocused = new (std::nothrow) Bitmap();
3791 if ( pFinalBitmapFocused != null)
3793 pFinalBitmapFocused->Construct(*pCanvasFocused,Rectangle(0,0,canvasWidth,canvasHeight));
3794 delete pCanvasFocused;
3797 __pBtnMinDisplay->SetFocus();
3800 __pBtnMinDisplay->SetNormalBackgroundBitmap(*pFinalBitmapFocused);
3801 __pBtnMinDisplay->SetPressedBackgroundBitmap(*pFinalBitmapFocused);
3802 __pBtnHourDisplay->SetNormalBackgroundBitmap(*pFinalBitmap);
3804 if (pFinalBitmap != null)
3806 delete pFinalBitmap;
3807 pFinalBitmap = null;
3810 if (pFinalBitmapFocused != null)
3812 delete pFinalBitmapFocused;
3813 pFinalBitmapFocused = null;
3817 if (is24HourFormat == false)
3819 if (hour > 12 || fullString == "00")
3821 __pBtnHourDisplay->SetText(L"12");
3822 __pBtnMinDisplay->SetFocus();
3826 /*if (isHourClicked == false)
3828 __pBtnMinDisplay->SetFocus();
3836 __pBtnHourDisplay->SetText(L"23");
3837 __pBtnMinDisplay->SetFocus();
3842 __pBtnHourDisplay->Invalidate(true);
3843 __pBtnMinDisplay->Invalidate(true);
3845 else if (__pMinImf != null && &source == __pMinImf)
3847 if (__hourText.GetLength() == 2)
3849 fullString = __hourText;
3854 fullString = __pBtnMinDisplay->GetText();
3857 fullString.Append(committedText);
3858 __pBtnMinDisplay->SetText(fullString);
3860 minValue = fullString;
3861 if(minValue.GetLength() > 2)
3863 minValue.SubString(minValue.GetLength() - 1, val);
3871 Integer::Parse(val, min);
3873 __pBtnMinDisplay->SetText(val);
3874 //__pEditFieldHour->SetText(val);
3877 if (val.GetLength() > 0 && min > 59)
3879 __pBtnMinDisplay->SetText(L"59");
3880 //__pEditFieldHour->SetText(L"0");
3883 __pBtnMinDisplay->Invalidate(true);
3886 if (__pBtnHourDisplay->GetText() == "" || __pBtnMinDisplay->GetText() == "")
3888 GetFooter()->SetItemEnabled(0, false);
3889 GetFooter()->Invalidate(true);
3893 GetFooter()->SetItemEnabled(0, true);
3894 GetFooter()->Invalidate(true);
3900 AlarmEditorForm::ShowHourKeypad()
3902 result r = E_SUCCESS;
3904 if(__pHourImf != null)
3906 __pHourImf->BindInputMethod();
3907 r = __pHourImf->ShowInputPanel();
3914 AlarmEditorForm::HideHourKeypad()
3916 result r = E_SUCCESS;
3918 if (__pHourImf != null)
3920 r = __pHourImf->HideInputPanel();
3921 __pHourImf->UnbindInputMethod();
3928 AlarmEditorForm::ShowMinKeypad()
3930 result r = E_SUCCESS;
3932 if(__pMinImf != null)
3934 __pMinImf->BindInputMethod();
3935 r = __pMinImf->ShowInputPanel();
3942 AlarmEditorForm::HideMinKeypad()
3944 result r = E_SUCCESS;
3946 if (__pMinImf != null)
3948 r = __pMinImf->HideInputPanel();
3949 __pMinImf->UnbindInputMethod();
3956 AlarmEditorForm::OnInputConnectionPanelShowStateChanged(InputConnection& source, InputPanelShowState showState)
3958 AppLog("AlarmEditorForm::OnInputConnectionPanelShowStateChanged");
3960 if ((__pHourImf != null && &source == __pHourImf) || (__pMinImf != null && &source == __pMinImf) )
3962 AppLog("source height = %d", source.GetInputPanelBounds().height);
3965 if (showState == INPUT_PANEL_SHOW_STATE_SHOW)
3967 __inputConnectionHeight = source.GetInputPanelBounds().height;
3968 SetBounds(Rectangle(0, 0, GetBounds().width, GetBounds().height - __inputConnectionHeight));
3972 SetBounds(Rectangle(0, 0, GetBounds().width, GetBounds().height + __inputConnectionHeight));
3973 __inputConnectionHeight = 0;
3976 if (__pScrollPanel != null)
3978 __pScrollPanel->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
3979 __pScrollPanel->SetScrollBarVisible(true);
3982 GetFooter()->SetShowState(true);
3983 GetFooter()->Invalidate(true);
3989 AlarmEditorForm::OnInputConnectionPanelBoundsChanged(InputConnection& source, const Rectangle& bounds)
3991 AppLog("AlarmEditorForm::OnInputConnectionPanelBoundsChanged");
3993 if (__pScrollPanel != null && (&source == __pHourImf || &source == __pMinImf))
3995 __pScrollPanel->ScrollToTop();
4000 AlarmEditorForm::OnTouchMoved(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4002 AppLog("AlarmEditorForm::OnTouchMoved");
4010 AlarmEditorForm::OnKeyPressed(Control& source, const KeyEventInfo& keyEventInfo)
4012 AppLog("AlarmEditorForm::OnKeyPressed");
4013 String strHour = L"";
4014 String strMin = L"";
4016 if(keyEventInfo.GetKeyCode() == KEY_ENTER)
4021 if(keyEventInfo.GetKeyCode() == KEY_BACKSPACE )
4023 AppLog("AlarmEditorForm::OnKeyPressed:the back is clicked");
4024 if(&source == __pBtnHourDisplay)
4026 strHour = __pBtnHourDisplay->GetText();
4027 strHour.Remove(strHour.GetLength()-1, 1);
4028 __pBtnHourDisplay->SetText(strHour);
4029 __pBtnHourDisplay->Invalidate(true);
4031 if(__pBtnHourDisplay->GetText() == L"")
4033 GetFooter()->SetItemEnabled(0, false);
4034 GetFooter()->Invalidate(true);
4037 if(&source == __pBtnMinDisplay)
4039 strMin = __pBtnMinDisplay->GetText();
4040 strMin.Remove(strMin.GetLength()-1, 1);
4041 __pBtnMinDisplay->SetText(strMin);
4042 __pBtnMinDisplay->Invalidate(true);
4044 if(__pBtnMinDisplay->GetText() == L"")
4046 GetFooter()->SetItemEnabled(0, false);
4047 GetFooter()->Invalidate(true);
4056 AlarmEditorForm::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
4058 AppLog("AlarmEditorForm::OnKeyReleased");
4059 if(keyEventInfo.GetKeyCode() == KEY_ENTER)
4061 __pMinImf->HideInputPanel();
4062 __pHourImf->HideInputPanel();
4065 if(keyEventInfo.GetKeyCode() == KEY_BACKSPACE)
4067 AppLog("the back is clicked");