diff -r 000000000000 -r f979ecb2b13e calendarui/views/inc/calenmissedalarmscontainer.h --- /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 +#include +#include +#include // 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& 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 iMissedAlarmsArray; + CDesCArray* iListBoxItemArray; + TUint32 iMissedAlarmsCount; + TInt& iHighlightedRowNumber; + TBool iFirstTap; + }; + +#endif // CALENMISSEDALARMSCONTAINER_H + +// End of File