Grammalecte  Check-in [93888e7c05]

Overview
Comment:[tb] lexicon editor: ui update > search tab + info tab
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tb | multid
Files: files | file ages | folders
SHA3-256: 93888e7c057f6c75804351d2ccbf47de9e9fd9a91a2f373fd8b5f639ec8a59f2
User & Date: olr on 2018-03-21 17:06:25
Other Links: branch diff | manifest | tags
Context
2018-03-21
17:40
[graphspell][cli] select by flexion and by tags check-in: 4e94d8cfc8 user: olr tags: cli, graphspell, multid
17:06
[tb] lexicon editor: ui update > search tab + info tab check-in: 93888e7c05 user: olr tags: multid, tb
08:20
[fr][bug] conj_generator: correction: flexion vide si nCut = 0 check-in: 479b4f4cfb user: olr tags: fr, multid
Changes

Modified gc_lang/fr/tb/content/lex_editor.css from [2bf7166364] to [bcaa37e951].

    84     84   
    85     85   .info_label {
    86     86       width: 120px;
    87     87   }
    88     88   .data {
    89     89       width: 90px;
    90     90   }
           91  +
           92  +/*
           93  +    Search tab
           94  +*/
           95  +
           96  +#search_table {
           97  +    width: 600px;
           98  +    height: 650px;
           99  +}
          100  +
          101  +description {
          102  +    width: 200px;
          103  +}
          104  +
          105  +/*
          106  +    Informations tab
          107  +*/
          108  +
          109  +#tags_table {
          110  +    width: 600px;
          111  +    height: 650px;
          112  +    font-family: "Courier new", "Ubuntu Mono", Courier, Consolas, monospace;
          113  +}
          114  +
    91    115   

Modified gc_lang/fr/tb/content/lex_editor.js from [e1b304940a] to [54d7c2964f].

   470    470   
   471    471       export: function () {
   472    472           let sJSON = JSON.stringify(this.oIBDAWG.getJSON());
   473    473           oFileHandler.saveAs(sJSON);
   474    474       }
   475    475   }
   476    476   
          477  +
          478  +const oSearch = {
          479  +
          480  +    listen: function () {
          481  +        document.getElementById("search_similar_button").addEventListener("click", () => { this.searchSimilar(); }, false);
          482  +        document.getElementById("search_regex_button").addEventListener("click", () => { this.searchRegex() }, false);
          483  +    },
          484  +
          485  +    searchSimilar: function () {
          486  +        let sSimilar = document.getElementById("search_similar").value;
          487  +    },
          488  +
          489  +    searchRegex: function () {
          490  +        let sFlexPattern = document.getElementById("search_flexion_pattern").value;
          491  +        let sTagsPattern = document.getElementById("search_tags_pattern").value;
          492  +    }
          493  +}
          494  +
          495  +
          496  +const oTagsInfo = {
          497  +    load: function () {
          498  +        let lEntry = [];
          499  +        for (let [sTag, sLabel] of _dTag) {
          500  +            lEntry.push([sTag, sLabel.trim()]);
          501  +        }
          502  +        oTagsTable.fill(lEntry);
          503  +    }
          504  +}
          505  +
   477    506   
   478    507   const oGenWordsTable = new Table("generated_words_table", ["Flexions", "Étiquettes"], [1, 1], "progress_new_words");
   479    508   const oLexiconTable = new Table("lexicon_table", ["Flexions", "Lemmes", "Étiquettes"], [10, 7, 10], "progress_lexicon", "num_entries");
          509  +const oSearchTable = new Table("search_table", ["Flexions", "Lemmes", "Étiquettes"], [10, 7, 10], [10, 7, 10], "progress_search");
          510  +const oTagsTable = new Table("tags_table", ["Étiquette", "Signification"], [1, 10], "progress_lexicon");
   480    511   
   481    512   conj.init(helpers.loadFile("resource://grammalecte/fr/conj_data.json"));
   482    513   
          514  +
          515  +oTagsInfo.load();
   483    516   oBinaryDict.load();
   484    517   oBinaryDict.listen();
   485    518   oGenerator.listen();
          519  +oSearch.listen();

Modified gc_lang/fr/tb/content/lex_editor.xul from [d3f3183550] to [b4635c5f8e].

    28     28       <button id="export_button" label="Exporter" />
    29     29     </hbox>
    30     30   
    31     31     <tabbox id="tabs" selectedIndex="0">
    32     32       <tabs>
    33     33         <tab label="&tab.editor.label;"/>
    34     34         <tab label="&tab.lexicon.label;"/>
           35  +      <tab label="&tab.search.label;"/>
           36  +      <tab label="&tab.info.label;"/>
    35     37       </tabs>
    36     38   
    37     39       <tabpanels>
    38     40   
    39     41         <!-- NEW WORD -->
    40     42         <tabpanel orient="vertical">
    41     43           
................................................................................
   205    207                 </listitem>
   206    208                 -->
   207    209               </listbox>
   208    210             </vbox>
   209    211           </hbox>
   210    212         </tabpanel>
   211    213   
          214  +      <tabpanel orient="vertical">
          215  +        <hbox>
          216  +          <vbox>
          217  +            <dialogheader title="&dialogheader.search.similar.label;" description="" />
          218  +            <hbox>
          219  +              <textbox id="search_similar" value="" />
          220  +              <button id="search_similar_button" label="Chercher" />
          221  +            </hbox>
          222  +            <spacer flex="1" />
          223  +            <dialogheader title="&dialogheader.search.regex.label;" description="" />
          224  +            <hbox>
          225  +              <label value="Flexion" />
          226  +              <spacer flex="1" />
          227  +              <textbox id="search_flexion_pattern" value="" />
          228  +            </hbox>
          229  +            <hbox>
          230  +              <label value="Étiquettes" />
          231  +              <spacer flex="1" />
          232  +              <textbox id="search_tags_pattern" value="" />
          233  +            </hbox>
          234  +            <button id="search_regex_button" label="Chercher" />
          235  +            <label value="" />
          236  +            <description>La recherche par expressions régulières peut générer un nombre gigantesque de résultats. Si vous n’entrez aucune condition, tout est affiché. Le dictionnaire de base contient environ 500 000 entrées.</description>
          237  +          </vbox>
          238  +          <vbox>
          239  +            <dialogheader title="Résultat" description="" />
          240  +            <listbox id="search_table">
          241  +              <!--
          242  +              <listhead>
          243  +                <listheader label="Flexions"/>
          244  +                <listheader label="Lemmes"/>
          245  +                <listheader label="Étiquettes"/>
          246  +              </listhead>
          247  +
          248  +              <listcols>
          249  +                <listcol flex="4"/>
          250  +                <listcol flex="3"/>
          251  +                <listcol flex="4"/>
          252  +              </listcols>
          253  +
          254  +              <listitem>
          255  +                <listcell label="George"/>
          256  +                <listcell label="House Painter"/>
          257  +                <listcell label="House"/>
          258  +              </listitem>
          259  +              -->
          260  +            </listbox>
          261  +          </vbox>
          262  +        </hbox>
          263  +      </tabpanel>
          264  +
          265  +      <tabpanel orient="vertical">
          266  +        <hbox>
          267  +          <vbox>
          268  +            <dialogheader title="&dialogheader.info.label;" description="" />
          269  +            <description>Les modifications apportées au lexique ne sont enregistrées dans le dictionnaire qu’au moment où vous cliquez sur ‹Enregistrer› dans l’onglet ‹Lexique›.</description>
          270  +            <description>Il est inutile de purger votre lexique des doublons éventuels. Les doublons sont automatiquement supprimés lors de la création du dictionnaire.</description>
          271  +            <description>Le dictionnaire est compilé comme un graphe de mots sous la forme d’une chaîne binaire dans un fichier JSON. Cette opération peut prendre du temps et consommer beaucoup de mémoire si votre lexique contient plusieurs dizaines de milliers d’entrées.</description>
          272  +            <spacer flex="1" />
          273  +            <label value="Avertissement :" />
          274  +            <description>Il est déconseillé d’utiliser la catégorie ‹Autre› pour générer autre chose que des noms, des adjectifs, des noms propres, des verbes et des adverbes. Il n’y a aucune garantie que les étiquettes pour les autres catégories, notamment les mots grammaticaux, ne changeront pas.</description>
          275  +          </vbox>
          276  +          <vbox>
          277  +            <dialogheader title="Signification des étiquettes" description="" />
          278  +            <listbox id="tags_table">
          279  +              <!--
          280  +              <listhead>
          281  +                <listheader label="Étiquettes"/>
          282  +                <listheader label="Signification"/>
          283  +              </listhead>
          284  +
          285  +              <listcols>
          286  +                <listcol flex="1"/>
          287  +                <listcol flex="10"/>
          288  +              </listcols>
          289  +
          290  +              <listitem>
          291  +                <listcell label="House Painter"/>
          292  +                <listcell label="House"/>
          293  +              </listitem>
          294  +              -->
          295  +            </listbox>
          296  +          </vbox>
          297  +        </hbox>
          298  +      </tabpanel>
          299  +
   212    300       </tabpanels>
   213    301   
   214    302     </tabbox>
   215    303   
   216    304     <script type="application/x-javascript" src="resource://grammalecte/graphspell/helpers.js" />
   217    305     <script type="application/x-javascript" src="resource://grammalecte/graphspell/str_transform.js" />
   218    306     <script type="application/x-javascript" src="resource://grammalecte/graphspell/dawg.js" />
   219    307     <script type="application/x-javascript" src="resource://grammalecte/graphspell/ibdawg.js" />
   220    308     <script type="application/x-javascript" src="resource://grammalecte/fr/conj.js" />
   221    309     <script type="application/x-javascript" src="resource://grammalecte/fr/conj_generator.js" />
          310  +  <script type="application/x-javascript" src="resource://grammalecte/fr/lexicographe.js" />
   222    311     <script type="application/x-javascript" src="file_handler.js" />
   223    312     <script type="application/x-javascript" src="lex_editor.js" />
   224    313   
   225    314   </dialog>

Modified gc_lang/fr/tb/locale/en/lex_editor.dtd from [8c1160e1e9] to [0fdf104f95].

     1      1   <!ENTITY window.title "Grammalecte · Lexical editor lexical">
     2      2   
     3      3   <!ENTITY button.cancel.label "Close">
     4      4   
     5         -<!ENTITY dialogheader.newword.label "New word">
     6         -<!ENTITY dialogheader.lexicon.label "Your lexicon">
     7         -
     8      5   <!ENTITY tab.editor.label "Add">
     9      6   <!ENTITY tab.lexicon.label "Lexicon">
            7  +<!ENTITY tab.search.label "Search">
            8  +<!ENTITY tab.info.label "Informations">
            9  +
           10  +<!ENTITY dialogheader.newword.label "New word">
           11  +<!ENTITY dialogheader.lexicon.label "Your lexicon">
           12  +<!ENTITY dialogheader.search.similar.label "Similar spellings">
           13  +<!ENTITY dialogheader.search.regex.label "Regular expressions">
           14  +<!ENTITY dialogheader.info.label "Informations">

Modified gc_lang/fr/tb/locale/fr/lex_editor.dtd from [9672553e7e] to [f24f4ad2f9].

     1      1   <!ENTITY window.title "Grammalecte · Éditeur lexical">
     2      2   
     3      3   <!ENTITY button.cancel.label "Fermer">
     4      4   
     5         -<!ENTITY dialogheader.newword.label "Nouveau mot">
     6         -<!ENTITY dialogheader.lexicon.label "Votre lexique">
     7         -
     8      5   <!ENTITY tab.editor.label "Ajout">
     9      6   <!ENTITY tab.lexicon.label "Lexique">
            7  +<!ENTITY tab.search.label "Recherche">
            8  +<!ENTITY tab.info.label "Informations">
            9  +
           10  +<!ENTITY dialogheader.newword.label "Nouveau mot">
           11  +<!ENTITY dialogheader.lexicon.label "Votre lexique">
           12  +<!ENTITY dialogheader.search.similar.label "Graphies similaires">
           13  +<!ENTITY dialogheader.search.regex.label "Expressions régulières">
           14  +<!ENTITY dialogheader.info.label "Informations">
           15  +