00001 /* 00002 * ============================================================================== 00003 * Name : CLmkCategorySelectorDlg.h 00004 * Part of : Landmarks UI / LmkCommonUI.dll 00005 * Interface : Public 00006 * Description : This class provides functionality for selecting either one or 00007 * multiple categories. 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 00023 #ifndef CLMKCATEGORYSELECTORDLG_H 00024 #define CLMKCATEGORYSELECTORDLG_H 00025 00026 // INCLUDES 00027 #include <e32base.h> // CBase 00028 #include <e32std.h> //RArray and RPointerArray 00029 #include <EPos_Landmarks.h> // Lm typedefs, constants etc. 00030 #include <EPos_CPosLandmarkDatabase.h> 00031 // FORWARD DECLARATIONS 00032 //class CPosLandmarkDatabase; 00033 class CLmkDlgSelectorImplBase; 00034 class MObjectProvider; 00035 00036 // For multiple database support 00037 class TLmkItemIdDbCombiInfo; 00038 00039 // CLASS DECLARATION 00040 00049 class CLmkCategorySelectorDlg : public CBase 00050 { 00051 public: // Constructors and destructor 00062 IMPORT_C static CLmkCategorySelectorDlg* NewL(TBool aShowEmptyCategories = EFalse ); 00063 00067 IMPORT_C ~CLmkCategorySelectorDlg(); 00068 00069 public: // New functions 00077 IMPORT_C void SetMopParent( MObjectProvider* aParent ); 00078 00089 IMPORT_C TInt ExecuteLD( TLmkItemIdDbCombiInfo& aSelected ); 00090 00106 IMPORT_C TInt ExecuteLD( RArray<TLmkItemIdDbCombiInfo>& aSelectedItems ); 00107 00108 private: 00113 CLmkCategorySelectorDlg(); 00114 00119 void ConstructL( TBool aShowEmptyCategories ); 00120 00121 private: // Data 00122 // ETrue if executed in multiple item selector mode 00123 TBool iIsMultiSelector; 00124 00126 CLmkDlgSelectorImplBase* iSelector; 00127 00128 //Own: Set to ETrue in destructor 00129 TBool* iDestroyedPtr; 00130 00131 // Multiple database support 00132 RPointerArray <CPosLandmarkDatabase> iDbs; 00133 00134 }; 00135 00136 // CLMKCATEGORYSELECTORDLG_H 00137 #endif 00138 00139 // End of File