--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/editors/inc/calenreminderfield.h Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,200 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+ * Description : Editor alarm fields functionality for all entry types
+ *
+*/
+
+#ifndef CALENREMINDERFIELD_H
+#define CALENREMINDERFIELD_H
+
+// system includes
+#include <e32base.h>
+
+// forward declarations
+class CCalenUnifiedEditor;
+class CCalEntry;
+class CAknQueryValueTextArray;
+class CAknQueryValueText;
+
+// CLASS DECLARATION
+
+NONSHARABLE_CLASS( CCalenReminderField ) : public CBase
+ {
+private:
+ // Define index of "AlarmTime" choicelist item
+ enum TFormAlarmItemIndex
+ {
+ EAlarmNoAlarm,
+ EAlarmActive
+ };
+
+public:
+ static CCalenReminderField* NewL( CCalenUnifiedEditor& aUnifiedEditor );
+
+ /**
+ * @brief C++ desrtuctor
+ */
+ virtual ~CCalenReminderField();
+
+public: // Data access API
+
+ /**
+ * @brief Handle error codes related to the alarm fields.
+ * @param aError
+ */
+ TBool HandleErrorL( const TInt& aError );
+
+ /**
+ * @brief Called when focus is moved from the specified line.
+ * @param aFocusedId, Id of the focused field
+ */
+ void PrepareForFocusTransitionL( TInt aFocusedId );
+
+ /**
+ * @brief Reads data from the entry and updates the form with the appropriate
+ * values.
+ */
+ void SetDataToEditorL();
+
+ /**
+ * @brief Reads data from the form and updates the entry with the appropriate
+ * values.
+ */
+ void ReadDataFromFormL( TBool aContinueOnError );
+
+public: // Layout API
+
+ /**
+ * @brief Remove any lines not needed by the current entry.
+ */
+ void DeleteMeaninglessLinesL();
+
+ /**
+ * @brief Updates fields just before the form is shown.
+ */
+ void InitReminderFieldLdayoutL();
+
+public: // Control API
+
+ /**
+ * @brief Called when a field is modifed.
+ * @param aControlId field which is modified.
+ */
+ void HandleControlStateChangeL( TInt aControlId );
+
+ /**
+ * @brief Gets the info whether alarm on/off. adds & updates the alarm fields.
+ * @param aAlarmAcitive, If ETrue Alaram is set to 'ON' else set to 'OFF'
+ */
+ void CheckAlarmActive( TBool aAlarmActive );
+
+ /**
+ * @brief Checks if the alarm is active.
+ * @return ETrue if alarm is 'ON' else EFasle
+ */
+ TBool IsAlarmActiveInForm();
+
+
+private:
+
+ /**
+ * @brief To Add/Delete Alaram Date & Time fields.
+ * @param If ETrue Alarm Off, Delete alarm date & alarm time fields from Editor
+ * If EFalse Alarm On, Add alarm date & alarm time fields to Editor
+ */
+ void SetAlarmDateTimeLinesDimmedL( const TBool& aDimmed );
+
+ /**
+ * @brief Handle Editor fields, when an alarm field is changed.
+ */
+ void HandleAlarmActiveFieldChangeL();
+
+ /**
+ * @brief When the start time of the entry is changed, this function gets called
+ * to keep time interval between the entry start and the alarm constant.
+ */
+ void UpdateAlarmTimeWhenStartChangedL();
+
+ /**
+ * @brief Sets the alarm date & time to the specified TTime.
+ * @param aTime, TTime formate of alarm date & time.
+ */
+ void SetAlarmDateTimeField( const TTime& aTime );
+
+ /**
+ * @brief Checks to see if the current value of the alarm date/time line is in
+ * the future.
+ * @return ETrue, If start time is in future
+ */
+ TBool IsStartTimeInFutureL();
+
+ /**
+ * @brief Returns the current date/time value of the alarm field.
+ * @return TTime formate of alarm date/time
+ */
+ TTime AlarmDateTimeFromFormL();
+
+private:
+
+ /**
+ * @brief Get the time field in QHD resolutions
+ * @return TTime form of time from field with aControlId
+ */
+ TTime GetTimeField( TInt aControlId );
+
+private:
+
+ /**
+ * @brief C++ constructor
+ */
+ CCalenReminderField( CCalenUnifiedEditor& aUnifiedEditor );
+
+ /**
+ * @brief Two-Phase constructor
+ */
+ void ConstructL();
+
+private:
+
+ /**
+ * @var iUnifiedEditor
+ * @brief Reference to CCalenUnifiedEditor
+ */
+ CCalenUnifiedEditor& iUnifiedEditor;
+
+ /**
+ * @var iIsAlarmOnOff
+ * @brief hold the Alarm On/Off state
+ */
+ TInt iIsAlarmOnOff;
+
+ /**
+ * @var iDefaultAlarmOffset
+ * @brief Default alarm offset as minutes from start. Negative value means that
+ * it is before start time. Read from Central repository
+ */
+ TTimeIntervalMinutes iDefaultAlarmOffset;
+
+ /**
+ * @var iAlarmOffset
+ * @brief Alarm offset as minutes from start Negative value means that it is
+ * before start time
+ */
+ TTimeIntervalMinutes iAlarmOffset;
+ };
+
+#endif // CALENALARMFIELDS_H
+
+
+// End of File