#ifndef LABELTEXT_H
#define LABELTEXT_H
class LabelText;
#include "Param.h"
/**
* Widget regroupant Label, Text et Slider pour régler un paramètre du programme.
* @short Widget regroupant Label, Text et Slider
* @author Ph.Chose
* @version 10/99
*/
class LabelText
{
private:
/**
* Widget de base
*/
Widget root;
/**
* Frame entourant le TextField
*/
Widget frame;
/**
* Label
*/
Widget label;
/**
* TextField
*/
Widget text;
/**
* Scale
*/
Widget slider;
/**
* Pointeur sur la classe des paramètres
*/
Param* theParam;
/**
* Valeur minimale du slider
*/
float min;
/**
* Valeur maximale du slider
*/
float max;
/**
* Pas d'incrément pour le slider
*/
float step;
/**
* Nombre de pas d'incrément pour le slider
*/
int nbSteps;
public:
/**
* Construit le widget.
* @param theParam pointeur sur la classe paramètres
* @param parent widget père
* @param name label du widget
* @param min valeur minimale du slider
* @param max valeur maximale du slider
* @param step pas d'incrémentation du slider
*/
LabelText(Param* theParam, Widget parent, char* name, float min = 0., float max = 1., float step = 0.1);
/**
* Affecte une valeur entière au widget
* @param data la valeur à affecter
*/
void setInteger(int data);
/**
* Affecte une valeur flottante au widget
* @param data la valeur à affecter
*/
void setFloat(float data);
/**
* Affecte une chaîne de caractères au widget
* @param la chaîne de caractères à affecter
*/
void setString(char*);
/**
* Récupère la valeur entiere affectée au widget
* @return valeur entière
*/
int getInteger();
/**
* Récupère la valeur flottante affectée au widget
* @return valeur flottante
*/
float getFloat();
/**
* Récupère la chaîne de caractères affectée au widget
* @return chaîne de caractères
*/
char* getString();
private:
/**
* Règle le slider
* @param data la valeur à laquelle le Slider doit être mis
*/
void setSlider(float data);
/**
* Récupère la valeur courante du Slider
* @return valeur courante du slider
*/
float getSlider();
/**
* Fonction callback appelée lorsque le slider est bougé et relaché.
* Déclenche la mise à jour du TextField et met à jour les paramètres dans la classe @ref Param
*/
static void sliderValueChanged(Widget, XtPointer clientData, XtPointer);
/**
* Fonction callback appelée lorsque le slider est en train d'être bougé.
* Déclenche la mise à jour du TextField pour refléter la valeur courante du slider
*/
static void sliderDrag(Widget, XtPointer clientData, XtPointer);
/**
* Fonction callback appelée lorsque la valeur du TextField est modifiée (touche Enter enfoncée)
* Déclenche la mise à jour du slider et la récupération des paramètres par la classe @ref Param
*/
static void textValueChanged(Widget, XtPointer clientData, XtPointer);
};
#endif
| Generated by: chose@josquin on Wed Nov 10 20:57:01 199. |