locationlandmarksrefappfors60/Inc/LandmarksAppUi.h
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationlandmarksrefappfors60/Inc/LandmarksAppUi.h	Wed Sep 01 12:31:27 2010 +0100
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2004-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:  
+*     See class description below
+*
+*/
+
+
+#ifndef __LANDMARKS_APPUI_H__
+#define __LANDMARKS_APPUI_H__
+
+
+#include "LandmarksOperationObserver.h"
+#include <aknViewAppUi.h>
+#include <AknProgressDialog.h>
+#include <AknTabObserver.h> 
+
+
+class CLandmarksApplicationEngine;
+class CLandmarksCategoriesView;
+class CAknNavigationDecorator;
+class CLandmarksListView;
+class CAknProgressDialog;
+
+class CLandmarksAppUi : 
+    public CAknViewAppUi, 
+    public MLandmarksOperationObserver, 
+    public MAknTabObserver,
+    public MProgressDialogCallback
+    {
+    public:
+        CLandmarksAppUi();
+        void ConstructL();
+        ~CLandmarksAppUi();
+        
+    public: // from CAknViewAppUi
+
+        void HandleCommandL(TInt aCommand);
+
+        TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType);
+        
+        void HandleResourceChangeL( TInt aType );
+
+    public: // from MLandmarksOperationObserver
+
+        /**
+        * NotifyOperationProgressL notifies the progress and status of an
+        * asynchronous operation.
+        *  
+        * @param aOperation the type of operation that is reported.
+        * @param aProgress the progress of the operation.
+        * @param aErrorCode the status of the operation.
+        */
+        void NotifyOperationProgressL(
+            TOperation aOperation, 
+            TInt aProgress, 
+            TInt aErrorCode);
+
+    public: // from MAknTabObserver
+        
+        /** Called by NaviDecorator when tab is changed
+        * @param aIndex new tab seleected
+        */
+        void TabChangedL(TInt aIndex);
+
+    public: // from MProgressDialogCallback
+
+        /**
+        * Called when the dialog has been dismissed.
+        * 
+        * @param aButtonId the button that was pressed to dismiss the dialog.
+        */
+        void DialogDismissedL(TInt aButtonId);
+
+    private:
+
+        /**
+        * Performs the construction phase of this object that is dependent 
+        * that the application engine is initialized.
+        */
+        void PostConstructL();
+
+        /**
+        * Launches a progress dialog displayed when the default landmark 
+        * database is initialized.
+        */
+        void LaunchProgressDialogL();
+
+    private: // Data
+
+        //! decorates the navi pane (with navigation arrows etc)
+        CAknNavigationDecorator* iNaviDecorator;
+
+        //! the application engine
+        CLandmarksApplicationEngine* iEngine;
+
+        /** displays a progress bar when initializing the 
+            default landmark database. */
+        CAknProgressDialog* iProgressDialog;
+
+        /** indicates if exit has been pressed before the 
+            progressDialog is fully deleted */
+        TBool iDelayedExit;
+        
+    };
+
+#endif // __LANDMARKS_APPUI_H__
+