// Module PI : Peida Interactive     PIList
// Liste                                     96-97
// LAL (Orsay) / IN2P3-CNRS  DAPNIA/SPP (Saclay) / CEA

#include "pilistgen.h"

//++
// Class	PIList
// Lib		PI
// include	pilistgen.h
//
//	Composant graphique de type liste, permettant d'afficher une liste 
//	d'éléments, qui peuvent être sélectionnés à l'aide du pointeur (souris). 
//	"PIListGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PIList" déclarée dans le fichier
//	entête "PILIST_H". Lors de la sélection d'un des éléments, 
//	le message correspondant complété par "PIMsg_Select" est envoyé.
//	Le modifier "PIMsg_ClearSel" est appliqué lorsque d'une dé-sélection.
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur
//--
//++
// PIListGen(PIContainerGen* par, char* nom, int sx=100, int sy=100, int px=0, int py=0)
//	Création d'un objet liste (PIList). 
//--

//++
// Titre	Ajout et suppression d'éléments
//--
//++
// void  AppendItem(char* nom, PIMessage msg)
//	Ajoute un élément à la liste.
// void  DeleteItem(const char *item)
//	Supprime l'élément "item" de la liste.
// void  DeleteItemMsg(PIMessage msg)
//	Supprime l'élément identifié par le message "msg" de la liste.
//--
//++
// Titre	Gestion des sélections
//--
//++
// void  SetMultipleSelect(bool ms=false)
//	Active ("ms=true") ou désactive la possibilité de sélection multiple.
// int   GetNbSelection()
//	Renvoie le nombre d'éléments sélectionnés.
// PIMessage  GetSelection(int num=0)
//	Renvoie le message correspondant à la sélection numéro "n". L'ordre 
//	dans lequel les sélections sont retournées est indéfini.
// string   GetSelectionStr(int num=0)
//	Renvoie la chaîne de caractères correspondant à l'élément sélectionné 
//	numéro "n".
// void  SelectItem(const char* item)
//	Permet de sélectionner l'élément "item".
// void  SelectItemMsg(PIMessage msg)
//	Permet de sélectionner l'élément identifié par le message "msg".
// void  ClearSelItem(const char* item)
//	Efface la sélection pour l'élément "item".
// void  ClearSelItemMsg(PIMessage msg)
//	Efface la sélection pour l'élément identifié par le message "msg".
//--

PIListGen::PIListGen(PIContainerGen *par, char *nom,
                     int sx, int sy, int px, int py)
: PIWdg(par, nom, sx, sy, px, py)
{}

PIListGen::~PIListGen()
{}
