Una toolbar è un componente (in termine tecnico spesso viene indicata anche come
widget) delle più usate interfacce utente; di solito è una barra orizzontale o verticale, che raccoglie, sotto forma di icone, i collegamenti alle funzioni più usate di un software. La maggior parte degli applicativi, e anche alcuni provider di servizi come Google o eBay, mettono a disposizione gratuitamente una barra degli strumenti da integrare nel proprio browser, tramite la quale utilizzare diverse funzioni per i propri portali.
Una toolbar è un particolare tipo di box, che contiene bottoni (o altre componenti grafiche), impostata orizzontalmente in automatico e che
supporta il grippy, in sostanza una box puntata, che permette di raggruppare bottoni che si compattano a scomparsa con un clic. Vediamo ora le componenti.
Il pulsante da posizionare all’interno della barra è toolbarbutton e viene trattato diversamente dall’interprete
XUL.
L'icona toolbargrippy permette l’espansione della barra stessa; toolbarseparator è un separatore all’interno della barra simile a quello visto per i menu, ma con la differenza fondamentale che è personalizzabile in base al tema della barra.
Il toolbarspacer è invece uno spazio bianco che è possibile mettere tra due bottoni. Infine, nel caso si vogliano integrare oggetti diversi da bottoni e spazi all’interno della barra esiste un
componenti generico chiamato toolbaritem. Ma vediamo un esempio creando una interfaccia dotata di una barra degli strumenti con qualche bottone e qualche elemento grafico. La barra viene definita in questo modo:
<toolbox>
<toolbar>
</toolbar>
</toolbox>
Aggiungiamo due bottoni
Apri e
Salva, immaginando di avere delle icone da posizionarci sopra invece di un’etichetta di testo:
<toolbox>
<toolbar>
<toolbarbutton image="apri.gif"/>
<toolbarbutton image="salva.gif"/>
<textbox>
</textbox>
</toolbox>
Per aggiungere elementi diversi dai bottoni, in questo caso un’etichetta di testo e un campo di inserimento dati utilizziamo
toolbaritem:
<toolbaritem>
<description value="Inserire un indirizzo URL"/>
<textbox/>
</toolbaritem>
Infine
è necessario associare ai bottoni i comandi da eseguire. Come per i menu è necessario effettuare una associazione univoca tramite id e gestore degli eventi. L’esempio completo è il seguente:
<?xml version='1.0'?>
<window
id="bar"
title="Toolbar"
width="400"
height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
<toolbox>
<toolbar>
<toolbarbutton id="openButton" image="apri.gif" />
<toolbarbutton id="saveButton" image="salva.gif" />
<toolbarseparator />
<toolbaritem>
<description value=" Inserire un indirizzo URL" />
<textbox>
</textbox>
</toolbaritem>
</toolbar>
</toolbox>
<script>
function openFun(event)
{ alert("Apre il documento"); }
function closeFun(event)
{ alert("Chiude il documento"); }
document.getElementById("openButton").addEventListener('command', openFun, true); document.getElementById("saveButton").addEventListener('command', closeFun, true);
</script>
</window>
Come ultima parentesi,
se volessimo cambiare l’orientamento di una barra, è sufficiente specificare l’attributo orient:
<toolbox orient="horizontal">
<toolbar orient="vertical">
<button value="Indietro"/>
<button value="Avanti"/>
</toolbar>
</toolbox>