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.