dr_tux:assistant_de_gestion_des_menus_contextuels

Ceci est une ancienne révision du document !


Le principe des menus contextuels

Comme vous pouvez le voir sur la figure ci-après, un clic souris ou un appui de la touche F2 à droite le la zone texte bleue : « plaie » a fait apparaître un menu surgissant avec les propositions textuelles suivantes avec lambeau cutané avec lésion tendineuse avec perte de substance avec dermabrasion risque tétanigène souillée par qui sont en rapport avec le mot « plaie ».

Le choix de l'une des propositions se fait en cliquant sur l'une d'elles, ce qui aura pour effet de l'ajouter à l'emplacement du curseur texte.

Cette insertion de texte peut très bien être aussi une autre zone de menu déroulant (cas des propositions dont l'icône a la forme d'un dossier : ) qui s'affichera alors en bleu comme par exemple la proposition « avec dermabrasion », qui permet aussi un menu contextuel, et ainsi de suite.

Il est donc possible de créer des documents types possédant déjà une véritable architecture de menus contextuels dont la mise en oeuvre permet de saisir très rapidement le dossier. C'est de cette façon qu'il est possible de protocoliser la saisie avec des propositions homogènes et cohérentes.

Nous verrons qu'il est aussi possible d'appeler avec un menu contextuel, les dialogues et assistants de DrTux, ainsi que des programmes externes.

Créer un nouveau menu contextuel

Pour comprendre, rien de mieux qu'un petit exemple : Dans un des éditeurs de DrTux (Observation par exemple), saisissez le texte suivant (sans les guillemets bien sûr !!) : « Essai de création d'un menu contextuel »

puis sélectionnez-le à la souris ou au clavier :

puis cliquez sur l'icône : dans la barre d'outils de DrTux.

Désélectionnez le texte en cliquant à sa droite. Le texte devrait être alors en bleu comme ceci : Essai de création d'un menu contextuel.

Puis, cliquez avec le bouton droit de la souris, avec toujours le curseur texte et la souris positionnés à droite du texte, le menu suivant devrait apparaître :

Sélectionnez l'option: « Modifier cette liste » qui devrait faire apparaître l'assistant de gestion des menus contextuels, que nous allons voir dans le paragraphe suivant.

Modifier les menus contextuels

Si vous avez suivi l'exemple précédent vous devriez avoir la boîte de dialogue suivante (réduite pour des raisons de mise en page) positionnée sur la liste que vous venez de créer :

Comme vous venez de créer cette liste, elle ne contient rien. Aussi, si vous cliquez dessus il ne se passera rien.

Cette boîte de dialogue est aussi accessible à l'aide de l'entrée de menu ci-dessous.

Ajouter une option

positionnez la souris au-dessus de : « Essai de création d'un menu contextuel »

et cliquez avec le bouton droit. Vous devriez voir apparaître le menu suivant :

listant les options suivantes :

  • Créer et Ajouter un Nouvel élément à une liste
  • Créer et Ajouter une référence à une autre liste
  • Choisir une liste déjà existante, comme référence
  • Créer une Nouvelle liste déroulante
  • Renommer cet élément ou liste
  • Effacer cet élément ou liste
  • Vérifier si cette liste est référencée par d'autres
  • Placer ce menu '…..' comme menu fixe d'une rubrique.

Cliquez sur l'option : « Créer et Ajouter un Nouvel élément à une liste » le dialogue suivant vous invite alors à saisir le texte d'une nouvelle option de votre menu contextuel.

Saisissez par exemple : « Option numéro 1 », puis répétez pour ajouter d'autres options à votre menu la procédure précédente décrite en : « -a- Ajouter une option » exemple : « Option numéro 2 » , « Option numéro 3 »

La liste devrait alors se présenter comme suit, avec les nouvelles options saisies :

Fermez à présent l'assistant de gestion des menus contextuels en cliquant sur la case de fermeture de la fenêtre, puis positionnez dans le texte, la souris à droite du texte de couleur bleue : Essai de création d'un menu contextuel, et cliquez sur le bouton droit de la souris ou appuyez sur la touche F2 le menu suivant devrait apparaître :

Bravo !!! vous avez créé un nouveau menu contextuel.

Effacer un menu contextuel

Sélectionnez la liste à effacer, cliquez avec le bouton droit de la souris pour afficher le menu, et cliquez sur l'option : « Effacer cet élément ou liste »

Les autres options du menu

Le menu du gestionnaire de liste déroulante s'obtient en cliquant avec le bouton droit de la souris, celle-ci placée au-dessus d'un élément de la liste d'insertion.

listant les options suivantes :

  • Créer et Ajouter un Nouvel élément à une liste

Ajoute un nouvel item à la liste déroulante

  • Créer et Ajouter une référence à une autre liste

Ajoute une nouvelle référence à une autre liste : si cette référence indique une liste non existante, une nouvelle liste vide sera créée. Les références aux autres listes ont pour symbole un petit dossier :

  • Choisir une liste déjà existante, comme référence

Permet d'ajouter une référence à une autre liste, en la choisissant dans une liste de liste (heu !!! un dessin S.V.P.)

Les références aux autres listes ont pour symbole un petit dossier :

  • Créer une Nouvelle liste déroulante

Comme son nom l'indique, cette option crée simplement une nouvelle liste déroulante sans ajouter de référence à une autre liste

  • Renommer cet élément ou liste

permet de renommer un élément de la liste .

  • Effacer cet élément ou liste

Efface un élément de la liste

  • Vérifier si cette liste est référencée par d'autres

Option très utile pour vérifier avant de renommer ou effacer une liste, si celle-ci n'est pas déjà référencée par une autre liste, auquel cas la référence deviendrait fausse.

  • Placer ce menu 'Menu Document' comme menu fixe d'une rubrique

Chaque rubrique peut avoir un menu déroulant ne dépendant pas du contexte textuel de l'éditeur de texte. Cette option permet d'attribuer la liste déroulante au-dessus de laquelle la souris se trouve, comme menu déroulant fixe d'une rubrique à choisir dans la liste d'options présentée par le sous menu : Placer ce menu 'nom de la rubrique' comme menu fixe d'une rubrique.

Transformer un item de la liste en Item texte

Parfois vous souhaiterez qu'une option soit plus qu'une simple ligne de texte, par exemple un bloc de texte complet. Pour cela vous disposez à la droite de la boîte listant les listes d'insertion, d'une petit éditeur de texte très simple, Sélectionnez un élément d'une liste, cliquez sur l'éditeur de texte, et vous remarquerez que, dès que vous commencez à saisir des caractères le symbole s'affiche vous signalant une modification du contenu textuel de l'option. Cliquez ensuite sur ce symbole pour enregistrer les modifications.

Toute option de liste, qui représente un texte est signalée par le symbole :

Trucs et astuces du texte d'une option

  • Les modificateurs $start_title et $end_title pour afficher le titre d'une option en masquant le reste de l'option :

Cette possibilité est utile par exemple pour les menus comportant des macros très longues qu'il n'est pas utile de montrer. Pour cela vous placez au début du texte de l'option les modificateurs : $start_title et $end_title encadrant le titre de l'option, puis à la suite le reste du texte devant être masqué. Exemple : $start_titleNumérisation et OCR avec Xsane et tesseract$end_title très très longue macro à masquer……..

  • Le modificateur # indique que seul ce qui le suit doit être inséré :

Ce modificateur permet de n'insérer que la dernière option d'un menu cascadé, sans les items précédents liés à la hiérarchie du menu.

  • Le modificateur $NoInsert pour empêcher l'insertion de texte lors de l'exécution d'une option de menu :

Ce modificateur : $NoInsert fait en sorte qu'aucun texte ne sera inséré lors du choix de cette option. Cela est utile par exemple pour des options ne devant pas insérér de texte mais juste exxécuter une macro. Exemple : $start_title Appel Google avec une sélection de texte $end_title $noInsert{{\ {{:: VAR_SET(selection,{{GET_SELECTION}})}}\ {{:: exe_process ( , C:/Program Files/Mozilla Firefox/firefox, http://www.google.fr/search?q={{VAR=selection}}&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a )}}}}

  • Insérer une image dans le texte d'une option :

Cliquez sur l'icône en forme de fleur : et, à l'aide du sélecteur de fichiers, choisissez l'image à insérer. Celle-ci se placera à l'emplacement du curseur texte. Il est à noter que l'image sera recopiée dans le répertoire suivant : ImagesFolder, situé lui-même dans le même répertoire de votre Glossaire.

  • Placer une référence à une autre liste, dans le texte :

Cliquez sur l'icône d'insertion de liste , ce qui fera apparaître le menu déroulant suivant :

La première option : « Insérer au curseur une référence à une liste déroulante existante » vous présentera la liste de toutes les listes d'insertion comme ci-dessous :

il suffit alors de cliquer sur celle dont on veut que la référence soit indiquée dans le texte.

La deuxième option : « Insérer au curseur une nouvelle liste déroulante à créer » vous proposera, à partir du texte sélectionné auparavant,

de saisir le libellé ou intitulé d'une nouvelle liste à créer.

  • Appel d'un assistant de DrTux et insertions de formules préétablies:

Il est possible de créer des options qui activent un assistant d'aide à la saisie, pour cela le texte de l'option doit être entre {{ ouvrants et }} fermants. {{ActesClassants}} cet exemple est pour l'assistant d'aide à la saisie des actes classants

les assistants possibles pour l'instant sont :

  • {{ActesClassants}} Pour l'assistant d'aide à la saisie des actes classants
  • {{CIM10Urg}} Pour l'assistant d'aide à la saisie des codes CIM 10
  • {{CCAM_View}} Pour l'assistant d'aide à la saisie des codes CCAM

les formules préétablies sont :

  • {{PlacerPathologies}} Pour insérer la liste des antécédents
  • {{TraitementCourant}} Pour insérer la liste des prescriptions du traitement courant
  • {{TraitementHabituel}} Pour insérer la liste des prescriptions du traitement habituel
  • {{InsérerOrdo}} Pour insérer la liste des prescriptions de l'ordonnance structurée en cours d'affichage
  • {{HeureCourante}} Pour insérer l'heure courante
  • {{DateCourante}} Pour insérer la date courante
  • {{DT=expression}} Pour insérer la date et l'heure courantes. expression est une chaîne de caractères
  • avec la syntaxe suivante : (format des dates).

Format des dates :

Expression Résultat
d le jour sans placer les zéros (1-31)
dd le jour en plaçant les zéros (01-31)
ddd le jour en mode abrégé (e.g. 'Lun'..'Sam')
dddd le jour en mode long (e.g. 'Lundi'..'Mardi').
M le mois sans placer les zéros (1-12)
MM le mois en plaçant les zéros (01-12)
MMM le mois en mode abrégé (e.g. 'Jan'..'Déc').
MMMM le mois en mode long (e.g. 'Janvier'..'Décembre').
yy l'année avec deux chiffres (00-99)
yyyy l'année avec quatre chiffres (1752-8000)
h l'heure sans tenir compte des zéros (0..23 ou 1..12 si AM/PM affiché)
hh l'heure en tenant compte des zéros (00..23 ou 01..12 si AM/PM affiché)
m Les minutes sans tenir compte des zéros (0..59)
mm Les minutes en tenant compte des zéros (00..59)
s Les secondes sans tenir compte des zéros (0..59)
ss Les secondes en tenant compte des zéros (00..59)
z Les milli-secondes sans tenir compte des zéros (0..999)
zzz Les milli-secondes en tenant compte des zéros (000..999)
AP utilise l'affichage AM/PM. AP devra être remplacé soit par “AM” soit par “PM”
ap utilise l'affichage am/pm. AP devra être remplacé soit par “am” soit par “pm”

Tous les autres caractères sont ignorés. Si vous voulez afficher le caractère h , placez le symbole | Exemples d'expressions possibles (suppose que la Date est le 20 Juillet 1969):

Expression Résultat
dd.MM.yyyy 20.07.1969
ddd MMMM d yy Sam Juillet 20 69

Installer une liste d'options permanente dans le menu déroulant

Accès par le gestionnaire de menus

Chaque rubrique peut avoir un menu déroulant ne dépendant pas du

  contexte textuel de l'éditeur de texte. L'option :
  Placer ce menu...comme menu fixe d'une rubrique
  permet d'attribuer la liste déroulante au-dessus de laquelle la souris se
  trouve, comme menu déroulant fixe d'une rubrique à choisir dans la
  liste d'options présentée par le sous menu.

Accès en éditant les fichiers Manager.ini et drtux.ini

Dans les fichiers :

  MedinTux/drtux/bin/DrTux.ini                        

et

  MedinTux/Manager/bin/Manager.ini

vous trouverez l'entrée ou section suivante : [MenuContextuel]

  suivie de diverses mentions ou options.

La règle des menus permanents ou fixes est la suivante : pour toute rubrique 'RubriqueXXX' il peut exister dans la section [MenuContextuel] une entrée du nom de la rubrique, suivi du signe égal, lui-même suivi de la liste permanente correspondant à cette rubrique. Une entrée spéciale ListImages concerne le menus dédiés aux images.

      [MenuContextuel]
      Observation  = Date SU
      Prescription  = pendant
      Documents = Gestion des documents
      Identification = Gestion des documents
      ListImages = Gestion des images
      
* la mention : Observation =  est suivie de la liste d'options à installer comme options permanentes du menu de la rubrique : Observation. Dans l'exemple ci-dessus, les options de la liste    Date SU   seront rajoutées au menu contextuel.
  • la mention : Prescription = est suivie de la liste d'options à installer comme options permanentes du menu de la rubrique : Prescription. Dans l'exemple ci-dessus, les options de la liste pendant seront rajoutées au menu contextuel.
  • la mention : Documents = est suivie de la liste d'options à installer comme options permanentes du menu de la rubrique : Documents. Dans l'exemple ci-dessus, les options de la liste Gestion des documents seront rajoutées au menu contextuel.
  • la mention : ListImages = est suivie de la liste d'options à installer comme options lors d'un clic droit sur une image, quelle que soit la rubrique. Dans l'exemple ci-dessus, les options de la liste Gestion des Images seront rajoutées au menu contextuel.
EXEMPLES

Option de liste déroulante appelant le numérisateur d'images à placer par exemple dans toutes les listes permanentes.

  • Numériser une image.html dont le contenu est {{:: exe_process (WaitEnd , /usr/bin/kooka) }}
  • Liste déroulante lors d'un clic droit sur une image telle que appelée par la mention : ListImages = Gestion des images

Cette liste contient deux options qui permettent d'enregistrer la dernière image visualisée sous le curseur texte et de l'envoyer sur un visualisateur ou éditeur d'images :

  • Editer l'image avec kuickshow.html (visualisateur) dont le contenu est {{SAVE LAST IMAGE NAME = ../../tmp/ }}\
  • {{:: exe_process (noWaitEnd , /usr/bin/kuickshow ,$ToAbsPath ../../tmp/{{GET LAST IMAGE NAME}}) }}
  • Editer l'image avec The Gimp.html (éditeur) dont le contenu est {SAVE LAST IMAGE NAME =../../tmp/}}\

{{:: exe_process (noWaitEnd , /usr/bin/gimp ,$ToAbsPath ../../tmp/{{GET LAST IMAGE NAME}}) }}

  • Notez l'instruction d'attente de ::exe_process

si noWaitEnd qui signifie 'ne pas attendre la fin du plugin' et revient tout de suite dans MedinTux. si WaitEnd qui signifie ' attendre la fin du plugin' avant de revenir dans MedinTux.

  • Notez l'instruction de formatage du path de ::exe_process $ToAbsPath considère l'argument qui suit comme un chemin de fichier relatif et le transforme en chemin absolu.

Le gestionnaire de listes déroulantes positionné sur la liste déroulante 'Gestion des images'

Installer un plugin dans une option du menu déroulant

Un plugin est un programme pouvant être appelé à partir du menu contextuel des rubriques, Observation et Prescription de MedinTux. Ce programme reçoit en entrée les éléments du contexte actuel de MedinTux et, en retour, il fournit un texte s'insérant à l'emplacement du curseur texte. Par exemple, on peut imaginer un plugin présentant une image anatomique, sur laquelle un clic souris permettrait de retourner un texte affecté à une zone de l'image.

Il faut donc trois conditions :

1) Que le plugin existe et réponde aux conditions d'appel fixées par MedinTux

Le plugin reçoit sur sa ligne d'arguments plusieurs paramètres décrits ci-après:

  • argv[0]; chemin et nom du plugin lui-même * argv[1]; chemin d'un éventuel fichier ini ou “” si absent
  • argv[2]; chemin et nom du programme appelant (parent) * argv[3]; chemin et nom du fichier où le résultat doit être retourné
  • argv[4]; GUID identificateur unique du dossier en cours * argv[5]; clef primaire de l'observation en cours
  • argv[6]; clef primaire du terrain en cours * argv[7]; clef primaire de la prescription en cours
  • argv[8]; réservé pour un usage futur * argv[9]; réservé pour un usage futur
  • argv[10]; réservé pour un usage futur * argv[11]; réservé pour un usage futur
  • argv[12]; nb (Nombre des paramètres suivants) * argv[13 + 0]; 1er paramètre (12 + 1)
  • .
  • .
  • argv[13 + nb -1 ]; nème paramètre (12 + nb) 2) Que le plugin retourne un texte récupérable par MedinTux. Le plugin doit écrire son résultat dans le fichier indiqué par : * argv[3]; chemin et nom du fichier où le résultat doit être retourné

3) Qu'il existe dans le système de menu déroulant un appel au plugin. pour cela placer une option de menu de type item texte avec un texte dont la syntaxe particulière permet l'appel du plugin.

l'exemple ci-dessous permet de comprendre la syntaxe à employer pour actionner le plugin. Cet exemple ci permet d'appeler le programme de lecture des informations de la carte Sesam-Vitale (pour des raisons didactiques certaines portions de l'exemple ont été mises en couleur et gras) :

La Gestion des librairies de macro

Il est désormais possible de se constituer des bibliothèques de macro, et modèles. avec tout ce qu'il faut pour qu'elles fonctionnent. Puis à l'aide du gestionnaire de liste en un clic tous les éléments concernant par exemple un test, un score, un modèle avec tous les menus correspondants à ce modèle, seront intégrés à votre menu.

Pour accéder au gestionnaire de liste activez l'option de menu comme indiqué ci-dessous.

Cela ouvre le dialogue de gestion des listes déroulantes,

dans lequel nous voyons un bouton qui lorsqu'il est cliqué affiche une liste de choix,

qui présente les composants disponibles, et vous permet de choisir un composant à installer en double cliquant dessus. Cette bibliothèque de macro. est par défaut positionnée dans le répertoire : Programmes/Librairie de menus.Il est possible de modifier cet emplacement à l'aide du bouton : .

Un tutoriel vaut mieux qu'un long discours.

dr_tux:tutoriel document typeFIXME (insérer les images à partir de du document original

dr_tux/assistant_de_gestion_des_menus_contextuels.1313851435.txt.gz · Dernière modification: 2011/08/24 21:39 (modification externe)