--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/inc/calenmissedalarmscontainer.h Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,270 @@
+/*
+* Copyright (c) 2008 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: Missed alarm container class declaration
+*
+*/
+
+
+
+#ifndef CALENMISSEDALARMSCONTAINER_H
+#define CALENMISSEDALARMSCONTAINER_H
+
+#include<coecntrl.h>
+#include<missedalarm.h>
+#include<missedalarmstore.h>
+#include <caleninstanceid.h> // TCalenInstanceId
+
+#include "calencontainer.h"
+#include "calenmissedalarmsview.h"
+
+// FORWARD DECLARATIONS
+class CAknDoubleGraphicStyleListBox;
+class CAknIconArray;
+class CCalenAppUi;
+class CCalEntry;
+
+/**
+ * Class declaration for Missed alarms container
+ */
+NONSHARABLE_CLASS(CCalenMissedAlarmsContainer) : public CCalenContainer
+ {
+ public:
+
+ /**
+ * Two-phased constructor.
+ * @param aRect of this container.
+ * @param aView CCalenMissedAlarmsView* that owns this class.
+ * @return CCalenMissedAlarmsContainer*
+ */
+ CCalenMissedAlarmsContainer( CCalenNativeView* aView,
+ MCalenServices& aServices,
+ TInt& aHighlightedRowNumber);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCalenMissedAlarmsContainer();
+
+ /**
+ * Return list box pointer.
+ * @return List box pointer.
+ */
+ CAknDoubleGraphicStyleListBox* ListBox() const;
+
+ private: // Functions from base classes
+ /**
+ * From CCoeControl, child control was resized.
+ */
+ void SizeChanged();
+
+ /**
+ * From CCoeControl, return child control count.
+ * @return Control count
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * From CCoeControl, return child control pointer.
+ * @param aIndex Child control index
+ * @return Child control pointer.
+ */
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+ /**
+ * From CCoeControl, process key event.
+ * @param aKeyEvent The key event.
+ * @param aType EEventKey | EEventKeyUp | EEventKeyDown.
+ * @return EKeyWasNotConsumed : Key event was not consumed.
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+ TEventCode aType);
+
+ /**
+ * From CCoeControl, process pointer event.
+ */
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+ /**
+ * From CCoeControl
+ */
+ void Draw(const TRect& /*aRect*/) const;
+
+ /**
+ * Pass skin information if needed
+ */
+ TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
+
+ /**
+ * From CCoeControl, Get help context.
+ * @param aContext Help context
+ */
+ void GetHelpContext(TCoeHelpContext& aContext) const;
+
+ /**
+ * From MActiveStep, refresh EventView data.
+ */
+ TInt DoStepL();
+
+ /**
+ * From CCoeControl Handles a resource relative event
+ */
+ void HandleResourceChange(TInt aType);
+
+ private: // From CCalenContainer
+
+ /**
+ * From CCalenContainer Third phase constructor.
+ * This function was called CCalenView::ConstructL().
+ */
+ void ConstructImplL();
+
+ /**
+ * From CCalenContainer.
+ * This methods is called after calendar settings have changed.
+ */
+ void UpdateSize();
+
+ /**
+ * Create icon index
+ */
+ void CreateIconIndicesL( RArray<MCalenServices::TCalenIcons>& aIndexArray );
+
+ /**
+ * This method is called after pointer event in Navi
+ * decoration object.
+ * @param aDirection right or left
+ */
+ void HandleNaviDecoratorEventL(TInt aEventID);
+
+ /**
+ * Handle long tap events
+ */
+ void HandleLongTapEventL( const TPoint& aPenEventLocation,
+ const TPoint& aPenEventScreenLocation );
+ private:
+
+ /**
+ * Gets an icon index corresponding to a note
+ * @param aEntry Agenda entry
+ * @return ENullIcon | EBirthdayIcon |
+ * EMeetingIcon | EDaynoteIcon | EToDoIcon
+ */
+ TInt IconIndexForEntryL(CCalEntry& aEntry, TInt aSeenMissedAlarm);
+
+ /**
+ * Creates the list box data
+ * @aIndex index of the listbox
+ */
+ void CreateListBoxDataL(TInt aIndex);
+
+ /**
+ * Get Missed Alarm Entry
+ * @param aIndex: index for fetching the missed alarm entry
+ * @return CCalEntry* pointer to the calendar entry
+ */
+ CCalEntry* GetMissedAlarmEntryL(TInt aIndex) const ;
+
+ /**
+ * Get the Instance Time
+ * @param aIndex : index for fetching the instance time
+ * @return TTime returns the instance time
+ */
+ TTime GetInstanceTime(TInt aIndex) const ;
+
+ /**
+ * Get the Viewed Event Information
+ *
+ * @param aIndex : index for fetching the viewed event info
+ * @return TInt returns the viewed event info
+ */
+ TInt GetViewedEventInfo(TInt aIndex);
+
+ /**
+ * Set current item index and draw list.
+ */
+ void SetCurrentItemIndexAndDraw();
+
+ /**
+ * Sets the correct highlight, based on the context.
+ */
+ void SetHighlightingL();
+
+ /**
+ * Set current item index.
+ * @param aIndex Item index
+ */
+ void SetCurrentItemIndex(TInt aIndex);
+
+ /**
+ * Set empty list text
+ */
+ void SetEmptyListTextL();
+
+ public:
+
+ /**
+ * Updates missed alarms array
+ */
+ void UpdateMissedAlarmsArrayL();
+
+ /**
+ * Populate Missed alarms View with missed alarm entries
+ */
+ void PopulateWithMissedAlarmsL();
+
+ /**
+ * Completes the population of the Missed alarms view
+ */
+ void CompletePopulationL();
+
+ /**
+ * Returns the current lisbox item's index
+ * @return returns the current listbox's index
+ */
+ TInt CurrentItemIndex();
+
+ /**
+ * Returns the Missed alarms Count
+ * @return returns the missed alarms count
+ */
+ TInt MissedAlarmsCount();
+
+ /**
+ * Sets the context from the current focused missed alarm entry
+ * @aIndex index of the missed alarm entry
+ */
+ void SetContextFromMissedAlarmEntryL(TInt aIndex);
+
+ /**
+ * Returns the index of the missed alarm entry
+ * @aId Intance id of the context
+ * @return TInt return focused index of the missed alarms entry
+ */
+ TInt FindMissedAlarmEntryIndexL(const TCalenInstanceId& aId);
+
+ private: // Data Members
+
+ CAknDoubleGraphicStyleListBox* iListBox;
+ CCalenMissedAlarmsView* iMissedAlarmsView;
+ CMissedAlarmStore* iMissedAlarmStore;
+ RArray<TCalenInstanceId> iMissedAlarmsArray;
+ CDesCArray* iListBoxItemArray;
+ TUint32 iMissedAlarmsCount;
+ TInt& iHighlightedRowNumber;
+ TBool iFirstTap;
+ };
+
+#endif // CALENMISSEDALARMSCONTAINER_H
+
+// End of File