Beaucoup d'informations sont données pour le bouton PushZone
qui ne sont pas toutes reprises ici. Un lecture de PushZone est
une bonne idée.
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.
XXXXCoche sont des classes de boutons carrés avec une coche quand ils sont actifs. Le carré
visible mesure 11 pixels sur 11 pixels, mais la zone sur laquelle on peut pointer est définie par les
paramètres passés au constructeur. Elle peut être plus grande ou plus petite. Le carré se positionne au
milieu, ce n'est qu'un dessin.
CheckCoche est donc une classe de cases à cocher carrées avec une coche quand ils sont actifs.
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 (Bordure et coche sont de la couleur opposée)
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, et fait ce qu'il faut pour les autres. On peut surcharger cette méthode,
mais si on veut garder le dessin par défaut, il faut appeler la méthode drawButton() de la classe
mère.
Voir aussi:
- scanEvent(); Moteur de la gestion des évènements
- PushCoche; Bouton poussoir case à cocher
- CheckZone; Bouton bistable (va vient) sans dessin
- CheckCoche; Bouton bistable (va vient) case à cocher
- CheckCircle; Bouton bistable (va vient) rond
- RadioCoche; Bouton radio (un seul bouton actif parmi plusieurs) case à cocher
|