Source: LabelText.h


Annotated List
Files
Globals
Hierarchy
Index
#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.