--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omads/omadsappui/AspSyncUtil/inc/AspProgressDialog.h Mon Nov 23 14:46:41 2009 +0200
@@ -0,0 +1,261 @@
+/*
+* Copyright (c) 2005 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: sync progress indication
+*
+*/
+
+
+#ifndef ASPPROGRESSDIALOG_H
+#define ASPPROGRESSDIALOG_H
+
+
+// INCLUDES
+#include <e32base.h>
+#include <AknWaitDialog.h>
+#include <AknProgressDialog.h>
+
+#include "AspDefines.h"
+#include "AspResHandler.h"
+
+
+// CLASS DECLARATIONS
+
+
+/**
+* MAspProgressDialogObserver
+*
+* Observer interface function for observing progress dialog.
+*/
+NONSHARABLE_CLASS (MAspProgressDialogObserver)
+ {
+ public:
+ /**
+ * Callback method
+ * Get's called when a dialog is dismissed.
+ */
+ virtual void HandleDialogEventL(TInt aButtonId) = 0;
+ };
+
+
+
+/**
+* CAspProgressDialog2
+*
+* CAspProgressDialog2 is needed to modify CAknProgressDialog::OkToExitL.
+*/
+NONSHARABLE_CLASS (CAspProgressDialog2) : public CAknProgressDialog
+ {
+ public:
+ /**
+ * C++ default constructor.
+ */
+ CAspProgressDialog2(CEikDialog** aSelfPtr, TInt aApplicationId);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CAspProgressDialog2();
+
+ /**
+ * From the base class.
+ * Called by framework before exiting the dialog.
+ * @param Button id.
+ * @return ETrue to exit\ EFalse to not to exit.
+ */
+ TBool OkToExitL(TInt aButtonId);
+
+ /**
+ * From the base class.
+ * Called by framework for key event handling.
+ * @param aKeyEvent.
+ * @param TEventCode.
+ * @return Return code.
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+
+ private:
+ // has dialog received close event (eg. end key)
+ TBool iCloseEventReceived;
+
+ // has cancel key been pressed
+ TBool iCancelEventReceived;
+
+ // has sync been closed
+ TBool iClosed;
+
+ // has sync been canceled
+ TBool iCanceled;
+
+ // id of the calling application
+ TInt iApplicationId;
+ };
+
+
+
+/**
+* CAspProgressDialog
+*
+* CAspProgressDialog show sync progress dialog.
+*/
+NONSHARABLE_CLASS (CAspProgressDialog) : public CBase, public MProgressDialogCallback
+ {
+
+ public:// Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CAspProgressDialog* NewL(MAspProgressDialogObserver* aObserver);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CAspProgressDialog();
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CAspProgressDialog(MAspProgressDialogObserver* aObserverPtr);
+
+ /**
+ * 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 with custom bitmap.
+ * @param aLabel.
+ * @param aId.
+ * @param aFileName.
+ * @param aFileBitmapId.
+ * @param aFileMaskId.
+ * @return None.
+ */
+ void LaunchProgressDialogL(const TDesC& aLabel, TAknsItemID aId, const TDesC& aFileName, TInt aFileBitmapId, TInt aFileMaskId);
+
+
+ /**
+ * Closes progress dialog.
+ * @param None
+ * @return None
+ */
+ void CancelProgressDialogL();
+
+ /**
+ * Update dialog label text.
+ * @param aText.
+ * @return None.
+ */
+ void UpdateTextL(const TDesC& aText);
+
+ /**
+ * 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();
+
+ /**
+ * Set application id.
+ * @param aApplicationId
+ * @return None.
+ */
+ void SetApplicationId(TInt aApplicationId);
+
+ /**
+ * Returns progress dialog
+ * @param None
+ * @return CAspProgressDialog2*
+ */
+ CAspProgressDialog2* ProgressDialog();
+
+ private:
+ // id of the calling application
+ TInt iApplicationId;
+
+ // progress dialog
+ CAspProgressDialog2* iProgressDialog;
+
+ // is dialog running
+ TBool iProgressDialogRunning;
+
+ // progress dialog info
+ CEikProgressInfo* iProgressInfo;
+
+ // last label text
+ TBuf<KBufSize> iLastText;
+
+ // animation state
+ TBool iAnimation;
+
+ // resource handler
+ CAspResHandler* iResHandler;
+
+ // dialog observer
+ MAspProgressDialogObserver* iObserver;
+ };
+
+
+
+
+#endif // ASPPROGRESSDIALOG_H
+
+// End of File