S60 3rd Edition SDK for Symbian OS
Example Applications Guide

LandmarksInfoView.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : LandmarksInfoView.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_INFOVIEW_H__
00017 #define __LANDMARKS_INFOVIEW_H__
00018 
00019 // INCLUDES
00020 #include <aknview.h>
00021 #include "LandmarksOperationObserver.h"
00022 
00023 // FORWARD DECLARATIONS
00024 class CLandmarksApplicationEngine;
00025 class CAknNavigationDecorator;
00026 class CLandmarksInfoContainer;
00027 class CLandmarksEngine;
00028 
00029 // CLASS DECLARATION
00030 
00031 /**
00032 *  CLandmarksInfoView is the view displaying landmark's details
00033 */
00034 class CLandmarksInfoView: public CAknView
00035     {
00036     public: // Constructors and destructor
00037 
00038         /**
00039         * Two-phased constructor.
00040         *
00041         * @param aNaviDecorator the navigation decorator displaying the tabs 
00042         * @param aEngine the engine used for fetching category data.
00043         */
00044         static CLandmarksInfoView* NewLC(
00045             CAknNavigationDecorator* aNaviDecorator,
00046             CLandmarksApplicationEngine& aEngine);
00047 
00048         /**
00049         * Destructor.
00050         */
00051         ~CLandmarksInfoView();
00052 
00053     public: // from CAknView
00054 
00055         /**
00056         * Id Identity of this view to the system.
00057         *
00058         * @return the ID of this view
00059         */
00060         TUid Id() const;
00061 
00062         /** 
00063         * HandleCommandL handles user menu selections.
00064         *
00065         * @param aCommand the enumerated code for the option selected
00066         */
00067         void HandleCommandL(TInt aCommand);
00068 
00069         /**
00070         * DoActivateL is responsible for activating this view.
00071         *
00072         * @param aPrevViewId The id of the previous view
00073         * @param aCustomMessageId message identifier
00074         * @param aCustomMessage custom message provided when the view is changed
00075         */
00076         void DoActivateL(
00077             const TVwsViewId& aPrevViewId,
00078             TUid aCustomMessageId,
00079             const TDesC8& aCustomMessage);
00080 
00081         /**
00082         * DoDeactivate is responsible for deactivating this view.
00083         */
00084         void DoDeactivate();
00085 
00086     private:
00087 
00088         /**
00089         * C++ constructor.
00090         *        
00091         * @param aNaviDecorator the navigation decorator displaying the tabs 
00092         * @param aEngine the engine used for fetching categories data.
00093         */
00094         CLandmarksInfoView(
00095             CAknNavigationDecorator* aNaviDecorator, 
00096             CLandmarksApplicationEngine& aEngine);
00097 
00098         /**
00099         * By default Symbian 2nd phase constructor is private.
00100         */
00101         void ConstructL();
00102 
00103         /**
00104         * Launches a landmark edit dialog
00105         */
00106         void EditLandmarkL();
00107 
00108     private: // Data
00109 
00110         //! The container containing the graphical components of the view
00111         CLandmarksInfoContainer* iContainer;
00112 
00113         //! The application engine used for accessing landmark data
00114         CLandmarksApplicationEngine& iEngine;
00115 
00116         //! Ddecorates the navi pane (with navigation arrows etc)
00117         CAknNavigationDecorator* iNaviDecorator;
00118         
00119         //! Application name
00120         HBufC* iAppName;
00121     };
00122 
00123 
00124 #endif // __LANDMARKS_INFOVIEW_H__
00125 
00126 // End of File
00127 

© Nokia 2006

Back to top