mercoledì 10 maggio 2017

Tree view widget

Oggi vediamo come funziona il misterioso controllo tree view. Si tratta di un controllo per fare le liste ad albero.
Queste liste possono avere tutte le nidificazioni che volete. Vediamo nel dettaglio come fare. Trascinate nel vostro programma il tree view:
Ci basta settare la proprietà ArrayData per creare il nostro albero. Mandiamo questi comandi:


set the readOnly of widget "tree View" to true
put empty into temp[Rossi][Mario]
put empty into temp[Rossi][Lisa]
put empty into temp[Rossi][Mario]["Gatto di Mario"]
put empty into temp[Rossi][Lisa]["Cane di Lisa"]   
put empty into temp[Verdi][Luigi]
put empty into temp[Verdi][Anna]
put empty into temp[Verdi][Luigi]["Gatto di Luigi"]
put empty into temp[Verdi][anna]["Cane di Anna"]
set the arrayData of widget "Tree View" to temp
e otterrete questo:


abbiamo impostato anche la proprietà readOnly su true così non possiamo modificare le scritte o aggiungerci elementi cliccandoci sopra.
Volendo è possibile aggiungere anche un valore, si può fare solo all'ultima voce si un ramo, se il valore di una voce è diverso da empty, allora diventa l'ultima voce di quel ramo.
Ad esempio il codice:

put the arraydata of widget "tree view" into temp
put "Lampo" into temp[Verdi][Anna]["Cane di Anna"]
put "(marito)" into temp[Rossi][Mario]
set the arrayData of widget "Tree view" to temp

il risultato è questo:
Come vedete la voce finale del ramo il "Cane di Anna" ha una seconda voce "lampo", mentre avendo messo un valore a "Mario" la sotto voce "gatto di Mario" è sparita, perchè le voci che hanno un valore diventano la fine di un ramo.
Il mio consiglio è di non dare mai un valore alle voci, usate la voce stessa, che può contenere anche degli spazi, se usate le virgolette, per mettere più informazioni su una sola riga.
Vi ricordo che potete scegliere anche il tipo di ordinamento con SortType and SortOrder.