// cOsdListReportMenu.h: interface for the cOsdListReportMenu class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_COSDLISTREPORTMENU_H__62F18890_DD18_4E05_B495_6B72B70BFD95__INCLUDED_)
#define AFX_COSDLISTREPORTMENU_H__62F18890_DD18_4E05_B495_6B72B70BFD95__INCLUDED_

enum { ALIGN_LEFT, ALIGN_RIGHT, ALIGN_MIDDLE };

#define NBMAXCOL	20
#define NBMAXLIG	100

class cOsdListReportMenu  : public cOsdBasicDisplay
{
public:
	cOsdListReportMenu();
	virtual ~cOsdListReportMenu();

	void Clear();


	void AddColumn( string ColumnHeading, int align = ALIGN_LEFT, int nWidth = -1 );
	void InsertColumn( int nCol, string ColumnHeading, int align = ALIGN_LEFT, int nWidth = -1 );

	int AddRaw(string Rawdata, int action = NO_ACTION, int *param = NULL);

	cItemAction *ProcessKey(int Key);

	void InsertItem( int , int , string );

	int m_NbColumn;
	int m_NbRaw;

	cItemAction *m_Action;

	string m_BtRed;     cItemAction *m_ActionRed;
    string m_BtGreen;   cItemAction *m_ActionGreen;
    string m_BtYellow;  cItemAction *m_ActionYellow;
    string m_BtBlue;    cItemAction *m_ActionBlue;


	string *m_ColumnHead;
	int *m_Colstyle;
	int *m_ColWitdh;

	string *m_ListReport;

	int m_current;


//	cItemAction *m_LastAction;

	void	Draw(void);

    int KeyNum(int k);
};

#endif // !defined(AFX_COSDLISTREPORTMENU_H__62F18890_DD18_4E05_B495_6B72B70BFD95__INCLUDED_)
