Fonctionnement ( saisie fenêtre )
Description
Ce modèle est appelé depuis un bouton bas d'écran, un menu, le menu contextuel d'un champ ou une fonction, pour ouvrir une fenêtre de saisie ou de visualisation. Cette fenêtre peut être une fenêtre pleine écran ( elle s'appuiera sur l'instruction Inpbox ); elle peut être une boite de dialogue ( elle s'appuiera sur l'instruction Dlgbox ) ou bien elle peut être une boite de message ( et dans ce cas, elle s'appuiera sur l'instruction Mesbox ). Dans le dictionnaire des fenêtres, le champ AFFICHAGE indiquera le type de boite à ouvrir.
La fenêtre peut contenir :
un écran ou plusieurs écrans
des boutons bas d'écran
des menus ( sauf sur une boite de message )
des listes gauches ( sauf sur une boite de message )
Lorsque ce modèle "Saisie Fenêtre" est appelé 2 fois par le modèle "Traitement Standard", pour la fenêtre principale puis pour la fenêtre de critères, la variable [L]BOITE renvoie le code de la fenêtre courante.
Les traitements
Le modèle est un traitement superviseur qui fait appel à des traitements annexes : le traitement standard et le traitement spécifique (s'il sont renseignés dans le dictionnaire de l'action) et un traitement généré par fenêtre (nommé WGxxxxxx ou xxxxxx est le code de la fenêtre). Ces deux traitements standard et spécifique sont structurés de la même façon, c'est à dire qu'ils commencent par une étiquette ACTION, qui traite les différents évènements susceptibles d'arriver lors de l'exécution de la fonction.
Le traitement standard
Ce traitement, fourni par ADONIX, ne doit absolument pas être modifié par le
spécifique.
Le traitement spécifique
Ce traitement n'est pas fourni par Adonix, mais il peut être développé en
spécifique (à la fois pour des fonctions standards pour lesquelles on désire
faire des ajouts et pour les fonctions spécifiques).
Les Actions
Le traitement standard ou spécifique comment donc par cette étiquette $ACTION à écrire de la façon suivante ( ou XXXXXX est le code de l'évènement ) :
$ ACTION
Case ACTION
When "XXXXXX" : Gosub XXXXXX
When default
Endcase
Return
Chaque événement est identifié par un code alphanumérique, contenu dans la variable ACTION. Sil ny a pas de traitement pour un événement, le fonctionnement de la fonction n'en sera pas entravé. C'est dans le sous-programme $ACTION, que l'on fait l'aiguillage vers l'étiquette ajoutée. On précisera dans cette syntaxe "case ACTION", autant de lignes qu'il y a d'évènements à compléter. Le $ACTION est appelé du traitement superviseur par GOSUB ; Cela permet donc d'utiliser des variables locales au traitement superviseur.
On trouvera ci-joint la liste des actions. On trouvera ensuite, la description détaillée de ces actions. On y décrit le contexte appelant et l'OBJectif de ces actions.
Ajout d'actions spécifiques sur le standard
Par défaut, pour un même évènement, l'action spécifique est appelée avant l'action standard.
Elle peut annuler et remplacer l'action standard si elle positionne la variable GPE à la valeur 1.
Pour exécuter l'action standard avant l'action spécifique, dans ce cas, on duplique le traitement standard dans l'action spécifique, on y ajout le traitement spécifique puis on positionne la variable GPE à la valeur 1. Exemple :
Traitement superviseur
GPE=0
Gosub ACTION From trait_std ( appel du
standard )
If GPE=0
Gosub ACTION From trait_spé.
( appel du spécifique )
Endif
Traitement spécifique
$ ACTION
Case ACTION
When "OUVRE" : Gosub OUVRE
When default
Endcase
Return
$OUVRE
...
( action spécifique OUVRE )
GPE =
1
( pas dappel du standard suite au spécifique )
Return