FINESTRE
[Estratto dai capitoli 3 e 6 del libro di Marcus & C]
Finestra (window):
area sullo schermo (desktop) attraverso cui l'utente effettua
il dialogo con l'elaboratore.
L'utente interagisce con una finestra usando tastiera
o puntatori tipo mouse, penna, trackball.
NOTA: qui con il termine "finestra" intendiamo una finestra a top-level.
Un'interfaccia e' composta da una o piu' finestre.
Elementi di una finestra
- contorno (window frame)
- barra del titolo (title bar)
- zona di contenuto (content area)
Contorno e barra del titolo
Sono elementi standard di tutte le finestre esistenti su un sistema.
Sono le "decorazioni" del window manager (WM), sotto il controllo
del WM e non dal programma applicativo.
La barra del titolo mostra il nome dell'applicazione che gira nella
finestra. Non tutte le finestre l'hanno (es. in generale
non quelle di dialogo, ved. piu' avanti).
Nel contorno e/o nella barra del titolo si trovano
dispositivi di controllo della finestra.
Dispositivo di controllo:
elemento visivo che l'utente puo' manipolare con un
dispositivo di input per compiere operazioni.
Dispositivi di controllo di una finestra:
- modifica della posizione (MOVE)
- modifica di altezza e larghezza (RESIZE)
- chiusura con terminazione dell'applicazione (CLOSE o QUIT)
- iconificazione (MINIMIZE)
- espansione a tutto schermo (MAXIMIZE)
- ritorno a dimensioni precedenti (RESTORE)
Sono in un menu' a scomparsa, e di solito anche in dispositivi
azionabili col mouse posti sul contorno o sulla barra del titolo.
Zona di contenuto
E' specifica dell'applicazione a cui la finestra appartiene.
Sotto il controllo del programma applicativo.
In essa avviene l'interazione utente (visualizzazione di dati, raccolta
di input) relativa all'applicazione.
Esempi:
- editing di testi
- editing di disegni
- animazione grafica tridimensionale
Come accessori alla zona di contenuto, si possono avere anche:
- menu bar (barra del menu'): contiene le funzioni principali
dell'applicazione
- area messaggi (message area o information area): contiene
messaggi di help o di spiegazione
- status bar: mostra lo stato attuale dell'applicazione
Tipi di finestre
Secondo la classificazione di MS-windows.
- Finestre di applicazione
- Finestre di documento
- Finestre di dialogo
Finestra di applicazione
Appare quando l'utente lancia un programma.
Ha sempre una title bar col nome dell'applicazione e un
contorno, ha tutti i dispositivi
di controllo standard (per controllare posizione, dimensione, ecc.)
In genere ha una barra di menu' che mostra le varie funzionalita'
dell'applicazione (es: file, edit, view...).
Finestra di documento
E' associata ad una finestra di applicazione. E' relativa ad un file
(documento) aperto nell'ambito dell'applicazione.
In Mac e windows.
Ha una title bar col nome del documento, un contorno e tutti i dispositivi
di controllo.
Puo' avere una scrollbar.
Ha in comune la barra del menu' della finestra di applicazione.
Una finestra documento e' piu' piccola della corrispondente finestra di
applicazione.
Ci possono essere piu' finestre di documento associate ad una stessa
finestra di applicazione.
Finestra di dialogo
Finestra transitoria attraverso la quale
l'applicazione presenta messaggi e/o richiede input all'utente.
Rimane sullo schermo solo per il tempo necessario.
Ne riparliamo piu' avanti.
Finestra attiva
Sul desktop tipicamente ci sono piu' finestre aperte.
La finestra con cui l'utente interagisce ad un
determinato istante e' detta finestra attiva.
La finestra attiva e' unica.
La finestra attiva appare sempre in foreground ed e'
visualizzata in
modo diverso da quelle inattive (enfasi sul contorno e/o
sulla title bar).
La finestra attiva viene stabilita dall'utente con modalita' dipendenti
dal funzionamento del sistema (es: mediante click sulla finestra,
mediante spostamento del cursore sulla finestra).
Gerarchia di dipendenza delle finestre
Gerarchia di dipendenza: si riferisce a quando una finestra ne
invoca (fa apparire) un'altra .
- finestre primarie
- finestre secondarie
NOTA: questa gerarchia e' diversa dalla gerarchia
di contenimento vista altrove.
Questa gerarchia e' definita solo sulle finestre top-level.
Finestra primaria
Si apre quando viene lanciata un'applicazione.
Le finestre di applicazione sono primarie.
Finestra secondaria
Finestra che si apre in seguito ad azioni effettuate dall'utente su
un'altra finestra (che puo' essere primaria o secondaria).
Le finestre di documento e di dialogo sono secondarie.
Quando viene mappata, una finestra secondaria appare in cima allo stack
delle finestre e in genere collocata sopra alla finestra che l'ha invocata.
Vincoli tra finestre primarie e secondarie
Iconificazione di finestra
primaria fa sparire le finestre secondarie che da essa dipendono.
De-iconificazione di finestra
primaria fa riapparire anche le finestre secondarie.
Chiusura finestra primaria termina l'applicazione e fa chiudere tutte
le finestre secondarie che ha generato.
Organizzazione delle finestre sullo schermo
Sullo schemo ci sono piu' finestre. Un sistema puo' gestire
la loro collocazione in vari modi:
- Finestre sovrapposte (Overlapping)
Finestre possono essere totalmente o parzialmente nascoste da altre,
nei modi piu' vari. Organizzazione a stack.
- Finestre a cascata (Cascading)
Finestre aperte una dietro l'altra tenendo la title bar di ciascuna
finestra visibile. La finestra attiva e' quella in testa alla pila.
- Finestre a incastro (Tiling)
Metodo per organizzare le finestre in modo che risultino
tutte interamente visibili all'utente.
Un'alternativa e' lasciare che sia l'utente a posizionare una finestra
quando viene aperta.
Finestre di dialogo (Dialog boxes)
Dialogo si riferisce alla comunicazione fra utente ed elaboratore.
Una finestra di dialogo e' una finestra speciale che presenta
messaggi all'utente e/o gli chiede di immettere infomazioni
necessarie per completare un'operazione che e' stata invocata.
In genere tiene il controllo fintanto che
l'utente non fornisce le informazioni necessarie oppure cancella
l'operazione che ha determinato la comparsa della dialog box.
Alla sua comparsa una dialog box e' collocata al top dello stack
di finestre (non oscurata da altre finestre)
e diventa la finestra corrente.
Finestre di dialogo piu' comuni
-
Finestre di messaggi
Forniscono informazioni, avvertimenti (warning) o messaggi critici
non richiesti dall'utente (in Macintosh dette "alert box").
-
Finestre informative sull'applicazione
Forniscono informazioni sull'applicazione
(es: nome, icona, copyright, numero della versione del
programma...).
Attivate su richiesta dell'utente (in genere selezionando
la voce "about" dal menu' "help").
-
Finestre per la selezione di file
In genere sono aperte quando l'utente seleziona voci dal menu'
"file".
Permettono all'utente di navigare nel file system alla ricerca del file
da aprire/da salvare/ecc.
L'aspetto della finestra varia da interfaccia a interfaccia.
-
Finestre di stampa
Permettono all'utente di impostare le opzioni di stampa di un
documento (numero di copie, pagine specifiche...).
Comportamento di una finestra di dialogo
- Dialog box movibile o fissa
a seconda che possa o no essere spostata dall'utente.
- Dialog box ridimensionabile o no
a seconda che le sue dimensioni possano o no essere cambiate dall'utente.
- Dialog box modali o non modali
Una dialog box modale resta attiva e al top dello stack di finestre,
impedendo all'utente di interagire con altre finestre,
finche' l'utente non risponde al dialogo.
In genere ha una dimensione fissa, ma puo' essere movibile.
Contiene in genere anche pulsanti di comando OK e CANCEL.
Una dialog box non modale permette all'utente di proseguire
l'interazione con altre finestre senza rispondere al dialogo.
Una dialog box non modale puo' diventare non piu' la finestra
attiva e/o essere oscurata da altre finestre.
Buone norme per la progettazione di finestre di dialogo
Usare finestre di dialogo modali solo quando strettamente
necessario.
Prevedere dispositivi per chiudere la finestra
(OK nelle finestre di messaggi, OK/CANCEL per proseguire o cancellare
l'azione a cui il dialog box si riferisce).
Le dimensioni di una dialog box
dovrebbero essere mantenute piccole in modo da
enfatizzare la sua natura di finestra supplementare.