AutoFocus version 2.01, crit par Vincent Lefvre.


Plus besoin de cliquer sur une fentre pour qu'elle obtienne le focus!
AutoFocus le lui donne automatiquement lorsque le pointeur de la souris
passe au-dessus de la fentre, si cette fentre avait dj eu le focus.
Ce module supporte spcialement les panes, les botes de dialogue (avec
"writable icons") et la slection de blocs.


AutoFocus est FREEWARE (il N'EST PAS dans le domaine public).

Note: AutoFocus utilise le module WimpSWIVe d'Andrew Clover / Andrew Booker
pour dtourner les SWI Wimp_. Ce module n'est pas distribu avec AutoFocus.
Vous pouvez le tlcharger sur:

  http://abooker.homeip.net/riscos/


ATTENTION! il y a des incompatibilits avec d'autres logiciels, et certaines
applications ou tout le systme peut planter. C'est souvent parce que les
applications pensent que le focus ne peut changer que par un clic souris, ou
quelque chose de ce genre. En particulier, il y a des problmes avec:

_ MultiDesk 1.13: MultiDesk ne marche pas avec AutoFocus puisqu'il dtourne
les SWI Wimp_ avec sa propre routine. Il devrait tre modifi pour utiliser
WimpSWIVe  la place.

_ Zap 1.31: vous pouvez remarquer des comportements tranges, mais je pense
que c'est tout. Par exemple, aprs fermeture d'une fentre, si une autre
fentre de Zap obtient le focus, Zap n'en sera pas conscient (vous devez
cliquer).

_ StrongEd (versions testes: 4.14 - 4.53): vous pouvez obtenir des erreurs
"illegal window handle" provenant de StrongED (parfois, quand vous cliquez
sur l'icne de fermeture (close icon) d'une fentre de StrongED, le carreau
(pane) du haut disparat) et vous devez quitter StrongED.

_ Draw 0.99: Draw peut planter. Par exemple, tapez F3 au-dessus d'une
fentre de Draw. La bote "Save as" apparat. Tapez "return" au-dessus
de la fentre du document. Vous obtiendrez le message d'erreur
"uncoverable internal error (", et Draw se terminera.


Vous pouvez changer le comportement d'AutoFocus en changeant le mode
courant. Le mode est un entier de 4 bits (0  15), chaque bit ayant
la signification suivante:

  _ Bit 0 (valeur = 1 si positionn):
      AutoFocus est activ si ce bit est  0, AutoFocus est dsactiv si
      ce bit est  1.

  _ Bit 1 (valeur = 2 si positionn):
      Si ce bit est  1, le focus ne sera jamais retir par AutoFocus: si
      le pointeur de la souris passe sur une fentre qui n'a jamais eu le
      focus, la fentre ayant actuellement le focus le gardera.

  _ Bit 2 (valeur = 4 si positionn):
      Si ce bit est  1, le focus ne sera pas retir par AutoFocus lorsque
      le pointeur de la souris passe au-dessus d'un menu: la fentre ayant
      actuellement le focus le gardera.

  _ Bit 3 (valeur = 8 si positionn):
      Si ce bit est  1, AutoFocus se comportera de la manire suivante:
      lorsqu'une application retire le focus  une de ses fentres (sans
      le redonner, dans le mme temps,  une autre fentre), AutoFocus
      ne redonnera pas le focus  cette fentre lorsque que le pointeur
      de la souris passera dessus, comme si la fentre n'avait jamais eu
      le focus auparavant.

Le mode est 0 par dfaut. Il peut tre fix par un paramtre quand le module
est charg par RMRun (cf le fichier !Run: le mode est fix  4). Il peut
aussi tre modifi ou affich avec la commande *AutoFocusMode: s'il n'y a
pas de paramtres, le mode courant est affich; s'il y a 1 paramtre, le
mode est chang. En gnral, vous choisirez entre les modes 0, 2 et 4. Le
bit 0 peut tre invers avec la commande *ToggleAutoFocus; ceci peut tre
trs utile si cette commande est attache  un raccourci clavier.


Dans tous les cas, vous utiliserez AutoFocus  vos propres risques. Si vous
trouvez un bug, envoyez-moi un "bug report", en franais ou en anglais, 
l'adresse ci-dessous SVP.


Je tiens  remercier les contributeurs de comp.sys.acorn.programmer pour
leur aide.

Vincent Lefvre

e-mail (AutoFocus): autofocus@vinc17.org
e-mail (personnel): vincent@vinc17.org
WWW (page d'accueil): http://www.vinc17.org/
WWW (page Acorn / RISC OS): http://www.vinc17.org/acorn/
