examples/ForumNokia/CalendarExample/src/CalendarAPIexampleEntryItemList.cpp

00001 /*
00002  * Copyright © 2008 Nokia Corporation.
00003  */
00004 
00005 // INCLUDE FILES
00006 #include "CalendarAPIexampleEntryItemList.h"
00007 #include "CalendarHelperEntry.h"
00008 #include "CalendarAPIexampleEntryView.h"
00009 #include <AknQueryDialog.h>
00010 
00011 // ================= MEMBER FUNCTIONS =======================
00012 
00013 
00014 // ----------------------------------------------------
00015 // CCalendarAPIexampleEntryItemList::CreateSettingItemL()
00016 // Framework method to create a setting item based upon 
00017 // the user id aSettingId. The client code decides what
00018 // type to construct. new (ELeave) must then be used and
00019 // the resulting pointer returned. Ownership is 
00020 // thereafter base class's responsibility.
00021 // ----------------------------------------------------
00022 //
00023 CAknSettingItem* CCalendarAPIexampleEntryItemList::CreateSettingItemL( 
00024                                                             TInt aIdentifier )
00025     {   
00026     CAknSettingItem* settingItem = NULL;
00027 
00028     // create a setting item for each setting list resource
00029     switch (aIdentifier)
00030     {
00031     case ECalendarAPIexampleNameItem:
00032         {
00033         settingItem = new (ELeave) CAknTextSettingItem(aIdentifier, iName);
00034         break;
00035         }
00036     case ECalendarAPIexampleDateItem:
00037         settingItem = new (ELeave)  CAknTimeOrDateSettingItem(  
00038                                             aIdentifier, 
00039                                             CAknTimeOrDateSettingItem::EDate,
00040                                             iDate);
00041         break;
00042     case ECalendarAPIexampleAlarmItem:
00043         settingItem = new (ELeave) CAknBinaryPopupSettingItem(aIdentifier, 
00044                                                               iAlarm);
00045         break;
00046     case ECalendarAPIexampleAlarmTimeItem:
00047         settingItem = new (ELeave)  CAknTimeOrDateSettingItem(
00048                                             aIdentifier, 
00049                                             CAknTimeOrDateSettingItem::ETime,
00050                                             iAlarmTime);
00051         break;
00052     case ECalendarAPIexampleAlarmDateItem:
00053         settingItem = new (ELeave)  CAknTimeOrDateSettingItem(  
00054                                             aIdentifier, 
00055                                             CAknTimeOrDateSettingItem::EDate,
00056                                             iAlarmDate);
00057         break;
00058     case ECalendarAPIexampleSyncItem:
00059         settingItem = new (ELeave) CAknEnumeratedTextPopupSettingItem(  aIdentifier, 
00060                                                                         iSync);
00061         break;
00062     default:
00063         break;
00064         }
00065     return settingItem;
00066     
00067     }
00068 
00069 
00070     
00071 // ----------------------------------------------------
00072 // CCalendarAPIexampleEntryItemList::SetData()
00073 // Reads values to each item in item list from the given
00074 // entry.
00075 // ----------------------------------------------------
00076 //  
00077 void CCalendarAPIexampleEntryItemList::SetData(const CCalHelperEntry& aData)
00078     {
00079     iName = aData.Name();
00080     iDate = aData.Date();
00081     iAlarm = (aData.Alarm() != 0);
00082     iAlarmTime = aData.AlarmTime();
00083     iAlarmDate = aData.AlarmTime();
00084     iSync = aData.SynchronizationMethod();
00085     }
00086     
00087 // ----------------------------------------------------
00088 // CCalendarAPIexampleEntryItemList::SaveL()
00089 // Sets value from itemlist to the given entry. Returns
00090 // false if user input was invalid, otherwise true is
00091 // returned.
00092 // ----------------------------------------------------
00093 //  
00094 TBool CCalendarAPIexampleEntryItemList::SaveL()
00095     {
00096     StoreSettingsL();
00097     return ETrue;
00098     }
00099 
00100 void CCalendarAPIexampleEntryItemList::GetValues(TDes& aName, TTime& aDate,
00101                    TBool& aAlarm, TTime& aAlarmTime,
00102                             TInt& aSync)
00103     {
00104     TDateTime alarmTime = iAlarmTime.DateTime();
00105     TDateTime alarmDate = iAlarmDate.DateTime();
00106     
00107     alarmTime.SetYear(alarmDate.Year());
00108     alarmTime.SetMonth(alarmDate.Month());
00109     alarmTime.SetDay(alarmDate.Day());    
00110     
00111     aName = iName;
00112     aDate = iDate;
00113     aAlarm = iAlarm;
00114     aAlarmTime = alarmTime;
00115     aSync = iSync;    
00116     
00117     }
00118 
00119 void CCalendarAPIexampleEntryItemList::SetValues(
00120                             const TDesC& aName,
00121                             const TDateTime& aDate,
00122                             const TBool& aAlarm,
00123                             const TDateTime& aAlarmTime,
00124                             const TInt& aSync)                            
00125     {
00126     iName = aName;
00127     iDate = aDate;
00128     iAlarm = aAlarm;
00129     iAlarmTime = aAlarmTime;
00130     iAlarmDate = aAlarmTime;
00131     iSync = aSync;    
00132     }
00133 
00134 
00135 // End of File

Generated by  doxygen 1.6.2