/*************************************************************************/
/*                                                                       */
/* N.B. Ce fichier est engendr automatiquement par le processus de      */
/* compilation de JAXE,  partir d'un fichier d'origine contenu dans     */
/* le rpertoire des sources. Inutile de modifier la copie.              */
/* PV 09/01/2009                                                         */
/*                                                                       */
/*************************************************************************/

/*************************************************************************/
/*                                                                       */
/* Pense-bte : pour rinstaller JAXE dans son rpertoire accessible par */
/* l'utilisateur (ici, /opt/jaxe), en y incluant toute nouvelle version  */
/* de corpus.xsd (le schma de document), CORPUS_config.xml (le fichier  */
/* de configuration de JAXE pour ces corpus), Jaxe.jar (compilation de   */
/* tout le code source Java) et des ventuels plugins, il faut faire :   */
/*                                                                       */
/* 1. Dans le rpertoire source de JAXE (ici, /usr/local/src/jaxe) :     */
/*                                                                       */
/*  $ cd /usr/local/src/jaxe                                             */
/*  $ ant                                                                */
/*                                                                       */
/* (recompilation de Jaxe.jar intgrant toute ventuelle modification    */
/* dans le code source + copie des versions actualises des fichiers de  */
/* config figurant dans le sous-rpertoire "config/" - cf. build.xml) ;  */
/*                                                                       */
/* 2. Pour les plugins (non-intgrs dans l'arbre source de Jaxe, ce     */
/* n'est pas l'esprit) :                                                 */
/*                                                                       */
/*  2.1. R-engendrer les fonctions java d'insertion d'abrviations      */
/*    partir de la liste contenue dans le fichier ABREVIATIONS.txt :    */
/*                                                                       */
/*  $ cd /usr/local/src/jaxe/scripts/contacts                            */
/*  $ ./Genere_Fonctions_Insertion_Abreviations.sh                       */
/*                                                                       */
/*  2.2. Se mettre dans le rpertoire source et compiler les *.java :    */
/*                                                                       */
/*  $ cd /usr/local/src/jaxe/plugins/source/contacts                     */
/*  $ javac -encoding ISO-8859-1 -classpath ../../../source/lib:../../../dist/Jaxe/lib/Jaxe.jar *.java     */
/*  $ javac -encoding ISO-8859-1 -classpath ../../../source/lib:../../../dist/Jaxe/lib/Jaxe.jar */*.java   */
/*                                                                       */
/*  2.3. Les mettre dans un fichier jar :                                */
/*                                                                       */
/*  $ cd /usr/local/src/jaxe/plugins/source                              */
/*  $ find contacts -type f -name '*.class' -print > /tmp/contacts-class-files.lst  */
/*  $ jar cvf ../Contacts.jar @/tmp/contacts-class-files.lst             */
/*                                                                       */
/*  2.4. Regnrer le fichier de config de l'interface CORPUS Contacts : */
/*                                                                       */
/*  $ cd /usr/local/src/jaxe/scripts/contacts                            */
/*  $ ./Genere_Menu_Config_Abreviations.sh                               */
/*                                                                       */
/* 3. Pour recopier le fichier compil (jar) des plugins dans le         */
/*  rpertoire de distribution, refaire une passe de ant :               */
/*                                                                       */
/*  $ cd /usr/local/src/jaxe                                             */
/*  $ ant                                                                */
/*                                                                       */
/* 4. En tant que root :                                                 */
/*                                                                       */
/*  # rm -rf /opt/jaxe ; mv /usr/local/src/jaxe/dist/Jaxe /opt/jaxe      */
/*                                                                       */
/* (rinstallation dans /opt/jaxe)                                       */
/*                                                                       */
/* --------------------------------------------------------------------- */
/*                                                                       */
/* Un script permet de faire la squence de toutes ces tapes en tapant  */
/* une seule commande :                                                  */
/*                                                                       */
/*  $ /usr/local/src/jaxe/scripts/contacts/Regenere_Jaxe.sh              */
/*                                                                       */
/* (mais ce n'est pas conomique si le fichier ABREVIATIONS.txt n'a pas  */
/* t modifi, ni les autres plugins).                                  */
/*                                                                       */
/*************************************************************************/


Changements par rapport  la version de JAXE d'origine
(tlcharge le 25/04/2008 sur sourceforge) :


- Ajout de plugins pour les fonctions d'insertion de
  caractres exotiques.

  Ajout de fonctions pour insrer des abrviations usuelles
  de linguistique.

  Ces fonctions sont dans le rpertoire source/plugins/contacts/

  Les fichiers jar des classes compiles, InsertionCaracteresSpeciaux.jar
  et InsertionAbreviations.jar, ont t placs dans le rpertoire plugins.

- Modification du source de JAXE dans les fichiers Config.java et
  JaxeTextPane.java, pour permettre plus de libert dans la dfinition
  des raccourcis clavier.

   N.B. La mthode propose par dfaut par JAXE consiste  ne
   prendre que le premier caractre de la chane trouve dans
   l'attribut "raccourci", et  lui ajouter le modificateur par
   dfaut Ctrl.

   Ainsi raccourci="Abraracourcix" correspond  Ctrl-A.

   Le but de cette manire de faire (info reue de Damien
   Guillaume, le programmeur de JAXE, 07/01/2009) est d'assurer
   la compatibilit PC + Mac (dans un cas, le masque par dfaut
   est la touche Ctrl, dans l'autre c'est la touche Cmd).

   J'ai modifi a pour pouvoir dcrire le raccourci clavier
   sous la forme d'une spcification complte de "Keystroke"
   telle qu'elle est dfinie dans :

   https://java.sun.com/javase/6/docs/api/javax/swing/KeyStroke.html#getKeyStroke(java.lang.String)

   (- cf. http://www.brain4.de/programmierecke/js/tastatur.php pour
   tester les noms de touches -)

   si et seulement si la chane donne pour l'attribut "raccourci"
   commence par un crochet ouvrant ("[") et finit par un crochet
   fermant ("]").

  Le fichier Config.java modifi est dans le rpertoire source/jaxe/

  Le fichier JaxeTextFrame.java a t lgrement modifi aussi pour
  dsactiver l'action de base de la touche tabulation (qui insre un
  caractre tabulation, i.e. code ASCII 9), afin que la touche tabulation
  puisse tre lie  l'action d'insertion d'une balise d'alignement
  (point de tabulation) destine  l'alignement du texte des noncs
  et de leur traduction juxtalinaire.

   part ce cas spcifique, les autres liens de touche donns dans le
  menu ne devraient pas concerner des touches de base (insrant par
  dfaut des caractres imprimables), mais des combinaisons de touches
  comportant des touches de fonction.

- Modification du code d'une fonction (dans JaxeFrame.java) pour permettre
  l'insertion de commandes correspondant  des fonctions dans tous les
  niveaux de menus et de sous-menus (cf. ci-dessous change de messages
  avec Damien Guillaume de l'OBSPM - le crateur de Jaxe).

  /*-----------------------------------------------------------------------*/

  From: Pascal Vaillant <vaillant@vjf.cnrs.fr>
  To: Damien Guillaume <damien.guillaume@obspm.fr>
  Subject: Remarque sur JAXE
  Date: Wed, 9 Sep 2009 09:26:04 +0000
  Message-Id: <200909090926.04570.vaillant@vjf.cnrs.fr>
  Organization: CELIA
  MIME-Version: 1.0
  Content-Type: text/plain; charset="iso-8859-1"
  Content-Transfer-Encoding: 8bit

  Bonjour Damien,

  Comme je vous l'ai dit dans un prcdent contact (message du 7 janvier
  2009), je travaille dans une quipe de linguistes, et j'utilise JAXE
  pour permettre l'dition de corpus.

  Je voulais juste vous signaler que j'ai but sur un problme, auquel
  j'ai finalement apport une solution  bricole  - au cas o cela
  serve  d'autres (enfin, pour moi, il s'agissait d'un bug, mais vous
  pourriez toujours rpondre par la formule classique  it's not a bug,
  it's a feature  ;-) ).

  Le problme : les actions consistant  dclencher une fonction, au
  sein des menus (MENU_FONCTION), taient automatiquement dsactives
  si elles n'taient pas sous un menu  top-level  - alors que j'avais
  envie d'organiser certaines fonctions dans des sous-menus hirarchiss.

  Solution que j'ai mise en oeuvre : j'ai patch le code de la fonction
  majMenu  trois arguments (ligne 764 dans le fichier JaxeFrame.java),
  qui a pour rle de dsactiver les lments XML non-insrables dans le contexte.
  Cette fonction fait un calcul pour dterminer quelles sont les actions de
  menu du type ActionInsertionBalise qui sont activables dans le contexte,
  mais ne prend pas en compte le cas des actions du type ActionFonction.
   la ligne 789 (juste avant le "else if (item instanceof JMenu)"), j'ai
  donc intercal un nouveau "else if" :

  else if (action instanceof ActionFonction) {
   action.setEnabled(true);
   anyenab = true;
  } (...)

  Ce qui revient  activer les fonctions dans tous les contextes.

  Amicalement,

  Pascal Vaillant


/*-----------------------------------------------------------------------*/

  From: Damien Guillaume <damien.guillaume@obspm.fr>
  To: Pascal Vaillant <vaillant@vjf.cnrs.fr>
  Date: Wed, 9 Sep 2009 11:35:53 +0200
  Subject: Re: Remarque sur JAXE
  Message-Id: <0CBEA6C8-9B1D-45C7-9094-0995BFFEF051@obspm.fr>
  In-Reply-To: <200909090926.04570.vaillant@vjf.cnrs.fr>
  Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes
  Content-Transfer-Encoding: quoted-printable
  Mime-Version: 1.0 (Apple Message framework v936)

  Bonjour,

          C'est bien sr un bug !

  Comme je n'utilise pas beaucoup de fonctions, je n'ai jamais eu besoin  
  d'utiliser de sous-menus. Mais il n'y a aucune raison d'empcher  
  l'utilisation de fonctions dans les sous-menus. Je vais corriger a de  
  suite...

  Merci pour les prcisions, je n'ai pas grand chose  faire pour  
  corriger.

  Damien


/*-----------------------------------------------------------------------*/

/*************************************************************************/
/*                                                                       */
/* Pour la liste des abrviations linguistiques utilises dans le        */
/* systme, voir le fichier ABREVIATIONS.txt                             */
/*                                                                       */
/*************************************************************************/
