APRES_CHOI
Description
Cette action est appelée avant l'exécution d'une action ( bouton, menu, liste gauche, ... ). Un statut définissant l'action est envoyé par le superviseur dans la variable REPONSE.
Type d'OBJet
Simple, Tableau, Combiné
Transaction
Non
Utilisation
Il est possible de court-circuiter le traitement normal de votre bouton, menu : Cette action permet de lancer son propre traitement à la place du traitement modèle puis de remettre REPONSE à 0.
Les différentes valeurs possibles pour la variable REPONSE sont données par des variables globales, dont le nom est donné dans le tableau ci-dessous :
Statut |
Bouton correspondant |
GSTAENR | Enregistrement |
GSTACRE | Création |
GSTAANU | Annulation |
GSTAFIN | Abandon |
GSTACHG | Changement de code |
GSTASUI | Suivant |
GSTAPRE | Précédent |
GSTAFIR | Premier enregistrement |
GSTALAS | Dernier enregistrement |
GSTALFT | Simple click dans liste gauche |
GSTALF2 | Double click dans liste gauche |
GSTALF3 | Simple click dans liste hiérarchisée |
GSTALF4 | Double click dans liste hiérarchisée |
GSTARET | Entrée |
GSTANEW | Fichier / nouveau |
GSTASEL | Fichier / sélection |
GSTACOM | Fichier / commentaire |
GSTAEDI | Impression |
GSTALIS | Liste |
GSTAJOI | Pièce jointes |
GSTAHLP | Aide |
GSTAESC | Abandon (par fermeture de la fenêtre) |
GSTAOK | OK |
GSTAPCK | Sélection picking dans GEODE |
GSTADAT | Propriété |
>=GSTABOU | Bouton spécial défini par un chiffre (les contrôles sont effectués sur les champs de la page au delà du champ en cours de saisie, et il y a blocage si un contrôle n'est pas satisfait). |
>=GSTABOU2 | Bouton spécial défini par une lettre minuscule (la page n'est pas contrôlée avant le lancement de la fonction). |
Exemple : SUBADI gestion des tables diverses
La gestion des tables diverses est une gestion tableau. Les boutons magnéto ne sont donc pas pris en charge par ce type de gestion. On a donc programmer des traitements particuliers pour ces boutons magnéto pour permettre à l'utilisateur d'afficher la table suivante, précédente, la première ou dernière table.
$APRES_CHOI
Case REPONSE
When GSTASUI : Gosub SUIVANT : REPONSE = 0
When GSTAPRE : Gosub PRECEDENT : REPONSE = 0
When GSTAFIR : Gosub PREMIER : REPONSE = 0
When GSTALAS : Gosub DERNIER : REPONSE = 0
Endcase
Return
$SUIVANT
If VERROU : Gosub DEVERROU From GOBJET : Endif
Read [ADV]CODE > [M]NUMTAB
If fstat>2
GMESSAGE = mess(11,100,1) : GERR = 1 : Return
Else
[M]NUMTAB = [F:ADV]NUMTAB
CLE2 = num$([M]NUMTAB
Gosub RELIT From GOBJSUB
Endif
Endif
Return