mediasettings/mpsettbase/inc/MPSettingsBaseView.h
changeset 71 60b4b6493d7b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mediasettings/mpsettbase/inc/MPSettingsBaseView.h	Thu Nov 04 11:16:56 2010 +0200
@@ -0,0 +1,142 @@
+/*
+* 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 the License "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:   Base class for Media Settings views.*
+*/
+
+
+// Version : %version: 2 %
+
+
+
+
+#ifndef MPSETTINGSBASEVIEW_H
+#define MPSETTINGSBASEVIEW_H
+
+//  INCLUDES
+#include    <aknview.h>
+    
+// FORWARD DECLARATIONS
+class CMPSettingsBaseContainer;
+class CAknNavigationDecorator;
+class CMPSettingsAppUi;
+class MMPSettingsNaviPaneController;
+
+// CLASS DECLARATION
+
+/**
+*  Base class for Media Settings views.
+*
+*  @lib MPSettBase.dll
+*  @since 2.0
+*/
+class CMPSettingsBaseView : public CAknView
+    {
+    public:     // New data types
+        enum KMPViewPanicCodes
+            {
+            EMPViewPanicNullPtr = 1
+            };
+
+    public:     // Constructors and destructor
+
+        /**
+        * C++ default constructor
+        */
+        IMPORT_C CMPSettingsBaseView();
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CMPSettingsBaseView();
+
+    public:     // from CAknView
+
+        /**
+        * Handles client rect change.
+        */
+        IMPORT_C void HandleClientRectChange();
+
+    public:     // New
+
+        /**
+        * This function is used to set the current item in the listbox.
+        * @since 2.0
+        * @param aIndex Current item.
+        */
+        IMPORT_C virtual void SetCurrentItem(TInt aIndex);
+
+    protected:  // Functions from base classes
+
+        /**
+        * From CAknView
+        */
+        IMPORT_C void DoActivateL(const TVwsViewId& aPrevViewId,
+                                  TUid aCustomMessageId,
+                                  const TDesC8& aCustomMessage);
+
+        /**
+        * From CAknView
+        */
+        IMPORT_C void DoDeactivate();
+
+        /**
+        * From MEikMenuObserver
+        */
+        IMPORT_C void DynInitMenuPaneL(TInt aResourceId,
+                                       CEikMenuPane* aMenuPane);        
+
+    protected:  // New
+
+        /**
+        * Sets the correct navi pane for the view (eg. tabs, empty,
+        *   string etc.)
+        * @since 2.0
+        */
+        IMPORT_C virtual void SetNaviPaneL();
+
+        /**
+        * Called at the end of DoActivateL.
+        * @since 2.0
+        */
+        IMPORT_C virtual void DynInitContainerL();
+
+        /**
+        * Creates new view specific container class. Pure virtual.
+        * @since 2.0
+        */
+        virtual CMPSettingsBaseContainer* NewContainerL() = 0;
+
+        /** 
+        * Adds given resource text as MSK to CBA.
+        *
+        * @param aResourceId middle softkey label.
+        * @param aCommandId command that should be performed when MSK
+        *        is pressed.
+        * @since S60 v3.2
+        */
+        IMPORT_C virtual void SetMiddleSoftKeyLabelL(
+            const TInt aResourceId,
+            const TInt aCommandId );
+
+    protected:  // Data
+        CMPSettingsBaseContainer* iContainer;
+        CAknNavigationDecorator* iNaviPaneContext;
+        MMPSettingsNaviPaneController* iNaviCntrl;
+
+        TInt iCurrentItem;
+        TInt iTopItemIndex;
+    };
+
+#endif      // MPSETTINGSBASEVIEW_H   
+