// EIKDCLBX.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#if !defined(__EIKDCLBX_H__)
#define __EIKDCLBX_H__

#if !defined(__EIKLBX_H__)
#include <eiklbx.h>
#endif

#if !defined(__EIKDIALG_H__)
#include <eikdialg.h>
#endif

#if !defined(__BADESCA_H__)
#include <badesca.h>
#endif

class CDirContentsListBoxModel;
class CDirContentsListItemDrawer;

class CEikDirContentsListBox : public CEikListBox
	{
public:
	IMPORT_C CEikDirContentsListBox();
	IMPORT_C void ConstructL(const CCoeControl* aParent,TInt aListBoxFlags=0,TUint aModelFlags=0,TInt aNumVisibleLines=0,TInt aWidthInPixels=0);
	IMPORT_C CDirContentsListBoxModel* DclModel() const;
	IMPORT_C CDirContentsListItemDrawer* DclItemDrawer() const;
	IMPORT_C void SetPathL(const TDesC& aPath);
	IMPORT_C void GetFullNamesOfSelectedItemsL(CDesCArray* aItems) const;
	IMPORT_C void HandleListUpdateL();
	IMPORT_C void UpdateL();
	IMPORT_C void SetCurrentItemName(const TDesC& aName);
public: // from CCoeControl
	IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
	IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKayEvent,TEventCode aType);
	IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
	IMPORT_C TSize MinimumSize();
private: // from CEikListBox
	IMPORT_C void Reserved_3(); // listbox use only
private:
	void BaseConstructL(TInt aModelFlags);
	void HandleItemSelectionL(TInt aItemIndex);
private:
	TInt iPressedIndex;
	};

#endif
