CheckZone

Définition Utilisation Exemple Côté technique
 

CheckXXXX sont des classes de cases à cocher, genre "j'ai lu les conditions de vente". Comme bouton, c'est comme un bouton de lumière avec télérupteur, a la limite un interupteur va et vient. Lorsque l'on appuie dessus il change d'état. Pour cette bibliothèque, lorsqu'on appuie dessus, si il n'est pas actif, il le devient, et un événement onSelect est généré. Si il était déja actif, il se désactive et un événement onUnselect est généré. Lorsque l'on relâche l'appui, ou si l'appui sort de la zone d'action, il ne se passe rien.

XXXXZone sont des classes de boutons sans dessin prédéfini. En principe, on affiche une image de fond qui va servir de zone visible pour les boutons de cette classe.

CheckZone est donc une classe de cases à cocher sans dessin prédéfini.

class CheckZone
{
 public:
  CheckZone(int x1, int y1, int x2, int y2);

Constructeur, s'insère dans la liste des contrôles gérées. x1, y1, x2, y2: zone d'action
  byte demiX1, demiY1, demiX2, demiY2;
Occupation de l'espace dans l'écran, coordonnnés absolues DIVISEES par 2
  word buttonColor;
Couleur du fond des boutons Coche et Cercle (pas d'intérêt pour cette classe)
  void (*onSelectFunction)(void);
Pointeur sur la fonction à appeler lorsque le bouton est sélectionné
  void (*onUnselectFunction)(void);
Pointeur sur la fonction à appeler lorsque le bouton est déselectionné
  PushZone *controleSuivant;
Pointeur sur le contrôle suivant dans la liste des contrôles
  void select(void);
Active un bouton
  void unselect(void);
Désactive ce bouton
  boolean isSelected(void);
Informe de l'état du bouton (coché ou non)
  virtual void onSelect(void);
Fonction appelée lors de la sélection. On peut surcharger cette fonction, par défaut elle est vide
  virtual void onUnselect(void);
Fonction appelée lors de la déselection. On peut surcharger cette fonction, par défaut elle est vide
  virtual void drawButton(void);
Fonction appelée lors de l'activation, la désactivation, à l'initialisation de la librairie ou sur appel de la fonction drawControles(). On peut surcharger cette fonction, par défaut elle est vide pour les boutons XXXXZone.

 

Voir aussi:
- scanEvent(); Moteur de la gestion des évènements
- PushZone; Bouton poussoir sans dessin
- CheckCoche; Bouton bistable (va vient) case à cocher
- CheckCircle; Bouton bistable (va vient) rond
- RadioZone; Bouton radio (un seul bouton actif parmi plusieurs) sans dessin