|  
 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. 
 
PushXXXX sont des classes de boutons poussoirs, genre bouton de sonnette. Lorsque l'on appuie
dessus "le courant passe" et "s'arrête" si on relâche. Pour cette bibliothèque, lorsqu'on appie dessus un
événement onSelect est généré et il devient actif. Lorsque l'on relâche l'appui, ou si l'appui sort
de la zone d'action, un évènement onUnselect est généré et le bouton devient inactif. Bon nombre
d'applications n'utilise que l'événement onSelect. 
XXXXCircle sont des classes de boutons ronds qui changent de couleur quand ils sont actifs. Le
disque visible mesure 11 pixels de diamètre, 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 disque se positionne au
milieu, ce n'est qu'un dessin. 
PushCircle est donc une classe de boutons poussoirs dessinés avec des cercles. 
class PushCircle 
{ 
 public: 
  PushCircle(x1, y1, x2, y2); 
Constructeur, s'insère dans la liste des contrôles gérées. x1, y1, x2, y2: zone d'action 
  demiX1, demiY1, demiX2, demiY2; 
Occupation de l'espace dans l'écran, coordonnnés absolues DIVISEES par 2 
  buttonColor; 
Couleur du fond des boutons (Bordure et disque central sont de la couleur opposée) 
  *onSelectFunction; 
Pointeur sur la fonction à appeler lorsque le bouton est sélectionné 
  *onUnselectFunction; 
Pointeur sur la fonction à appeler lorsque le bouton est déselectionné 
  *controleSuivant; 
Pointeur sur le contrôle suivant dans la liste des contrôles 
  select(); 
Active un bouton. N'a aucun intérêt pour ce bouton, mais pas pour des descendants. Le bouton est automatiquement
activé lorsque l'on appuie dessus 
  unselect(); 
Désactive ce bouton N'a aucun intérêt pour ce bouton, mais pas pour des descendants. Le bouton est automatiquement
déactivé lorsque l'on le relâche 
  isSelected(); 
Informe de l'état du bouton. Pour ce bouton, il est actif tant qu'on appuie dessus 
  onSelect(); 
Fonction appelée lors de la sélection. On peut surcharger cette fonction, par défaut elle est vide 
  onUnselect(); 
Fonction appelée lors de la déselection. On peut surcharger cette fonction, par défaut elle est vide 
  drawButton(); 
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. 
 
  
Exemples d'utilisation: 
PushCircle: 
PushCircle bouton(0,0,LARGEUR,HAUTEUR); Crée bouton sur toute la surface de l'écran, mais le
dessin sera tout petit, au centre
  
PushCircle bouton(150,100,170,120); Crée bouton au centre en mode PAYSAGE
  
PushCircle bouton = new PushCircle(100,100,120,120); Crée une instance dynamique bouton central
  
new PushCircle(100,100,120,120); Crée une instance dynamique bouton central mais sans pointeur dessus
on n'a pas forcément besion d'y accéder si on a surchargéla fonction onClic()
  
demiX1, demiY1, demiX2, demiY2: 
circle(demiX1+demiX2, demiY1+demiY2, 10); Trace un cercle de rayon 10 centré sur le bouton
  
onSelectFunction: 
bouton.onSelectFunction = & action; Appel la fonction void action(void) lors de l'appui
  
onUnselectFunction: 
bouton.onUnselectFunction = & action; Appel la fonction void action(void) lors du relâchement
  
select(), unselect() 
Peu d'intérêt pour ce bouton, c'est pour les descendants
  
isSelect(): 
if (bouton.isSelect())... Si on est en train d'appuyer sur le bouton
  
onSelect(), onUnselect(): 
voir les exemples complets
  
 
  
Voir aussi: 
- scanEvent(); Moteur de la gestion des évènements 
- PushZone; Bouton poussoir sans dessin 
- PushCoche; Bouton poussoir case à cocher 
- CheckCircle; Bouton bistable (va vient) rond 
- RadioCircle; Bouton radio (un seul bouton actif parmi plusieurs) rond 
 
 |