Lezione 9Uso di finestre pop upUna possibilità molto interessante è quella di far aprire una ulteriore finestra (o più d’una) nella quale riportare indicazioni accessorie o richiedere informazioni. Il modo più semplice consiste nel realizzare un
collegamento incrociato con modalità “pop up another page”. Pop
up another page
Per realizzare una finestra pop up occorre creare un hyperlink (collegamento incrociato) con le modalità descritte in precedenza, cioè a partire da un pulsante o da una hotword. Vediamo come si procede facendo un esempio concreto. Come indicato nelle istruzioni per la realizzazione dell’opera multimediale, la prima pagina deve contenere il titolo dell’opera e i nome degli autori. Facciamo in modo di collegare il nome di ciascun autore ad una finestra pop up che ne contiene la foto, in modo che cliccando sul nome compaia la finestra, ottenendo l’effetto sotto mostrato.
Preliminarmente, occorre creare una pagina che contenga (magari come sfondo) la foto voluta - ed anche un campo di testo col nome della persona. Questa pagina deve essere più piccola delle altre (perché la foto che compare deve essere più piccola della pagina del libro) e con dimensioni (larghezza/altezza) proporzionate a quelle della foto, per non deformarla. Si crea pertanto una nuova pagina, con un nuovo sfondo. Operando sulle proprietà dello sfondo, nella scheda Page si definiscono le dimensioni e nella scheda Draw si assegna come sfondo l’immagine voluta.
Tra le proprietà della pagina, occorre selezionare nella scheda Behaviour la voce Skip this page when navigating (=salta questa pagina quando navighi nel testo), perché questa pagina deve essere al di fuori della normale sequenza delle pagine dell’opera. Aggiungete nella pagina un campo di testo senza bordo, nel quale scrivere il nome.
Una scelta importante è quella dello stile della
pagina pop up (Pop up style). Nel caso
in esame conviene utilizzare Shadowed (close
on click) che indica che la finestra deve apparire ombreggiata e -
soprattutto - si deve chiudere automaticamente appena si clicca in una
qualsiasi parte dello schermo. Se si scegliesse Shadowed
(manual close) si dovrebbe inserire nella finestra un pulsante di
chiusura, per evitare che questa resti per sempre aperta. In alternativa,
se si sceglie Standard (thick frame)
o Standard (thin frame) la finestra sarà
dotata di una barra del titolo con pulsante di chiusura (la differenza tra
thick e thin
consiste solo nel fatto che nel primo caso la finestra può essere
ridimensionata dal lettore, nel secondo caso ha dimensioni fisse). Nella figura sottostante è riportato un esempio, nel quale il testo è proprio quello sopra riportato e la parola di cui si fornisce la definizione è la parola “hotword”.
ViewersCol termine viewers si intendono finestre che possono essere utilizzate, in aggiunta alla finestra principale che mostra normalmente le pagine del libro. Per creare un nuovo viewer, si può selezionare la voce New Viewer dal menu Insert, scegliendo tra sei tipi predefiniti di viewer (oppure crearne uno con caratteristiche personalizzate).
In alternativa, si può scegliere la voce Viewers… dal menu Object. Viene così mostrata una finestra che contiene l’elenco dei viewers esistenti, consente di crearne nuovi o cancellarne, nonché di esaminarne le proprietà.
Come mostrato anche dai tipi predefiniti, i viewers possono essere utilizzati per creare tavolozze, barre di stato o barre degli strumenti (caratteristiche che probabilmente non utilizzerete nel vostro libro). Possono però servire a creare finestre di dialogo, con le quali consentire al lettore di fare delle scelte o fornire indicazioni. Per un uso di questo genere può essere utile sfruttare una caratteristica avanzata di ToolBook, che è quella di consentire di definire proprietà ed operazioni da eseguire mediante un apposito linguaggio di programmazione, denominato OpenScript. Esempio: finestra di dialogo che consenta la definizione del nome del proprietario del libro (“registrazione” dell’acquirente)Supponiamo di voler creare un pulsante di “registrazione” premendo il quale venga richiesto il nome del lettore e venga scritto in un campo di testo “questa copia appartiene a …”. Dovrà innanzitutto essere creato un viewer del tipo Dialog Box, al quale assegneremo il nome “viewer di dialogo”, cioè il nome che verrà usato negli Script (istruzioni nel linguaggio OpenScript). Il viewer verrà associato a una nuova pagina, nella quale metteremo due campi di testo (uno di spiegazioni e l’altro per inserire il nome) e due pulsanti (Ok e Annulla). Ovviamente il primo campo deve essere bloccato mentre nel secondo deve essere consentito al lettore di scriverci dentro (definite ciò sulla scheda Behaviour delle proprietà del campo di testo).
Perché il nome scritto nel campo venga poi utilizzato occorre assegnare esplicitamente al tasto Ok il compito di riconoscere e memorizzare cosa è stato scritto nel campo. Per fare ciò occorre creare uno Script, cioè scrivere nel linguaggio OpenScript qualcosa che indichi cosa deve succedere quando si preme il pulsante.
Al pulsante Ok si associerà il comando: to handle buttonClick retValue of this window=text
of field "text field" hide
viewer "viewer di dialogo" end che indica che quando si fa click sul pulsante il testo del campo (che contiene il nome) deve essere considerato come valore restituito dalla finestra. Al pulsante Annulla si dovrà associare l’informazione “non tenere conto del valore del capo”: to handle buttonClick retValue of this
window="nessuno" hide
viewer "viewer di dialogo" end Nella pagina principale dovranno infine essere inseriti un pulsante, sul quale metteremo la scritta “Registrazione”, ed un campo di testo, che chiameremo registrazione, che lasceremo per il momento vuoto e nel quale dovrà poi essere messa la scritta. Anche a questo pulsante dobbiamo associare uno Script: to handle buttonClick show viewer "viewer di
dialogo" as modal if isOpen of viewer "viewer
di dialogo" then retValue=retValue of viewer
"viewer di dialogo" end if if retValue<>"nessuno"
then text
of field "registrazione" of background id 3 = "questa copia appartiene a "&retValue enabled
of button "registrazione"=false end if end buttonClick Questo fa aprire il viewer, ne controlla il valore di ritorno e (se è diverso da “nessuno”) lo va a scrivere nel campo di testo; inoltre in questo caso il pulsante registrazione verrà disabilitato, in modo che esso non possa più essere premuto. Qui di seguito è mostrato il pulsante Registrazione, affiancato da un campo senza bordo vuoto (che quindi non si vede), e l’effetto finale della procedura di registrazione, che disattiva il pulsante e riempie il campo. |
||||||||||||