|
S60 3rd Edition SDK for Symbian OS Example Applications Guide |
00001 /* 00002 * ============================================================================== 00003 * Name : LandmarksAppUi.h 00004 * Part of : Landmark Reference Application 00005 * Interface : - 00006 * Description : See class description below 00007 * Version : 1.0 00008 * 00009 * Copyright (c) 2004-2006 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. 00013 * ============================================================================== 00014 */ 00015 00016 #ifndef __LANDMARKS_APPUI_H__ 00017 #define __LANDMARKS_APPUI_H__ 00018 00019 // INCLUDES 00020 #include "LandmarksOperationObserver.h" 00021 #include <aknviewappui.h> 00022 #include <aknprogressdialog.h> 00023 #include <AknTabObserver.h> 00024 00025 // FORWARD DECLARATIONS 00026 class CLandmarksApplicationEngine; 00027 class CLandmarksCategoriesView; 00028 class CAknNavigationDecorator; 00029 class CLandmarksListView; 00030 class CAknProgressDialog; 00031 00032 // CLASS DECLARATION 00033 00034 /** 00035 * An instance of class CLandmarksAppUi is the UserInterface part of the Eikon 00036 * application framework for the Landmarks reference application 00037 */ 00038 class CLandmarksAppUi : 00039 public CAknViewAppUi, 00040 public MLandmarksOperationObserver, 00041 public MAknTabObserver, 00042 public MProgressDialogCallback 00043 { 00044 public: // Constructors and destructor 00045 00046 /** 00047 * C++ default constructor. This needs to be public due to the way 00048 * the framework constructs the AppUi. 00049 */ 00050 CLandmarksAppUi(); 00051 00052 /** 00053 * Symbian 2nd phase constructor. This needs to be public due to the way 00054 * the framework constructs the AppUi. 00055 */ 00056 void ConstructL(); 00057 00058 /** 00059 * Destructor. 00060 */ 00061 ~CLandmarksAppUi(); 00062 00063 public: // from CEikAppUi 00064 00065 /** 00066 * HandleCommandL handles user menu selections. 00067 * 00068 * @param aCommand the enumerated code for the option selected 00069 */ 00070 void HandleCommandL(TInt aCommand); 00071 00072 public: // from CCoeAppUi 00073 00074 /** 00075 * HandleKeyEventL handles key events. 00076 * 00077 * @param aKeyEvent Event to handle. 00078 * @param aType Type of the key event. 00079 * @return Reponse code (EKeyWasConsumed, EKeyWasNotConsumed). 00080 */ 00081 TKeyResponse HandleKeyEventL( 00082 const TKeyEvent& aKeyEvent, 00083 TEventCode aType); 00084 00085 public: // from MLandmarksOperationObserver 00086 00087 /** 00088 * NotifyOperationProgressL notifies the progress and status of an 00089 * asynchronous operation. 00090 * 00091 * @param aOperation the type of operation that is reported. 00092 * @param aProgress the progress of the operation. 00093 * @param aErrorCode the status of the operation. 00094 */ 00095 void NotifyOperationProgressL( 00096 TOperation aOperation, 00097 TInt aProgress, 00098 TInt aErrorCode); 00099 00100 public: // from MAknTabObserver 00101 00102 /** Called by NaviDecorator when tab is changed 00103 * @param aIndex new tab seleected 00104 */ 00105 void TabChangedL(TInt aIndex); 00106 00107 public: // from MProgressDialogCallback 00108 00109 /** 00110 * Called when the dialog has been dismissed. 00111 * 00112 * @param aButtonId the button that was pressed to dismiss the dialog. 00113 */ 00114 void DialogDismissedL(TInt aButtonId); 00115 00116 private: 00117 00118 /** 00119 * Performs the construction phase of this object that is dependent 00120 * that the application engine is initialized. 00121 */ 00122 void PostConstructL(); 00123 00124 /** 00125 * Launches a progress dialog displayed when the default landmark 00126 * database is initialized. 00127 */ 00128 void LaunchProgressDialogL(); 00129 00130 private: // Data 00131 00132 //! decorates the navi pane (with navigation arrows etc) 00133 CAknNavigationDecorator* iNaviDecorator; 00134 00135 //! the application engine 00136 CLandmarksApplicationEngine* iEngine; 00137 00138 /** displays a progress bar when initializing the 00139 default landmark database. */ 00140 CAknProgressDialog* iProgressDialog; 00141 00142 /** indicates if exit has been pressed before the 00143 progressDialog is fully deleted */ 00144 TBool iDelayedExit; 00145 00146 }; 00147 00148 #endif // __LANDMARKS_APPUI_H__ 00149 00150 // End of File 00151
|
© Nokia 2006 |