// EIKHLBX.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#if !defined(__EIKHLBX_H__)
#define __EIKHLBX_H__

#if !defined(__EIKLBX_H__)
#include <eiklbx.h>
#endif

class CHierarchicalListBoxModel;
class CHierarchicalListBoxView;
class CHierarchicalListItemDrawer;

class CEikHierarchicalListBox : public CEikListBox
	{
public:
	IMPORT_C CEikHierarchicalListBox();
	IMPORT_C ~CEikHierarchicalListBox();
	IMPORT_C CHierarchicalListBoxModel* HlModel() const;
	IMPORT_C CHierarchicalListBoxView* HlView() const;
	IMPORT_C CHierarchicalListItemDrawer* HlDrawer() const;
public: // from CCoeControl
	IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
	IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
private: // from CEikListBox
	IMPORT_C CListBoxView* MakeViewClassInstanceL();
private: // from CCoeControl
	IMPORT_C void Reserved_1();
	IMPORT_C void Reserved_2();
private: // from CEikListBox
	IMPORT_C void Reserved_3(); // listbox use only
private:
	void HandleItemSelectionL();
private:
	TBool* iHlbxDestroyed;
	TInt iPressedIndex;
	};

#endif
