#include "sopnamsp.h"
#include "pistdwdggen.h"

/************* PILabelGen ************/

//++
// Class	PILabel
// Lib		PI
// include	pistdwdggen.h
//
//	Composant graphique simple permettant d'afficher une étiquette (texte).
//	"PILabelGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PILabel" déclarée dans le fichier
//	entête "PISTDWDG_H".
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur, méthodes
//--
//++
// PILabel(PIContainerGen* par, const char* nom, int sx=10, int sy=10, int px=0, int py=0)
//	Création d'un objet PILabel ayant un contenu (étiquette) identique à "nom".
// void SetLabel(string const& lab)
//	Modifie l'étiquette affichée par l'objet 
//--




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

PILabelGen::~PILabelGen()
{}

/************* PIButtonGen ************/
//++
// Class	PIButton
// Lib		PI
// include	pistdwdggen.h
//
//	Composant graphique de type bouton .
//	"PIButtonGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PIButton" déclarée dans le fichier
//	entête "PISTDWDG_H". Lors de l'activation, le message de l'objet complété
//	par le modifier "PIMsg_Click" est envoyé ("Send()"). Le champ "data" 
//	contient le pointeur "NULL".
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur, méthodes
//--
//++
// PIButton(PIContainerGen* par, const char* nom, PIMessage msg, int sx=10, int sy=10, int px=0, int py=0)
//	Création d'un objet PIButton avec une étiquette identique à "nom".
// void SetLabel(string const& lab)
//	Modifie l'étiquette affichée par l'objet bouton.
//--



PIButtonGen::PIButtonGen(PIContainerGen *par, const char *nom, PIMessage msg,
                         int sx, int sy, int px, int py)
: PIWdg(par, nom, sx, sy, px, py)
{
SetMsg(msg);
}

PIButtonGen::~PIButtonGen()
{}



/************* PITextGen ************/
//++
// Class	PIText
// Lib		PI
// include	pistdwdggen.h
//
//	Composant graphique de type champ texte.
//	"PITextGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PIText" déclarée dans le fichier
//	entête "PISTDWDG_H". Si un message non nul a été associé a l'objet 
//	par "PIWdg::SetMsg(PIMessage msg)", le message correspondant complété
//	par le modifier "PIMsg_DataChanged" est envoyé ("Send()") lors de 
//	de la validation du champ texte (touche Retour-Chariot). Le champ "data" 
//	contient le pointeur "NULL".
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur, méthodes
//--
//++
//  PIText(PIContainerGen* par, const char* nom, int sx=10, int sy=10, int px=0, int py=0)
//	Création d'un objet PIText.
//  PIText(PIContainerGen* par, const char* nom, bool vsb, bool hsb, -
//  int sx=10, int sy=10, int px=0, int py=0)
//	Création d'un objet PIText multiligne, muni d'ascenseurs 
//	Vertical si "vsb == true", horizontal si "hsb == true".
// void SetText(string const& txt)
//	Modifie  le contenu du champ texte.
// string  GetText() const
//	Renvoie le contenu du champ texte.
// void  SetMutiLineMode(bool mlm=false)
//	Active ("mlm=true") ou désactive ("mlm=false") la possibilité d'édition multiligne.
// void  SetTextEditable(bool te=true)
//	Permet de rendre le contenu du champ texte non-éditable ("te=false")
//--

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

PITextGen::PITextGen(PIContainerGen *par, const char *nom, bool vsb, bool hsb, 
                         int sx, int sy, int px, int py)
: PIWdg(par, nom, sx, sy, px, py)
{}

PITextGen::~PITextGen()
{}




/************* PICheckBoxGen ************/

PICheckBoxGen::PICheckBoxGen(PIContainerGen *par, const char *nom, PIMessage msg,
                         int sx, int sy, int px, int py)
: PIWdg(par, nom, sx, sy, px, py)
{
SetMsg(msg);
}

PICheckBoxGen::~PICheckBoxGen()
{}

//++
// Class	PICheckBox
// Lib		PI
// include	pistdwdggen.h
//
//	Composant graphique de type CheckBox.
//	"PICheckBoxGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PICheckBox" déclarée dans le fichier
//	entête "PISTDWDG_H". Lors du changement d'état, le message de l'objet  
//	complété par le modifier "PIMsg_DataChanged" est envoyé ("Send()").
//	Le champ "data" contient un pointeur sur une variable de type "bool"
//	qui contient l'état de l'objet lors de l'appel à "Send()".
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur, méthodes
//--
//++
// PICheckBox(PIContainerGen* par, const char* nom,  PIMessage msg, int sx=10, int sy=10, int px=0, int py=0);
//	Création d'un objet PICheckBox.
// void SetState(bool st=false)
//	Modifie l'état de l'objet.
// bool GetState()
//	Renvoie l'état de l'objet.
//--


/************* PIScaleGen ************/
//++
// Class	PIScale
// Lib		PI
// include	pistdwdggen.h
//
//	Composant graphique de type échelle ou curseur. (La valeur représentée 
//	par l'objet peut être modifiée à l'aide d'un curseur).
//	"PIScaleGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PIScale" déclarée dans le fichier
//	entête "PISTDWDG_H". Lors du changement de valeur, le message de l'objet  
//	complété par le modifier "PIMsg_DataChanged" est envoyé ("Send()").
//	Le champ "data" contient un pointeur sur une variable de type "int"
//	qui contient la valeur associée  à l'objet lors de l'appel à "Send()".
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur, méthodes
//--
//++
// PIScale(PIContainerGen* par, const char* nom, PIMessage msg, int dir=kSDirLtoR, int sx=100, int sy=10, int px=0, int py=0)
//	Création d'un objet PIScale. "dir" indique la direction et le sens d'affichage et peut
//	prendre les valeurs "kSDirLtoR" (gauche à droite), "kSDirRtoL" (droite à gauche),
//	"kSDirDownUp" (bas vers haut) et "kSDirUpDown" (de haut en bas).
// void  SetMinMax(int min, int max)
//	Modifie les valeurs extrêmes de l'échelle. L'objet est créé avec des bornes par défaut de 1 à 100.
// void GetMinMax(int& min, int& max)
//	Renvoie les valeurs extrêmes de l'échelle.
// void SetValue(int v)
//	Modifie la valeur courante de l'échelle.
// int GetValue()
//	Renvoie la valeur courante de l'échelle.
//--


PIScaleGen::PIScaleGen(PIContainerGen *par, const char *nom, PIMessage msg, 
                       int /*dir*/, int sx, int sy, int px, int py)
: PIWdg(par, nom, sx, sy, px, py) 
{
SetMsg(msg);
}

PIScaleGen::~PIScaleGen()
{}

/************* PIScrollBarGen ************/
//++
// Class	PIScrollBar
// Lib		PI
// include	pistdwdggen.h
//
//	Composant graphique de type ascenseur. 
//	"PIScrollBarGen" définit l'interface (classe virtuelle pure). Les objets 
//	instanciés doivent être de la classe "PIScrollBar" déclarée dans le fichier
//	entête "PISTDWDG_H". Lors du changement de valeur, le message de l'objet  
//	complété par le modifier "PIMsg_DataChanged" est envoyé ("Send()").
//	La méthode "ActivateDrag()" permet d'activer l'envoi de message en 
//	cours de déplacement du curseur. Dans ce cas, le modifier 
//	"PIMsg_Drag" est appliqué.
//	Le champ "data" contient un pointeur sur une variable de type "int"
//	qui contient la position courante du curseur.
//--
//++
// Links	Parents
// PIWdg
//--

//++
// Titre	Constructeur, méthodes
//--
//++
// PIScrollBar(PIContainerGen* par, const char* nom, PIMessage msg, int dir=kSDirUpDown, int sx=10, int sy=100, int px=0, int py=0)
//	Création d'un objet PIScrollBar. "dir" indique la direction et le sens d'affichage et peut
//	prendre les valeurs "kSDirLtoR" (gauche à droite), "kSDirRtoL" (droite à gauche),
//	"kSDirDownUp" (bas vers haut) et "kSDirUpDown" (de haut en bas).
// void  ActivateDrag(bool acd=false)
//	Active ("acd=true") ou désactive ("mlm=false") l'envoi de messages lors du mouvement du curseur.
// void SetMinMax(int min, int max)
//	Modifie les valeurs extrêmes de l'ascenseur. L'objet est créé avec des bornes par défaut de 1 à 100.
//	La valeur "max" correspond à la position extrême taille du curseur comprise ("max=posmax+taille").
// void GetMinMax(int& min, int& max)
//	Renvoie les valeurs extrêmes de l'ascenseur. 
// void SetValue(int v)
//	Modifie la position courante de l'ascenseur.
// int GetValue()
//	Renvoie la position courante de l'ascenseur.
// void  SetSlSize(int sz)
//	Modifie la taille de l'ascenseur.
// int  GetSlSize()
//	Renvoie la taille de l'ascenseur.
//--

PIScrollBarGen::PIScrollBarGen(PIContainerGen *par, const char *nom, PIMessage msg, 
                       int /*dir*/, int sx, int sy, int px, int py)
: PIWdg(par, nom, sx, sy, px, py) 
{
SetMsg(msg);
}

PIScrollBarGen::~PIScrollBarGen()
{}

