clmkeditordlg.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : CLmkEditorDlg.h
00004 *  Part of     : Landmarks UI / LmkCommonUI.dll
00005 *  Interface   : Public
00006 *  Description : This class provides functionality for viewing and editing 
00007 *                landmark data.
00008 *  Version     : 
00009 *
00010 *  Copyright (c) 2004 Nokia Corporation.
00011 *  This material, including documentation and any related
00012 *  computer programs, is protected by copyright controlled by
00013 *  Nokia Corporation. All rights are reserved. Copying,
00014 *  including reproducing, storing, adapting or translating, any
00015 *  or all of this material requires the prior written consent of
00016 *  Nokia Corporation. This material also contains confidential
00017 *  information which may not be disclosed to others without the
00018 *  prior written consent of Nokia Corporation.
00019 * ==============================================================================
00020 */
00021 
00022 #ifndef CLMKEDITORDLG_H
00023 #define CLMKEDITORDLG_H
00024 
00025 //  INCLUDES
00026 #include "epos_cposlandmark.h"
00027 #include <epos_landmarks.h> // Lm typedefs, constants etc.
00028 #include <e32base.h>        // CBase
00029 
00030 // FORWARD DECLARATIONS
00031 class CPosLandmarkDatabase;
00032 class CPosLandmark;
00033 class CLmkEditorImpl;
00034 class MObjectProvider;
00035 class TCoeHelpContext;
00036 class CLmkSender;
00037 
00038 // TYPE DEFINITIONS
00039 typedef TUint32 TLmkEditorAttributes;
00040 typedef TInt TLmkEditorMode;
00041 
00042 // CLASS DECLARATION
00050 class CLmkEditorDlg : public CBase
00051     {
00052     public: // Types
00053                 
00061         enum _TLmkEditorAttributes
00062             {
00064             ELmkOnlyName            = 0x0000,   
00066             ELmkCategory            = 0x0001,
00068             ELmkStreet              = 0x0002,
00070             ELmkCity                = 0x0004,
00072             ELmkStateProvince       = 0x0008,
00074             ELmkCountry             = 0x0010,
00076             ELmkPostalZIP           = 0x0020,
00078             ELmkLatitude            = 0x0040,
00080             ELmkLongitude           = 0x0080,
00084             ELmkPositionAccuracy    = 0x0100,
00087             ELmkAltitude            = 0x0200,
00090             ELmkAltitudeAccuracy    = 0x0400,
00092             ELmkAll                 = 0xFFFF,   
00094             ELmkDescription         = 0x0800,
00096             ELmkPhoneNumber         = 0x1000,
00098             ELmkWebAddress          = 0x2000         
00099             };
00100         
00108             enum _TLmkEditorMode
00109             {
00111             ELmkEditor, 
00113             ELmkViewer  // only viewing allowed
00114             };
00115 
00122         class TLmkEditorParams
00123             {
00124             public:  // Constructors and destructor
00129                 IMPORT_C TLmkEditorParams();
00130 
00131                 // Compiler-generated destructor is ok for this class;
00132 
00133             private:  // Unimplemented functions
00134                 // Unimplemented copy constructor
00135                 TLmkEditorParams( const TLmkEditorParams& );
00136 
00137                 // Unimplemented assignment operator
00138                 TLmkEditorParams& operator = ( const TLmkEditorParams& );
00139 
00140             public:  // Input parameters
00141 
00147                 TLmkEditorAttributes iAttributes;
00148 
00153                 TLmkEditorMode iEditorMode;
00154             };
00155 
00156     public:  // Constructors and destructor
00170         IMPORT_C static CLmkEditorDlg* NewL( CPosLandmarkDatabase& aDb,
00171                                              TPosLmItemId aLandmarkId,
00172                                              TLmkEditorParams& aParams );
00173 
00189         IMPORT_C static CLmkEditorDlg* NewL( CPosLandmarkDatabase& aDb,
00190                                              CPosLandmark& aLandmark,
00191                                              TLmkEditorParams& aParams );
00192 
00196         IMPORT_C ~CLmkEditorDlg();
00197 
00198     public: // New functions
00203         IMPORT_C void SetMopParent( MObjectProvider* aParent );
00204 
00212         IMPORT_C void SetHelpContext( TCoeHelpContext aContext );
00213 
00239         IMPORT_C TInt ExecuteLD();
00246         IMPORT_C void DisableMapAndNavigationMenuOptions();
00247 
00248     private:
00253         CLmkEditorDlg();
00254         
00262         void ConstructL( CPosLandmarkDatabase& aDb,
00263                          TLmkEditorParams& aParams,           
00264                          TPosLmItemId aLandmarkId,
00265                          CPosLandmark* aLandmark );
00266 
00267     private:    // Data
00269         CLmkEditorImpl* iEditorImpl;
00270 
00272         TBool* iDestroyedPtr;
00273 
00275         CLmkSender* iSender;
00276     };
00277 
00278 // CLMKEDITORDLG_H
00279 #endif
00280 
00281 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top