#ifndef PILISTGEN_H_SEEN
#define PILISTGEN_H_SEEN

#include "pisysdep.h"
#include PIWDG_H


class PIListGen : public PIWdg {
public:
  enum {ClassId = 1110};

	             PIListGen(PIContainerGen* par, const char* nom,
                               int sx=100, int sy=100, int px=0, int py=0);
	             ~PIListGen();
				   
  virtual void	     AppendItem(const char * item, PIMessage msg)=0;
  virtual void       DeleteItem(const char *item)=0;
  virtual void       DeleteItemMsg(PIMessage msg)=0;
  virtual void	     DeleteAllItems()=0;
  
  virtual int	     GetNbItems()=0;
  virtual PIMessage  GetItemMsg(int n)=0;
  virtual string     GetItem(int n)=0;

  virtual void       SetMultipleSelect(bool ms=false)=0;

  virtual int        GetNbSelection()=0;
  virtual PIMessage  GetSelection(int num=0)=0;
  virtual string     GetSelectionStr(int num=0)=0;

  virtual void       SelectItem(const char * item)=0;
  virtual void       SelectItemMsg(PIMessage msg)=0;
  virtual void       ClearSelItem(const char * item)=0;
  virtual void       ClearSelItemMsg(PIMessage msg)=0;

  virtual long       kind() {return ClassId; }

protected:
}; 


#endif
