FlightGear/Un esempio di integrazione NASAL-XML: differenze tra le versioni

 
Essendo piuttosto complessa la struttura di tale finestra conviene descrivere le parti principali del codice a sezioni in quanto la struttura dell'xml permette facilmente di essere descritta con tale approccio.
 
===Il tag ''PropertyList''===
 
''PropertyList'' è il tag che definisce tutta la struttura xml che descrive la finestra di dialogo:
 
<source lang="Xml">
<?xml version="1.0"?>
<PropertyList>
...
</PropertyList>
</source>
 
Da notare il tag ''<?xml version="1.0"?>'', obbligatorio in ogni file xml, che serve all'interprete xml ''capire'' con quale particolare ''dialetto'' xml è stato utilizzato pqr quel file.
 
===Definizione del tipo di finestra===
 
<source lang="Xml">
...
<name>joystick-configuration</name>
<modal>false</modal>
<width>400</width>
<layout>vbox</layout>
...
</source>
 
Il nome della finestra è descritto in ''<name>'''''joystick-configuration'''''</name>'', mentre con il tag ''<modal>'''''false'''''</modal>'' si definisce che la finestra non deve essere utilizzata in modalità modale, ovvero non deve bloccare tutti gli altri processi, cosa invece che accadrebbe se fosse tale parametri ''true'', la modalità modale può essere utilizzata quando si richiede la massima attenzione all'utilizzatore del programma, ad esempio la richiesta di uscita definitiva dal programma.<BR>La dimensione della finestra in pixel e il suo stile si dichiara nei tag ''<width>'' e ''<layout>'', ove quest'ultimo tag ha il parametro è ''vbox'' in quanto il suo sviluppo sarà di tipo verticale. Nel caso che si voglia uno sviluppo della finestra di tipo orizzontale si dovrebbe invece inserire il parametro ''hbox''.
 
===Definizione della barra orizzontale superiore===
 
La barra superiore della finestra è in pratica una finestra nella finestra, solo che il suo sviluppo non sarà verticale (''vbox''), ma orizzontale (''hbox'').
 
<source lang="Xml">
<group>
<layout>hbox</layout>
<empty><stretch>1</stretch></empty>
<text>
<label>joystick-configuration</label>
</text>
<empty><stretch>1</stretch></empty>
<button>
<pref-width>16</pref-width>
<pref-height>16</pref-height>
<legend></legend>
<keynum>27</keynum>
<border>2</border>
<binding>
<command>dialog-close</command>
</binding>
</button>
</group>
</source>
411

contributi