--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/inc/calentodoview.h Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,288 @@
+/*
+* 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: To-Do view derived from CCalenView.
+*
+*/
+
+
+
+#ifndef TODOVIEW_H
+#define TODOVIEW_H
+
+// INCLUDES
+#include <eiklbv.h>
+#include <calentoolbar.h>
+#include "calennativeview.h"
+
+// CONSTANTS
+const TInt KCountOfControls(1); // Number of controls
+
+enum TViewError
+ {
+ EFormErrSave = 1
+ };
+
+// FORWARD DECLARATIONS
+class CCalenTodoNoteForm;
+class CCalenTodoContainer;
+
+// CLASS DECLARATION
+
+/**
+* CCalenTodoView view class.
+* Derived from CCalenView.
+*/
+NONSHARABLE_CLASS( CCalenTodoView ) : public CCalenNativeView
+ {
+ public: // Constructors and destructor
+ /**
+ * Two-phased constructor.
+ **/
+ IMPORT_C static CCalenTodoView* NewL( MCalenServices& aServices );
+
+ /**
+ * Destructor.
+ **/
+ virtual ~CCalenTodoView();
+
+ private:
+ /**
+ * Symbian OS default constructor.
+ **/
+ void ConstructL();
+
+ /**
+ * C++ constructor.
+ */
+ CCalenTodoView( MCalenServices& aServices );
+
+ public: // New functions
+ /**
+ * Handling command "Delete"
+ * @param aCloseForm Close flag of note form
+ * @param aNoteForm Note form pointer
+ * @return ETrue : Delete note
+ * EFalse : Not delete note
+ **/
+ void OnCmdDeleteEntryL();
+
+ /**
+ * This function is called when Locale or Today was changed.
+ * @param aReason Notify reson (EChangesLocale,
+ * EChangesMidnightCrossover
+ */
+ void OnLocaleChangedL( TInt aReason );
+
+ /**
+ * Return number of items.
+ * @return A number of items
+ **/
+ TInt ItemCount();
+
+ /**
+ * Check cross out of current item.
+ * @return ETrue : cross out
+ * EFalse : not cross out
+ **/
+ TBool CurrentItemIsCrossOutL();
+
+ /**
+ * Save the index of current item.
+ **/
+ void SaveCurrentItemIndexL();
+
+ /**
+ * Return pointer of the container object.
+ * @return Container pointer
+ **/
+ CCalenTodoContainer* Container();
+
+ /**
+ * Update CBA buttons depending if view is empty or not.
+ **/
+ void UpdateCBAButtonsL();
+
+ public:
+ /**
+ * From CAknView, command handling for each view
+ * @param aCommand Command id
+ **/
+ void HandleCommandL(TInt aCommand);
+
+ public: // From CCalenView
+ virtual TNextPopulationStep ActiveStepL();
+ virtual void CancelPopulation();
+ virtual TCyclePosition CyclePosition() const;
+ virtual const TDesC& LocalisedViewNameL( CCalenView::TViewName aViewName );
+ virtual CGulIcon* CCalenTodoView::ViewIconL() const;
+
+ void CleanupInstancesL();
+
+ protected: // From CCalenNativeView
+ /**
+ * Clears view specific data
+ */
+ virtual void ClearViewSpecificDataL();
+
+ /**
+ * Notify marked entry deleted
+ */
+ void NotifyMarkedEntryDeletedL();
+
+ void NotifyMarkedEntryCompletedL();
+
+
+ protected: // New functions
+ /**
+ * Second phase DoActivateL.
+ * Called when List View becomes active.
+ **/
+ void DoActivateImplL( const TVwsViewId& aPrevViewId,
+ TUid aCustomMessageId,
+ const TDesC8& aCustomMessage );
+ /**
+ * Second phase DoDeactivate.
+ * Called when List View becomes inactive.
+ **/
+ void DoDeactivateImpl();
+
+ /**
+ * Delete marked notes.
+ * @param aSelectionIndex Items which are currently selected.
+ **/
+ void DeleteMarkedNotesL();
+
+ void CreateMultiplecontextForMarkedItemsL(TInt aCommand);
+
+ /**
+ * Deletes the marked notes.
+ * @return TRUE if not yet finished.
+ **/
+ TInt DeleteMarkedNotesCallBackL();
+
+ /**
+ * This function is callback function to delete one marked item.
+ * @return TRUE if not yet finished.
+ **/
+ TInt DoDeleteMarkedNotesCallBackL();
+
+ /**
+ * Save new current postion of item after deleting marked items.
+ **/
+ void FindFocusAfterDeletionL(const CListBoxView::CSelectionIndexArray& aSelectedItems);
+
+ public: // From CCalenView
+ /**
+ * Redraw status pane when Form is closed
+ **/
+ void RedrawStatusPaneL();
+
+ /**
+ * From CCalenView Creates CCalenContainer
+ **/
+ CCalenContainer* CreateContainerImplL();
+
+ private:
+ /**
+ * From MEikMenuObserver, This function called to initialize manu pane.
+ * @param aResourceId resource id
+ * @param aMenuPane CEikMenuPane pointer
+ **/
+ void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+
+ private:
+ // From CAknView
+ TUid Id() const;
+
+ /**
+ * Returns ETrue if the vsd is null.
+ */
+ TBool IsViewSpecificDataNullL();
+
+ /**
+ * CCalenTodoView::ShowMarkedTodosDeleteConfirmationQueryL( TInt aCount )
+ * Special delete query case for todos: Query for marked todos deletion
+ **/
+ TInt ShowMarkedTodosDeleteConfirmationQueryL( TInt aCount );
+
+ /**
+ * Enable the functionlity of copying entries to one or more calendars.
+ **/
+
+ void CopyToCalendarsL();
+
+ private:
+ /**
+ * Static callback function
+ */
+ static TInt NotificationCallback( TAny* aCommandStruct );
+
+ /**
+ * Leaving implementation of the callback function
+ */
+ void DoNotificationCallbackL();
+
+ /**
+ * Set Multiple contexts
+ */
+ void SetMultipleContexts();
+
+
+ TBool CheckMarkedItemCompletedL();
+ public:
+ /**
+ * Set marked todo items
+ */
+ void SetMarkedToDoItems(CListBoxView::CSelectionIndexArray* aMarkedTodoItems);
+
+ /**
+ * Get marked todo itemss
+ */
+ CListBoxView::CSelectionIndexArray* GetMarkedToDoItems();
+
+ /**
+ * Clear marked todo items
+ */
+ void ClearMarkedToDoItems();
+
+ private:
+ RPointerArray<CCalInstance> iMarkedInstances;
+
+ TInt iCountOfSelectedItems;
+ //TInt iDeletedCount;
+ TInt iItemIndexAfterDeletion;
+ CIdle* iIdle;
+ CAknWaitDialog* iWaitDialog;
+ CAsyncCallBack* iCmdCallback;
+
+ enum TPopulationStep
+ {
+ ENothingDone,
+ ERequestedInstanceView,
+ EAddToStackNext,
+ EPopulationDone
+ };
+
+ TPopulationStep iPopulationStep;
+
+ // view specific data
+ TInt iHighlightedRowNumber; // The row number highlighted.
+ TInt iFirstEntryOnScreenIndex; // The offset of the topmost item on screen to the first entry.
+ CListBoxView::CSelectionIndexArray* iMarkedTodoItems;
+ };
+
+#endif // TODOVIEW_H
+
+
+// End of File