Contrôles d'entrée dans les champs éditables (te_pvalid)

 Si vous venez à réaliser votre propre gestion des champs éditables dans une boite de dialogue GEM, vous serez amenés à gérer le champs te_pvalid, qui permet au système d'accorder ou non une lettre tapée au clavier.

 te_pvalid est une chaine de caractère formée des lettres suivantes selon le filtrage voulu

Lettre Filtre appliqué

9

Tous les nombres de 0 à 9

a

Toutes les lettres alphabétiques plus l'espace

n

9 + a

p

Charactères valides pour les chemins de fichier TOS

N

idem n sauf que les caractères alphabétiques doivent être en majuscules

F

Caractères admissibles pour les fichiers + caractères ? *

P

idem p + caractères ? *

X

Tous caractères

 En théorie à chaque lettre du champs éditable correspond une lettre de validité comme décrit ci dessus mais comme cela n'est pas mentionné dans la plupart des documentations GEM, il existe un système simple de compactage (je ne sais pas si il existe sur tous les systèmes), si plusieurs caractères de validation sont identiques à la fin de la chaine, alors seul un  caractère de validation n'est inscrit dans la chaine suivi du caractère nul de fin de chaine.

Récupération de la chaine de validation:

char *pt_valid;

pt_valid = (char *) ((TEDINFO *)tree[edit].ob_spec)->te_pvalid;

Olivier Landemarre