Paola Magillo, Univestita' di Genova, Corso di Interfacce Utente per Informatica, a.a. 2002-2003.

SISTEMI A FINESTRE

Window Management Systems (WMS)

Che cosa e' un sistema a finestre?

Sistema a finestre: sistema software che poggia sul sistema operativo e si pone fra le applicazioni (dotate di interfaccia utente) ed i dispositivi di I/O per gestire l'interazione fra utente ed applicazioni.


Il sistema a finestre "implementa" l'ambiente desktop.

Compiti di un sistema a finestre:

Comunicazione fra utente ed applicazione tramite il WMS

NOTA: qui per applicazione intendiamo applicazione dotata di interfaccia utente e la intendiamo compresa la sua interfaccia.

Meccanismo generale della comunicazione tra WMS, utente ed applicazione:


L'utente compie azioni sui dispositivi di input. In corrispondenza di tali azioni, il WMS genera eventi e li smista alle applicazioni. L'applicazione interpreta l'evento e si comporta di conseguenza.

L'applicazione fa richieste al WMS per ottenere risorse (es: finestre) che gli permettano di fornire l'output all'utente, e per generare l'output usando tali risorse. Le risorse appaiono all'utente sui dispositivi di output come finestre, testo, grafica. L'utente vede cosi' i risultati e il feedback delle proprie azioni.

Concetti chiave

Evento = pacchetto di informazioni generato dal WMS in seguito ad un'azione dell'utente su dispositivo di inout, ed indirizzato ad un'applicazione. Contiene informazioni che descrivono quello che e' successo. Esempi:

Risorsa = struttura dati in memoria che corrisponde a potenziale strumento di input/output. Esempi: finestra, font, tavolozza di colori, bitmap o pixmap... Applicazioni chiedono risorse al WMS per poter produrre output.

Richiesta = atto con cui applicazione chiede al WMS che gli sia assegnata una risorsa oppure chiede di usare risorsa gia' assegnatagli per produrre output.

Finestra = area rettangolare dello schermo che funge da unita' per lo smistamento dell'input/output tra le applicazioni. Ogni evento e' generato in una finestra. In ogni momento c'e' un'unica finestra che ha il focus, le azioni dell'utente generano eventi nella finestra che ha il focus. Tali eventi sono mandati dal WMS all'applicazione che controlla quella finestra.

Ruolo della Application Program Interface (API)

Le applicazioni dialogano col WMS mediante le funzioni della API del WMS oppure mediante librerie software di piu' alto livello implementate sopra la API del WMS (toolkit per lo sviluppo di interfacce grafiche).

La libreria API del WMS contiene funzioni di basso livello come

I toolkit per interfacce grafiche forniscono componenti di interfaccia gia' pronti da usare, che l'utente puo' personalizzare