profilesservices/MediaFileList/Inc/mediafilewaitnote.h
branchRCL_3
changeset 54 7e0eff37aedb
parent 0 8c5d936e5675
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/MediaFileList/Inc/mediafilewaitnote.h	Wed Sep 01 12:20:44 2010 +0100
@@ -0,0 +1,206 @@
+/*
+* Copyright (c) 2007 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:   Waiting note for query
+*
+*/
+
+
+
+#ifndef MEDIAFILEWAITNOTE_H
+#define MEDIAFILEWAITNOTE_H
+
+
+//  INCLUDES
+#include "mediafiledialogutils.h"
+
+#include <e32base.h>
+#include <AknWaitDialog.h>
+#include <AknProgressDialog.h>
+#include <AknsItemID.h>
+
+
+// CLASS DECLARATIONS
+
+
+/**
+* MMediaFileWaitNoteObserver
+* 
+* Observer interface function for observing wait note.
+*/
+NONSHARABLE_CLASS (MMediaFileWaitNoteObserver)
+    {
+    public:
+        /**
+        * Callback method
+        * Get's called when a dialog is dismissed.
+        */
+        virtual void HandleWaitNoteL( TInt aButtonId ) = 0;
+    };
+
+
+
+
+/**
+* MMediaFileWaitNote
+*  
+* MMediaFileWaitNote shows progress dialog.
+*/
+NONSHARABLE_CLASS (CMediaFileWaitNote) : public CBase,
+                                         public MProgressDialogCallback
+    {
+
+    public:// Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CMediaFileWaitNote* NewL( MMediaFileWaitNoteObserver* aObserver );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CMediaFileWaitNote();
+    
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CMediaFileWaitNote( MMediaFileWaitNoteObserver* aObserver );
+	
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL();
+        
+		/**
+		* From MProgressDialogCallback.
+        * Called by the framework when dialog is dismissed.
+        * @param aButtonId
+        * @return None
+        */
+        void DialogDismissedL( TInt aButtonId );
+
+    public:        
+        
+        /**
+        * Launches progress dialog.
+        * @return None.
+        */
+        void LaunchL( const TDesC& aLabel );
+
+        
+        /**
+        * Closes progress dialog.
+        * @param None
+        * @return None
+        */
+        void CancelProgressDialogL();
+        
+        /**
+        * Set dialog label text.
+        * @param aText.
+        * @return None.
+        */
+        void SetTextL( const TDesC& aText );
+        
+        /**
+        * Set image data.
+        * @param aId.
+        * @param aFileName.
+        * @param aFileBitmapId.
+        * @param aFileMaskId.
+        * @return None.
+        */
+        void SetImageL( TAknsItemID aId, const TDesC& aImageFile,
+                        TInt aBitmapId, TInt aBitmapMaskId );
+
+        /**
+        * Set progress bar state.
+        * @param aValue.
+        * @return None
+        */
+        void SetProgress( TInt aValue );
+
+        /**
+        * Set progress bar state.
+        * @param aFinalValue.
+        * @return None
+        */
+        void SetFinalProgress( TInt aFinalValue );
+
+        /**
+        * Gets CAknNoteControl from CAknProgressDialog.
+        * @param None
+        * @return CAknNoteControl.
+        */
+		CAknNoteControl* NoteControl();
+
+       /**
+        * Cancels animation.
+        * @param None.
+        * @return None.
+        */
+		void CancelAnimation();
+        
+		/**
+        * Starts animation.
+        * @param None
+        * @return None.
+        */
+		void StartAnimationL();
+		
+		/**
+        * Hides cancel button.
+        * @param None
+        * @return None.
+        */
+		void HideButtonL();
+
+
+    private:
+    
+        // progress dialog
+        CAknProgressDialog* iProgressDialog;
+
+        // progress dialog info
+        CEikProgressInfo* iProgressInfo;
+
+		// last label text
+		TBuf<KBufSize128> iLastText;
+
+		// animation state
+		TBool iAnimation;
+
+		// dialog observer
+		MMediaFileWaitNoteObserver*	iObserver;
+			    
+		TFileName iImageFile;
+		TAknsItemID iImageId;
+	    TInt iBitmapId;
+	    TInt iBitmapMaskId;
+	    
+	    // is observer call needed
+	    TBool iObserverCallNeeded;
+        
+	    // has dialog's DialogDismissedL called (ie has it been closed)
+	    TBool iDialogDismissed;
+    };
+
+
+
+
+#endif      // MEDIAFILEWAITNOTE_H
+            
+// End of File