Example Application Guide

 

geoprofilesview.h

00001 /*
00002 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
00003 * All rights reserved.
00004 * This component and the accompanying materials are made available
00005 * under the terms of the License "Eclipse Public License v1.0"
00006 * which accompanies this distribution, and is available
00007 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
00008 *
00009 * Initial Contributors:
00010 * Nokia Corporation - initial contribution.
00011 *
00012 * Contributors:
00013 *
00014 * Description:  View class for Geo Profiles Application
00015 *
00016 */
00017 
00018 
00019 #ifndef C_GEOPROFILESAPPVIEW_H_
00020 #define C_GEOPROFILESAPPVIEW_H_
00021 
00022 //  SYSTEM INCLUDES
00023 #include <aknview.h>
00024 #include <aknviewappui.h>
00025 
00026 // USER INCLUDES
00027 #include "geoprofilesengine.h"
00028 
00029 // FORWARD DECLARATIONS
00030 class CGeoProfilesContainer;
00031 class CGeoProfilesLBModel;
00032 class CGeoProfile;
00033 
00034 /**
00035  *  GeoProfiles Application's View class.
00036  *
00037  *  @since S60 v5.0
00038  */
00039 class CGeoProfilesView : public CAknView,
00040                          public MGeoProfilesEngineObserver
00041     {
00042 public:
00043         /**
00044          * Static Two phase constructor
00045          *
00046          * @return CGeoProfilesView*, Pointer to the newly created object.
00047          */                                              
00048     static CGeoProfilesView* NewL();
00049     
00050         /**
00051          * Static Two phase constructor.
00052          * Leaves the created instance on the Cleanup Stack.
00053          *
00054          * @return CGeoProfilesView*, Pointer to the newly created object.
00055          */                                                
00056     static CGeoProfilesView* NewLC();
00057     
00058     /**
00059      * C++ Destructor.
00060      */
00061     virtual ~CGeoProfilesView();
00062 
00063         /**
00064          * Handles the event generated when the Screen size is changed when
00065          * this View is being displayed.
00066          */
00067         void ScreenSizeChanged();
00068         
00069         /**
00070          * Handles the Container specific commands
00071          */
00072         void ContainerCommandL( TInt aCommand );
00073             
00074 public: // Inherited from Base classes
00075     
00076         /**
00077          * Inherited from CAknView
00078          */     
00079     void DoActivateL( const TVwsViewId& aPrevViewId,
00080                             TUid        aCustomMessageId,
00081                       const TDesC8&     aCustomMessage );
00082 
00083         /**
00084          * Inherited from CAknView
00085          */ 
00086     void DoDeactivate();
00087 
00088         /**
00089          * Inherited from CAknView
00090          */ 
00091     TUid Id() const;
00092 
00093         /**
00094          * Inherited from CAknView
00095          */ 
00096     void HandleCommandL(TInt aCommand);
00097    
00098         /**
00099          * Inherited from CAknView
00100          */    
00101     void DynInitMenuPaneL( TInt                         aResourceId, 
00102                                            CEikMenuPane*        aMenuPane );
00103     
00104         /**
00105          * Inherited from MGeoProfilesEngineObserver
00106          */                                                                                        
00107     void ProfileStatusChangedL();
00108                                                                    
00109 private:
00110         /**
00111          * Overloaded C++ Contructor.
00112          */
00113     CGeoProfilesView();
00114 
00115         /**
00116          * Second phase of the two phase constructor.
00117          */
00118     void ConstructL();
00119     
00120         /**
00121          * Sets the Command button array based on the number of elements
00122          */    
00123     void SetCbaL();
00124         
00125 private:
00126         /**
00127          * GeoProfiles Container.
00128          * Owns.
00129          */
00130     CGeoProfilesContainer*      iContainer;
00131     
00132     /**
00133      * List box model
00134      */
00135     CGeoProfilesLBModel*        iLBModel;
00136     
00137     /**
00138      *
00139      */
00140     RPointerArray<CGeoProfile>  iGeoProfiles;
00141     
00142     /**
00143      *
00144      */
00145     CGeoProfilesEngine*         iEngine;  
00146     };          
00147 
00148 #endif // C_GEOPROFILESAPPVIEW_H_
00149 

© Nokia 2009

Back to top