phonebookui/Phonebook/View/inc/CPbkSwapContextPaneIcon.h
changeset 0 e686773b3f54
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook/View/inc/CPbkSwapContextPaneIcon.h	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,104 @@
+/*
+* 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: 
+*     Class which loads Phonebook's or empty icon into context pane.
+*
+*/
+
+
+#ifndef __CPbkSwapContextPaneIcon_H__
+#define __CPbkSwapContextPaneIcon_H__
+
+
+//  INCLUDES
+#include <e32base.h>
+
+//  FORWARD DECLARATIONS
+class CEikonEnv;
+class CEikImage;
+class CAknContextPane;
+class CFbsBitmap;
+
+
+// CLASS DECLARATION
+
+/**
+ * Class which loads Phonebook's or empty icon into context pane.
+ * Class swap those icons, but don't restore previous icon.
+ * Class start swappipng to phonebook's icon 
+ *
+*/
+NONSHARABLE_CLASS(CPbkSwapContextPaneIcon) :
+        public CBase
+    {
+    public:
+        enum TSwapState
+            {
+            EEmptyIcon,
+            EPhonebookIcon    
+            };
+    
+    public:  // Constructors and destructor
+        /**
+         * Creates an instance of this class and puts Phonebook's icon into
+         * current application's context pane.
+         *
+         * @param aEikonEnv EIKON environment where to fetch the status pane.
+         */
+        static CPbkSwapContextPaneIcon* NewL(CEikonEnv& aEikonEnv);
+
+        /**
+         * Destructor. Restores the previous icon into context pane.
+         */
+        ~CPbkSwapContextPaneIcon();
+
+    private:
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        * @param aEikonEnv
+        */
+        void ConstructL(CEikonEnv& aEikonEnv);
+
+    public: //implementation        
+        /**
+         * Show loaded or previous icon
+         * @param aState TSwapState
+         */         
+        void ShowContextPaneIcon(const TSwapState aState);
+
+    private: // Implementation
+        CPbkSwapContextPaneIcon();
+        /**
+         * Set phonebook's context pane icon
+         */
+        void SetPhonebookContextPaneIconL();
+
+        /**
+         * Load empty context pane icon
+         */
+        void LoadEmptyContextPaneIconL();
+
+    private:  // data
+        //Own: Own
+        CEikImage* iContextPaneIcon;
+        /// Own: TSwapState
+        TSwapState iState;
+        /// Ref: current application context pane
+        CAknContextPane* iContextPane;
+        
+    };
+
+#endif // __CPbkSwapContextPaneIcon_H__
+
+// End of File