calendarui/views/inc/calendayview.h
changeset 0 f979ecb2b13e
child 11 0f07cd1b5772
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/inc/calendayview.h	Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,173 @@
+/*
+* 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:   Declares view class of View architecture for Day view.
+ *
+*/
+
+
+
+#ifndef CALENDAYVIEW_H
+#define CALENDAYVIEW_H
+
+//  INCLUDES
+#include "calennativeview.h"
+
+// FORWARD DECLARATIONS
+class CAknNavigationDecorator;
+
+//  CLASS DEFINITIONS
+
+/**
+ *  Declares view for Day view
+ */
+NONSHARABLE_CLASS( CCalenDayView ) : public CCalenNativeView
+    {
+public: // Constructors and destructor
+    /**
+     * Two-phased constructor.
+     */
+    IMPORT_C static CCalenDayView* NewL( MCalenServices& aServices );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CCalenDayView();
+
+public:  // New function
+    /**
+     * Set a date text to StatusPane
+     * @param aTime Set a time
+     */
+    void SetStatusPaneFromActiveContextL();
+
+    /**
+     * Update CBA buttons depending on if we have items or not in view
+     * Callend from Day Container as well as DoActivateViewImpl.
+     * 
+     */
+    void UpdateCbaL();
+
+public:  // From CCalenView
+    virtual TNextPopulationStep ActiveStepL();
+    virtual void CancelPopulation();
+    virtual TCyclePosition CyclePosition() const;
+    virtual const TDesC& LocalisedViewNameL( CCalenView::TViewName aViewName );
+    virtual CGulIcon* CCalenDayView::ViewIconL() const;
+
+protected:  // From CCalenNativeView
+    /**
+     * Clears view specific data
+     */
+    virtual void ClearViewSpecificDataL();
+    
+    /**
+     * Update date form context when entry is saved
+     */
+    void UpdateDateFromContextL();
+
+private: // Constructors
+    /**
+     * C++ constructor.
+     */
+    CCalenDayView( MCalenServices& aServices );
+
+private:
+    /**
+     * By default Symbian OS constructor is private.
+     */
+    void ConstructL();
+
+    /**
+     * From CCalenView Second phase DoActivateL
+     */
+    void DoActivateImplL(	const TVwsViewId& aPrevViewId,
+                            TUid aCustomMessageId,
+                            const TDesC8& aCustomMessage );
+
+    /**
+     * From CCalenView Second phase DoDeactivate
+     */
+    void DoDeactivateImpl();
+
+    /**
+     * From CCalenView. Called when locale was changed and
+     *                 time was crossed over
+     */
+    void OnLocaleChangedL(TInt aReason);
+
+    /**
+     * From CCalenView Creates container control for DayView
+     */
+    CCalenContainer* CreateContainerImplL();
+
+    /**
+     * From CCalenView Redraw status pane when Form is closed
+     */
+    void RedrawStatusPaneL();
+    
+    /**
+     * From CCalenView. Normal command handling method.
+     * needed for MSK.
+     */
+    void HandleCommandL(TInt aCommand);
+    
+    TUid Id() const;
+	
+	/**
+     * Enable the copy functionality for the entries 
+	  *.to single aur multiple calendars.    
+     */
+    
+    void CopyToCalendarsL();
+    
+private:  // From MEikMenuObserver
+    /**
+     * From MEikMenuObserver Changes MenuPane dynamically
+     */
+    void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+
+private: 
+
+    /**
+     * Returns ETrue if the vsd is null.
+     */
+    TBool IsViewSpecificDataNullL();
+    
+private:   // Data
+
+    TBool iShowBackButtonOnCba; // BACK cba button test variable
+    TVwsViewId iPreviousViewId;   // view id that the day view is switched from
+
+private: 
+    enum TPopulationStep
+        {
+        ENothingDone,        
+        ERequestedInstanceView,
+        ECreateSlotTableNext,
+        ESizedChanged,
+        ECreateListBoxDataNext,
+        EPopulationDone
+        };
+    TPopulationStep iPopulationStep;
+
+    // View specific data, day container gets references to all of these.
+    TTime iDate;                    // Date of current focus.
+    TInt iHighlightedRowNumber;     // The row number highlighted.
+    TInt iFirstEntryOnScreenIndex;  // The offset of the topmost item on screen to the first entry.
+    TInt iEventViewCommandHandled;
+    };
+
+#endif  // CALENDAYVIEW_H
+
+// End of File