U I M User Interface Manager Gestionnaire d'Interface Utilisateur. Langage de définition de panneaux d'aide basé sur la notion d'étiquette (TAG), comme tout SGML , dont HTML est l'héritier. |
U I M Structure générale d'un source UIM * commentaire -->:PNLGRP. <-----------------------------début et fin de panel------------- ! ... ! ! -:IMPORT PNLGRP='panel' NAME='AIDE01' (pour :IMHELP) <--niveau-- ! ! ! ... général ! ! ! !:ISCHSYN ROOT='racine1'.equivalent1 equivalent2 equivalent3 ... ! ! ! !:ISCHSYN ... ! ! ! - ... <---------- ! ! -:HELP NAME='nom-aide'.texte-aide. <-début et fin d'aide-- ! ! !:XH3.texte-aide-étendue. (aide étendue via F2) ! ! ! !:ISCH ROOTS='racine1'. (mot-clé pour cette aide) ! ! ! ! ... ! ! ! ! ... ! ! ! !:IMHELP NAME='AIDE01'. (importation) ! ! ! ! ... ! ! ! -:EHELP. <------------------------------------------------ ! ! ... ! ! ... ! !-->EPNLGRP. <-------------------------------------------------------------- |
Définition des symboles UIM. |
Regardons ensemble les principales étiquettes reconnues par UIM. :PNLGRP. première étiquette du source :EPNLGRP. derniere étiquette du source entre ces deux délimitateurs des aides commencant par :HELP NAME = 'nom-aide'.texte-de-l'aide. (WIDTH= ) (DEPTH= ) ... :EHELP. (sans paramètres) le nom de l'aide peut faire 32 caracteres,peut contenir un "/" doit être construit de la maniere suivante dans le cas d'une commande 'CCCCCC/PPPPP' ou CCCCCC est le nom de la cde PPPPPP le paramètre. WIDTH permet d'imposer une largeur de fenetre,DEPTH une hauteur :XH3. indique le texte à afficher avec l'aide étendue. |
:P. indique le début d'un paragraphe.chaque paragraphe est encadré (en haut et en bas) d'une ligne blanche.A l'intérieur d'un paragraphe UIM gère la présentation sans tenir compte du formatage dans le source. |
UIM permet de gérer des listes. :PARML. = Liste de paramètres (utile pour les commandes) :PT. = définition de terme. :PK. (def). définition d'un mot réservé(def= valeur par défaut) :PV. définition d'une valeur possible. terminé par :EPK. ou :EPV. :PD. = texte explicatif du terme. Les termes sont en haute intensité les mots réservés en majuscule. les valeurs en minuscules la valeur par défaut est soulignée :EPARML. Indique la fin d'une liste de paramètres. |
:HELP NAME = 'UIM/H2'.Liste de paramètres. :XH3.Exemple de liste de paramètres. :P. Voici une liste de paramètres. :PARML. :PT.:PK def. *LIBL :EPK. :PD. La liste de bibliothèque (mot réservé par défaut) :PT.:PK. *CURLIB :EPK. :PD. La bibliothèque en cours (mot réservé possible) :PT.:PV. nom-bibli :EPV. :PD. Un nom de bibliothèque (valeur possible) :EPARML. :PC.continuation du paragraphe. :EHELP. |
UIM gestion de listes. :OL. = Liste ordonnée(les éléments de la liste sont numérotés par UIM) :LI. = un élément de la liste. :EOL. = Fin de la liste numérotée. :HELP NAME = 'UIM/H3'.Liste ordonnée. :XH3.Exemple de liste ordonnée. :P. Voici une liste ordonnée. :OL. :LI. Premiere ligne :LI. Deuxieme ligne :LI. et enfin la troisieme :EOL. :P.c'est le système qui numérote. :EHELP. |
UIM gestion de listes (suite). Les listes ordonnées peuvent être imbriquées le marquage se fera alors avec une notion de lettre a,b,c,... :HELP NAME = 'UIM/H4'.Listes ordonnées imbriquées. :XH3.Exemple listes ordonnées imbriquées. :P. Voici deux listes ordonnées imbriquées. :OL. :LI. Premiere ligne :LI. Deuxieme ligne :OL. :LI. première sous partie :LI. deuxieme sous partie :EOL. :LI. et enfin la troisieme :EOL. :P.c'est toujours le système qui numérote. :EHELP. |
UIM gestion de listes (suite). :UL. = Liste non ordonnée. (les éléments sont marqués ("o") par le système mais non numérotés) :EUL. = Fin de liste non ordonnée. :HELP NAME = 'UIM/H5'.Listes non ordonnées imbriquées. :XH3.Exemple listes non ordonnées. :P. Voici deux listes non ordonnées imbriquées. :UL. :LI.première ligne :LI.deuxieme ligne :UL. :LI.première sous partie :LI.deuxieme sous partie :EUL. :LI.et enfin la troisieme :EUL. :EHELP. |
UIM gestion de listes (suite). :SL. = Liste simple. (éléments non marqués, non numérotés) :ESL. = Fin de liste simple. :HELP NAME = 'UIM/H6'.Liste simple. :XH3.Exemple de liste simple. :P. Voici une liste simple (sans marquage) :SL. :LI.1er élément :LI.2eme élément :LI.3eme élément :ESL. :EHELP. |
UIM gestion de listes (suite). :LP. = Partie d'une liste (suite d'un élément) Sans TAG de fin. :HELP NAME = 'UIM/H7'.Partie d'une liste :XH3.Exemple partie d'une liste. :P. Voici une liste ordonnée avec une sous partie. :OL. :LI.première ligne :LI.deuxieme ligne :LP. suite de la deuxieme ligne. :LI.et enfin la troisieme :EOL. :EHELP. |
UIM définition de termes (gestion automatique d'entetes) :DL. = Liste de définitions :DTHD. = Entete du terme :DDHD. = Entete de la définition :DT. un terme :DD. sa définition :DT. autre terme :DD. sa définition etc... :EDL. = fin de liste |
UIM définition de termes (gestion automatique d'entetes) :HELP NAME = 'UIM/H8'.Entetes. :XH3.Exemple de gestion automatique d'entetes. :P. Voici un exemple avec des entetes. :DL. :DTHD. Agence. :DDHD. Région couverte. :DT. NANTES :DD. Région ouest :DT. LYON :DD. Sud-est :DT. PARIS :DD. La capitale :EDL. :EHELP. |
UIM gestion des entetes :Hn. = définition d'une entete. :XHn. = définition d'une entete (affichée uniquement sur l'aide étendue (via F2). ) OU n peut prendre les valeurs suivantes: 1 Texte centré (Haute intensité + soulignement) 2 Cadré à gauche (Haute intensité + soulignement) 3 Cadré à gauche (Haute intensité) 4 Cadré à gauche (soulignement) :HELP NAME = 'UIM/HD'.Texte premier niveau :XH3. Ce texte n'est affiché que sur l'aide étendue. :P. Appuyez sur F2 pour voir le texte associé à l'aide étendue. :EHELP. |
Aide étendue
UIM gestion des attributs. :HPn. = définition d'un attribut d'affichage et d'impression. :EHPn. = fin d'attribut. OU n peut prendre les valeurs suivantes: n ! Affichage ! Impression -----!--------------------------------!------------------------------- 0 ! normal ! normal 1 ! Souligné ! Souligné 2 ! Haute intensité ! Caracteres gras 3 ! Haute intensité +soulignement ! Caracteres gras +soulignement 4 ! idem :HP0 (normal) ! idem :HP0 (normal) 5 ! :HP0 + inversion video ! :HP0 + soulignement 6 ! :HP1 + inversion video ! :HP1 7 ! :HP2 + inversion video (= ND) ! :HP2 + soulignement 8 ! idem :HP7 ! idem :HP7 9 ! :HP0 + inversion video ! :HP0 + soulignement |
UIM gestion automatique d'attributs. :CIT. = définition d'une citation (automatiquement soulignée) :ECIT. = Fin de la citation. :HELP NAME = 'UIM/H9'.Citation. :XH3.Exemple de citation. :P. Voici un exemple de citation. :P. Pour de plus amples explications voir :CIT. Programming display and help :ECIT. dans la salle machine. :EHELP. |
UIM gestion automatique d'attributs. :FIG. = définition d'une figure (automatiquement encadrée par deux lignes soulignées) :FIGCAP.= Texte associé à la figure :EFIG. = Fin de la figure. :HELP NAME = 'UIM/HA'.Figure . :XH3.Exemple de figure. :P. Voici un exemple de figure. :FIG. j'écris ce que je veux ou je veux. :FIGCAP. Voilà une figure. :EFIG. :EHELP. |
UIM Exemples :XMP. = définition d'un exemple(lignes non formatées, décalées de quatres positions vers la droite) :EXMP. = Fin de l'exemple. :HELP NAME = 'UIM/HB'.Exemple . :XH3.Exemple d'exemple UIM. :P. Voici un exemple d'exemple. :XMP. j'écris ce que je veux ou je veux. (les lignes sont décalées de 4 positions vers la droite) :EXMP. :EHELP. |
UIM Lignes non formattées. :LINES. = Début de lignes non formatées(affichées telles que saisies) :ELINES. = Fin de l'exemple. :HELP NAME = 'UIM/HL'.Lignes . :XH3.Exemple de lignes non formattées. :P. Voici un exemple de lignes non formattées par UIM. :LINES. j'écris ce que je veux ou je veux. (les lignes restent telles que saisies dans le source) :ELINES. :EHELP. |
UIM Notes :NT. = définition d'une remarque automatiquement precédée de Remarque: (en france) en haute intensité. :ENT. = Fin de la note. :HELP NAME = 'UIM/HC'.Note. :XH3.Exemple de note. :P. Voici un exemple de note. :NT. voila une note automatiquement précédée de REMARQUE. :ENT. :EHELP. |
UIM Copie d'aide. :IMHELP NAME = 'HHHHHH' permet de demander l'exécution d'une autre aide dont le nom est HHHHH (si cet aide n'appartient pas au même PNLGRP il faudra utiliser au préalable le TAG :IMPORT.) :HELP NAME = 'UIM/HE' .Aide à copier :XH3.Texte affiché en cas de copie. :P. Cette ligne fait partie de l'aide copiée. :EHELP. :HELP NAME = 'UIM/HF'.Aide contenant une copie. :XH3.Exemple de copie d'aide. :P. L'aide copiée est en dessous cette ligne. :IMHELP NAME='UIM/HE'. :P. Retour à l'aide d'origine. :EHELP. |
UIM Copie d'aide. avec :IMPORT |
UIM Hypertexte. L'hypertexte permet d'associer une aide complementaire à un mot de module d'aide. Ce mot sera précédé d'une zone de saisie.l'utilisateur pourra alors saisir un caractère (n'importe lequel) pour visualiser l'aide associée à ce mot. :LINK PERFORM = 'DSPHELP HHHHHHH ppppppp'. ou HHHHHH est le nom du module d'aide pppppp est le nom du PNLGRP (facultatif si c'est le même) suivi du mot concerné, puis :ELINK. TAG de fin. |
:HELP NAME = 'UIM/HG' .Hypertexte (définition). :XH3.Définition de l'HYPERTEXTE. :P. L'hypertexte est une aide associée à un mot d'un panneau d'aide. :P. Une aide de l'aide en quelque sorte. :NT.La touche F6 est active :ENT. :EHELP. :HELP NAME = 'UIM/HH'.Hypertexte (utilisation). :XH3.Utilisation de l'HYPERTEXTE. :P. Voici un exemple d'utilisation de l' :LINK PERFORM='DSPHELP UIM/HG'. hypertexte :ELINK. avec UIM. :NT.Tapez un caractere dans la zone de saisie puis appuyez sur <ENTREE> :ENT. :EHELP. |
Hypertexte
Le lien avec l'hypertexte peut être conditionné LINKWHEN 'condition' Il est possible d'associer plusieurs conditions à un "LINK". SYNTAXE COMPLETE: :LINK PERFORM='DSPHELP aide panel' (UNLESSx='conditionx' THENDOx='DSPHELP aide1 panel' (UNLESSy='conditiony' THENDOy='DSPHELP aide2 panel') ) (LINKWHEN='conditionz'). Le "LINK" n'est exécuté que si 'conditionz' est VRAIE si conditiony est vraie THENDOy est exécuté sinon si conditionx est vraie THENDOx est exécuté dans tous les autres cas le PERFORM initial est exécuté. |
Les conditions utilisables 1/ Tester l'existence et les droits sur un objet 'CHKOBJ("OBJET","TYPE"(,"DROITS"))' si QRPG existe 'CHKOBJ("QRPG","*LIB") si l'utilisateur a le droit de modifier le fichier CLIENTP1 'CHKOBJ("CLIENTP1","*FILE","*CHANGE")' 2/ Tester la classe de l'utilisateur 'CHKUSRCLS("user-classe")' ! !--> *SECOFR Officier de sécurité *SECADM (ou *SECOFR) *PGMR (ou *SECADM ou *SECOFR) *SYSOPR (ou *PGMR ou *SECADM ou *SECOFR) *USER (ou un des précédents = tout le monde) |
|
UIM Index de recherche Il est possible de prévoir des entrées d'index de recherche dans un panneau d'aide. :ISCH ROOTS='paragraphe'.Exemple de paragraphe. ou "paragraphe" est le mot "clé" associé à cet aide "Exemple de ..." le texte affiché par le pgm de recherche dans l'index (cde STRSCHIDX) quelques exemples: :HELP NAME = 'UIM/H2'.Liste de paramètres. :XH3.Exemple de liste de paramètres. :ISCH ROOTS='liste paramètre'.Exemple liste de parametres. ..... :HELP NAME = 'UIM/H4'.Listes ordonnées imbriquées. :XH3.Exemple listes ordonées imbriquées. :ISCH ROOTS='liste imbriquee'.Exemple listes imbriquées. ..... |
UIM Index de recherche Il est en général conseillé d'associer à chaque mot "clé" une liste de synonymes afin de faciliter la recherche des utilisateurs :ISCHSYN ROOT'mot-clé'.synonyme1 synonyme2 synonyme3 etc... Ces définitions de synonymes se placent en général en début de source mais elles peuvent être placées dans un pannel groupe spécifique qui sera associé au même index de recherche. Puis il faut associer le panneau d'aide à l'index par la cde CL ADDSCHIDXE. :PNLGRP :ISCHSYN ROOT='liste'.liste OL UL SL LI LP list listes :ISCHSYN ROOT='parametre'.parametre paramètres mot clé mot-clé keyword :ISCHSYN ROOT='ordonnée'.ordonnée ordonnées ordonner :ISCHSYN ROOT='ordonnée'.numérotée numérotées numeroter numérotation :ISCHSYN ROOT='imbriquee'.imbriquée imbriquées imbriquation imbriquer |
ATTENTION le lien entre l'index et le panel groupe est fait lors de l'exécution de la commande ADDSCHIDXE. SI vous modifiez les entrées (:ISCH) ou les synonymes (:ISCHSYN) il faut refaire ce lien: RMVSCHIDXE puis ADDSCHIDXE Depuis la V2R30 on peut organiser les sujets en ordre hiérarchique. sujet 1 sujet 11 --> sujet 11 est sous-rubrique de sujet 1 sujet 11a sujet 11b --> sujet 11a et 11b sont sous rubriques de sujet 11 sujet 12 sujet 12a etc ... sujet 2 |
Ma mise en oeuvre est la suivante : :HELP NAME = 'UIM/S1' .Sujet 1 :ISCH ROOTS='sujet1'.Sujet de niveau 1 :ISCHSUBT topics='UIM/S11' topics='UIM/S12'. :P.aide du sujet de niveau 1 :EHELP. :HELP NAME = 'UIM/S11' .Sujet 1-1. :ISCH ROOTS='sujet 1'.Sujet de niveau 11. :ISCHSUBT topics='UIM/S11a' topics='UIM/S11b'. :P.aide du sujet de niveau 1 sous rubrique 1. :EHELP. :HELP NAME = 'UIM/S12' .Sujet 1-2. :ISCH ROOTS='sujet 12'.Sujet de niveau 12. :P.aide du sujet de niveau 1 sous rubrique 2 :EHELP. :HELP NAME = 'UIM/S11a' .Sujet 1-1/a. :ISCH ROOTS='sujet 11 a'.Sujet de niveau 11/a. :P.aide du sujet de niveau 1 sous rubrique 1/a :EHELP. |
:HELP NAME = 'UIM/S11b' .Sujet 1-1/b. :ISCH ROOTS='sujet 11 b'.Sujet de niveau 11/b. :P.aide du sujet de niveau 1 sous rubrique 1/b :EHELP. :HELP NAME = 'UIM/S2' .Sujet 2. :ISCH ROOTS='sujet 2'.Sujet de niveau 2. :P.aide du sujet de niveau 2 :EHELP. Un panneau ne peut pas être indiqué plusieurs fois en tant que sous rubrique d'un même panneau : :ISCHSUBT topics='H1' topics='H1' est interdit Mais un panneau peut être sous rubrique de plusieurs panneaux différents La seule limite est le niveau d'imbriquation limité à 16 !! Tous les panneaux n'étant pas référencés en tant que sous rubrique sont considérés de premier niveau (un index sans sous rubrique ne contient que des panneaux de premier niveau = index avant V2R30) Vous allez visualiser un index contenant les panneaux ci-dessus : |
Index d'aide Indiquez vos options et appuyez sur ENTREE (+ indique des sous-rubriques) 5=Afficher rubrique 6=Imprimer rubrique 7=Détailler rubrique 8=Condenser rubrique Opt Rubrique Index avec sous rubriques (V2R30) + Sujet de niveau 1. Sujet de niveau 2. ou entrez les termes à rechercher et appuyez sur ENTREE (le signe * indique les rubriques contenant les termes recherchés). F3=Fin d'aide F5=Toutes les rubriques F6=Rubriques principales F11=Cacher structure F12=Annuler F18=Autres index F24=Autres touches |
Index d'aide Indiquez vos options et appuyez sur ENTREE (+ indique des sous-rubriques) 5=Afficher rubrique 6=Imprimer rubrique 7=Détailler rubrique 8=Condenser rubrique Opt Rubrique Index avec sous rubriques (V2R30) 7 + Sujet de niveau 1. Sujet de niveau 2. ou entrez les termes à rechercher et appuyez sur ENTREE (le signe * indique les rubriques contenant les termes recherchés). F3=Fin d'aide F5=Toutes les rubriques F6=Rubriques principales F11=Cacher structure F12=Annuler F18=Autres index F24=Autres touches |
Index d'aide Indiquez vos options et appuyez sur ENTREE (+ indique des sous-rubriques) 5=Afficher rubrique 6=Imprimer rubrique 7=Détailler rubrique 8=Condenser rubrique Opt Rubrique Index avec sous rubriques (V2R30) Sujet de niveau 1. 7 + Sujet de niveau 11. Sujet de niveau 12. Sujet de niveau 2. Fin ou entrez les termes à rechercher et appuyez sur ENTREE (le signe * indique les rubriques contenant les termes recherchés). F3=Fin d'aide F5=Toutes les rubriques F6=Rubriques principales F11=Cacher structure F12=Annuler F18=Autres index F24=Autres touches |
Index d'aide Indiquez vos options et appuyez sur ENTREE (+ indique des sous-rubriques) 5=Afficher rubrique 6=Imprimer rubrique 7=Détailler rubrique 8=Condenser rubrique Opt Rubrique Index avec sous rubriques (V2R30) 8 Sujet de niveau 1. Sujet de niveau 11. Sujet de niveau 11/a. Sujet de niveau 11/b. Sujet de niveau 12. Sujet de niveau 2. Fin ou entrez les termes à rechercher et appuyez sur ENTREE (le signe * indique les rubriques contenant les termes recherchés). F3=Fin d'aide F5=Toutes les rubriques F6=Rubriques principales F11=Cacher structure F12=Annuler F18=Autres index F24=Autres touches |
Quelques copies d'écran![]() ![]() |
Une aide peut être associée à une Aire dans un DSPF
Dans le DSPF
ALTHELP(CA01) : F1 remplace la touche AIDE HLPTITLE : Titre général Dans les formats :
|
Une aide peut être associée à une Commande
PK : mot réservé (def = valeur par défaut) :PARML.
|
UIM permet aussi de faire des menus
|
Par exemple
Source du menu
|