/* ==========================================================================
* 파    일 : NpcStoreListBox.h
* 목    적 : 상점 출력용 리스트박스
* 작 성 자 : 김가람
* 작 성 일 : 2008-05-30
* 주의사항 :
*===========================================================================*/
#pragma once
#include "ListBox.h"

class cItemIcon;
class cNpcStoreListBox : public cListBox
{
public:
	cNpcStoreListBox( eUINodeType type = eUINODE_LISTBOX );
	virtual ~cNpcStoreListBox();

	void Clear();

protected:
	bool OnCreate(cUINodeProperty* pproperty );
	void OnMouseMove( const cUIPos& pos );
	void OnMouseLeft( const cUIPos& pos );
	void OnLButtonDoubleClick( const cUIPos& pos );
	void OnLButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool shift );
	void OnRButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool shift );
	void OnScrollbarMoved( const cUIPos& pos );
	void OnIconDragged( cUINode* caller, unsigned int id, const cUIPos& pos, bool shift );
	void OnIconDoubleClicked( cUINode* , unsigned int );
	void OnIconClicked( cUINode* , unsigned int );
	void OnIconRightClicked( cUINode* , unsigned int , bool );
	void OnMouseWheel( const cUIPos& pos, int wheel );
	void RenderData( cUIFontItemKeeper* pKeeper );
	void UpdateSelectImage();
	void UpdateScrollBar();
	void CheckButtonEvent( unsigned int id );
	void CheckShowImage();

protected:
	/// 아이콘 
	cItemIcon*	mIcon[10];

	int mMaxIconCount;
	int mHalfWidth;

	///
	bool		mEnableSelect;
};
