00001 // EIKLBM.H 00002 // 00003 // Copyright (c) 1997-1999 Symbian Ltd. All rights reserved. 00004 // 00005 00006 00007 #if !defined(__EIKLBM_H__) 00008 #define __EIKLBM_H__ 00009 00010 00011 #if !defined(__E32BASE_H__) 00012 #include <e32base.h> 00013 #endif 00014 00015 #if !defined(__BAMDESCA_H__) 00016 #include <bamdesca.h> 00017 #endif 00018 00019 00020 // for some reason, doxygen seems to refuse documenting this... 00021 00026 enum TListBoxModelItemArrayOwnership 00027 { 00030 ELbmOwnsItemArray, 00033 ELbmDoesNotOwnItemArray 00034 }; 00035 00054 class MListBoxModel 00055 { 00056 public: 00060 IMPORT_C virtual ~MListBoxModel(); 00061 00066 virtual TInt NumberOfItems() const = 0; 00067 00074 virtual const MDesCArray* MatchableTextArray() const = 0; 00075 00076 private: 00077 IMPORT_C virtual TAny* MListBoxModel_Reserved(); 00078 }; 00079 00088 class MTextListBoxModel : public MListBoxModel 00089 { 00090 public: 00094 IMPORT_C ~MTextListBoxModel(); 00095 00104 virtual TPtrC ItemText(TInt aItemIndex) const = 0; 00105 00106 private: // from MListBoxModel 00107 IMPORT_C virtual TAny* MListBoxModel_Reserved(); 00108 }; 00109 00110 #endif