#ifndef _COBJECTLABEL_H_
#define _COBJECTLABEL_H_
#include "CObjectText.h"

class CObjectLabel:public CObjectText
{	
private:
	// centre la vue sur le charactere d'indice nIndex appartenant à
	// la sous-ligne d'indice ndxSubLine
	int  HorizontalCenterOnIndex(unsigned int nIndex,unsigned int ndxSubLine,int suppress,int p_tab);

public:
	CObjectLabel(container *,Layer *,int,int,int,int,int,int,int,int,int,int,int,int,char *,const char *);
	virtual ~CObjectLabel();
	
	// les methodes virtuelles
	int IsMouseOnObject(int,int,int);
	int CursorMove(int,int,int,int,int);
	int CursorMoveIn(int,int,int,int,int);
	int CursorMoveInWithBtnPushed(int,int,int,int,int);
	int CursorMoveOut(int,int,int,int,int);
	int CursorMoveOutWithBtnPushed(int,int,int,int,int);
	int CursorMoveOutsideWithBtnPushed(int,int,int,int,int);
	int ClickIn(int,int,int,int,int,int);
	int UnClickIn(int,int,int,int,int,int);
	int ClickOut(int,int,int,int,int,int);
	int UnClickOut(int,int,int,int,int,int);
	int DblClickIn(int,int,int,int,int,int);
	int MouseWheel(int,int,int,int,int,int);
	int KeyUp(UINT,int,UINT,int);
	int KeyDown(UINT,int,int,UINT,int);
	int SetFocus(int,int,int);
	int KillFocus(int,int);

	int Timer(int);

	// pour les liens entre objets
	int handle(CObjMessage* msg);
	int supports( int type );
	
	void SetPositionCursorAndScroll(int scrolltype,int suppress,int p_tab);

};

#endif //_COBJECTLABEL_H_