messagingappbase/mce/inc/MceDeliveryReportView.h
changeset 0 72b543305e3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/mce/inc/MceDeliveryReportView.h	Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,207 @@
+/*
+* 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:  
+*     Messaging Centre application "Delivery Reports" view class
+*     implementation.
+*
+*/
+
+
+
+#ifndef     __Mce_CMceDeliveryReportView_H__
+#define     __Mce_CMceDeliveryReportView_H__
+
+//  INCLUDES
+#include <coemain.h>
+#include <eikfrlb.h>
+#include <eikmenub.h>
+#include <aknview.h>
+#include <e32std.h>
+
+#include <msvapi.h>
+
+// CONSTANTS
+
+_LIT( KHelpContext, "MCE_HLP_DELIVERY_REPORTS" );
+
+// FORWARD DECLARATIONS
+class CMceUi;
+class CEikMenuBar;
+class CMceSessionHolder;
+
+
+class CMceDeliveryReportControlContainer;
+
+// CLASS DECLARATION
+
+/**
+ * Mce application "Delivery Report" view class implementation.
+ */
+class   CMceDeliveryReportView :
+        public CAknView,
+        public MEikListBoxObserver,
+        public MCoeForegroundObserver
+        
+    {
+    public:  // interface
+        /**
+         * Standard creation function. Creates and returns a new object of this
+         * class.
+         *
+         * @return pointer to CMceDeliveryReportView instance.
+         */
+        static CMceDeliveryReportView* NewL( CMceSessionHolder& aSessionHolder );
+        /**
+         *  Destructor.
+         */
+        ~CMceDeliveryReportView();
+
+        /**
+         * Returns the Mce Application UI object.
+         *
+         * @return Pointer to Application UI
+         */
+        CMceUi* MceAppUi();
+
+        /**
+         * HandleClientRectChange. Called by the framework the view rectangle
+         * changes
+         */
+        void HandleClientRectChange();
+        
+    public:  // from CAknView
+        /**
+         * Framework calls to init menu items.
+         *
+         * @param aResourceId   resource id
+         * @param aMenuPane     menu pane
+         */
+        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+
+    protected: // from MEikListBoxObserver
+        /**
+         * Handles list boxes key events.
+         *
+         * @param aListBox   listbox. Not used.
+         * @param aEventType event type
+         *                   This event type is specified by
+         *                   MEikListBoxObserver class.
+         */
+        void HandleListBoxEventL(CEikListBox* aListBox,
+                                 TListBoxEvent aEventType);
+
+    private:  // from CAknView
+        /**
+         * Returns the ID of the view.
+         *
+         * @return id of this view.
+         */
+        TUid Id() const;
+
+        /**
+         * Called by the framework when this view is activated.
+         *
+         * @param aPrevViewId      This is ID for previous view.
+         * @param aCustomMessageId ID of the custom message. Not used.
+         * @param aCustomMessage   custom message. Not used.
+         */
+        void DoActivateL(const TVwsViewId& aPrevViewId,
+                         TUid aCustomMessageId,
+                         const TDesC8& aCustomMessage);
+        /**
+         * Called by the framework when this view is deactivated.
+         */
+        void DoDeactivate();
+
+
+    public: // from MEikCommandObserver
+        /**
+         * HandleCommandL. Handles the view specific commands.
+         *
+         * @param aCommandId Command's id
+         */
+        void HandleCommandL(TInt aCommand);
+
+    public: // MCoeForegroundObserver
+
+        /**
+         *  It is called whenever observer has gained foreground
+         */
+        void HandleGainingForeground();
+
+        /**
+         *  It is called whenever observer has lost foreground
+         */
+        void HandleLosingForeground();
+
+    private:  // operations
+        /**
+         * C++ constructor
+         *
+         */
+        CMceDeliveryReportView::CMceDeliveryReportView( CMceSessionHolder& aSessionHolder );
+        /**
+         * Constructor, second phase.
+         */
+        void ConstructL();
+
+    public:
+        /**
+         *  Creates a pop up menubar of aResourceId. Runs DoLaunchPopupL
+         *  inside a TRAP.
+         *
+         *  @param aResourceId Resource ID.
+         */
+        void LaunchPopupMenuL( TInt aResourceId );
+
+        /**
+         * Removes the popup from the view stack and deletes it.
+         */
+        void ClosePopup();
+
+        /**
+         * From MEikCommandObserver
+         */
+        virtual void ProcessCommandL( TInt aCommand );
+
+        /**
+         * Set the middle soft key.
+         *
+         */
+        void SetMSKButtonL();
+
+    private:  // functions
+        /**
+         * Launch the popup.
+         *
+         * @param aResourceId Resource ID.
+         */
+        void DoLaunchPopupL( TInt aResourceId );
+
+    private:  // data
+        /// Own: This view's control container.
+        CMceDeliveryReportControlContainer* iContainer;
+
+        /// Own: popup menu
+        CEikMenuBar* iPopup;
+
+        
+        CMceSessionHolder& iSessionHolder;
+    };
+
+
+#endif  // __Mce_CMceDeliveryReportView_H__
+
+
+// End of File