Programmazione & GIS

:: Personalizzare i Menu ::

La personalizzazione dei menu in Grass risulta semplificata nella nuova interfaccia basata su wxPython. Difatti la struttura del menu è all'interno di un file xml, è sufficiente editare questo per modificare/aggiungere/eliminare le voci nel menu preimpostato.
Il file da editare (assicurarsi di avere i privilegi necessari per eseguire l'operazione) ha il titolo: menudata.xml.
E' situato nella seguente cartella: InstallazioneGRASS\etc\wxpython\xml.
Aprendo il file menudata.xml con un editor xml, si intuisce facilmente la struttura anche se purtroppo i tag non sono di default efficacemente scalati gerarchicamente:
  • <menudata> tag di apertura dei dati del menu posto all'inizio del file;
  • </menudata> tag di chiusura dei dati del menu posto alla fine del file;
  • <menubar> tag di apertura della barra del menu;
  • </menubar> tag di chiusura della barra del menu;
  • <menu> tag di apertura di un menu a discesa;
  • </menu> tag di chiusura di un menu a discesa;
  • <label> tag di apertura del nome di un menu a discesa;
  • </label> tag di chiusura del nome di un menu a discesa;
  • <items> tag di apertura delle voci di un menu a discesa;
  • </items> tag di chiusura delle voci di un menu a discesa;
  • <menuitem> tag di apertura di una singola voce di menu;
  • </menuitem> tag di chiusura di una singola voce di menu;
  • <label> tag di apertura del nome di una voce di menu;
  • </label> tag di chiusura del nome di una voce di menu;
  • <help> tag di apertura dell'aiuto in linea di una voce di menu;
  • </help> tag di chiusura dell'aiuto in linea di una voce di menu;
  • <keywords> tag di apertura delle parole chiavi associate ad una voce di menu;
  • </keywords> tag di chiusura delle parole chiavi associate ad una voce di menu;
  • <handler> tag di apertura del tipo di gestore associato ad una voce di menu;
  • </handler> tag di chiusura del tipo di gestore associato ad una voce di menu;
  • <command> tag di apertura del comando associato ad una voce di menu;
  • </command> tag di chiusura del comando associato ad una voce di menu.
Si riporta di seguito un esempio: si supponga di voler aggiungere un nuovo menu a discesa che chiameremo AAmenu dopo il menu Help nel quale siano presenti tre voci di menu Tizio, Caio e Sempronio quest'ultima voce separata mediante una linea dalle prime due. A queste tre voci sono associati tre moduli: v.tizio, v.caio e v.sempronio come da figura seguente.

Menu personalizzato

<menudata>
  <menubar>
    ...
    </menu> //Tag di chiusura del menu Help
    <menu>  //Tag di apertura del menu AAMenu
      <label>AAMenu</label>
      <items>
        <menuitem> //Tag di apertura voce Tizio
          <label>Tizio</label>
          <help>Intersezione tra bacino idrografico e copertura</help>
          <keywords>Vector</keywords>
          <handler>RunMenuCmd</handler>
          <command>v.tizio</command>
        </menuitem> //Tag di chiusura voce Tizio
        <menuitem>
          <label>Caio</label>
          <help>Intersezione tra bacino idrografico, geologia e vegetazione</help>
          <keywords>Vector</keywords>
          <handler>RunMenuCmd</handler>
          <command>v.caio</command>
        </menuitem>
        <separator />
        <menuitem>
          <label>Sempronio</label>
          <help>Sposta il vettoriale nei vari sistemi di riferimento</help>
          <keywords>vector</keywords>
          <handler>RunMenuCmd</handler>
          <command>v.sempronio</command>
        </menuitem>
      </items>
    </menu> //Tag di chiusura del menu AAMenu
  </menubar>
</menudata>
                        
Infine, affinché le voci di menu siano attive, è opportuno inserire i file eseguibili ovvero i relativi batch o bash, nel caso di script, nella cartella: InstallazioneGRASS\bin; mentre i file script vanno collocati nell'apposita cartella: InstallazioneGRASS\script.


Argomenti correlati: