williamr@2: /* williamr@2: * Copyright (c) 1997-1999 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #if !defined(__EIKTXLBM_H__) williamr@2: #define __EIKTXLBM_H__ williamr@2: williamr@2: #if !defined(__EIKLBM_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: /** williamr@2: * Text list box model. williamr@2: */ williamr@2: class CTextListBoxModel : public CBase, public MTextListBoxModel williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Default constructor. williamr@2: */ williamr@2: IMPORT_C CTextListBoxModel(); williamr@2: williamr@2: /** williamr@2: * destructor williamr@2: */ williamr@2: IMPORT_C virtual ~CTextListBoxModel(); williamr@2: williamr@2: /** williamr@2: * Gets the number of text items in this list box model. williamr@2: * @return The number of text items. williamr@2: */ williamr@2: IMPORT_C virtual TInt NumberOfItems() const; williamr@2: williamr@2: /** williamr@2: * Gets an array of strings for incremental matching of williamr@2: * typed characters. For the text list box model, these williamr@2: * strings are those that are displayed (see ItemText()). williamr@2: * williamr@2: * @return A text array for matching. williamr@2: */ williamr@2: IMPORT_C virtual const MDesCArray* MatchableTextArray() const; williamr@2: williamr@2: /** williamr@2: * Gets the text to be displayed in the list box control williamr@2: * for the specified item. williamr@2: * williamr@2: * @param aItemIndex Index of an item. williamr@2: * @return Text string to be displayed. williamr@2: */ williamr@2: IMPORT_C virtual TPtrC ItemText( TInt aItemIndex ) const; williamr@2: williamr@2: /** williamr@2: * Second-phase constructor. williamr@2: * williamr@2: * This function completes construction of a williamr@2: * default-constructed CTextListBoxModel, initialising any williamr@2: * members which are stored on the heap. Whether ownership of williamr@2: * the array is taken depends on the value of the williamr@2: * TListBoxModelItemArrayOwnership enum. williamr@2: * williamr@2: * @param aItemTextArray The item array. williamr@2: * @param aOwnershipType Whether or not to take ownership of the array. williamr@2: */ williamr@2: IMPORT_C virtual void ConstructL( MDesCArray* aItemTextArray = NULL, williamr@2: TListBoxModelItemArrayOwnership aOwnershipType = ELbmOwnsItemArray ); williamr@2: williamr@2: /** williamr@2: * Sets a new text item array. Panics if aItemTextArray is NULL. williamr@2: * williamr@2: * @param aItemTextArray New item text array. williamr@2: */ williamr@2: IMPORT_C void SetItemTextArray( MDesCArray* aItemTextArray ); williamr@2: williamr@2: /** williamr@2: * Sets the item array ownership type. williamr@2: * williamr@2: * @param aOwnershipType Item array ownership. williamr@2: */ williamr@2: IMPORT_C void SetOwnershipType( TListBoxModelItemArrayOwnership aOwnershipType ); williamr@2: williamr@2: /** williamr@2: * The array of text items modelled by this text list box model. williamr@2: * williamr@2: * @return A pointer to the array. williamr@2: */ williamr@2: IMPORT_C MDesCArray* ItemTextArray() const; williamr@2: williamr@2: protected: williamr@2: /** williamr@2: * Gets the item array ownership type. williamr@2: * williamr@2: * @return Item array ownership. williamr@2: */ williamr@2: IMPORT_C TListBoxModelItemArrayOwnership ItemArrayOwnershipType() const; williamr@2: williamr@2: private: // from MListBoxModel williamr@2: IMPORT_C virtual TAny* MListBoxModel_Reserved(); williamr@2: williamr@2: protected: williamr@2: /** williamr@2: * The array of text items modelled by this text list box model. williamr@2: */ williamr@2: MDesCArray* iItemTextArray; williamr@2: williamr@2: private: williamr@2: TListBoxModelItemArrayOwnership iItemArrayOwnershipType; williamr@2: }; williamr@2: williamr@2: williamr@2: #endif