La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Realizzare controlli Antonio Cisternino. L’esperienza del bottone  Il progetto Bottone (vedere bottone.zip) ci ha consentito di analizzare la struttura.

Presentazioni simili


Presentazione sul tema: "Realizzare controlli Antonio Cisternino. L’esperienza del bottone  Il progetto Bottone (vedere bottone.zip) ci ha consentito di analizzare la struttura."— Transcript della presentazione:

1 Realizzare controlli Antonio Cisternino

2 L’esperienza del bottone  Il progetto Bottone (vedere bottone.zip) ci ha consentito di analizzare la struttura di un componente  Osserviamo che: Si fa uso del bubbling degli eventi piuttosto che della delegation Si fa uso del bubbling degli eventi piuttosto che della delegation Esistono messaggi come Paint che non sono direttamente correlati all’input dell’utente Esistono messaggi come Paint che non sono direttamente correlati all’input dell’utente Il disegno viene fatto utilizzando il contesto grafico: una struttura dati che consente il disegno Il disegno viene fatto utilizzando il contesto grafico: una struttura dati che consente il disegno

3 Il punto di vista del controllo  Un controllo: Ha uno stato interno Ha uno stato interno È responsabile per disegnarsi nell’area che gli è stata assegnata È responsabile per disegnarsi nell’area che gli è stata assegnata Viene configurato mediante l’impostazione di proprietà del controllo Viene configurato mediante l’impostazione di proprietà del controllo Del proprio stato disegna solo la porzione visibile Del proprio stato disegna solo la porzione visibile Quando lo stato viene modificato l’area del controllo viene invalidato causando la generazione del metodo paint Quando lo stato viene modificato l’area del controllo viene invalidato causando la generazione del metodo paint

4 Il controllo Eventi Controllo Stato Paint OnPaint Disegna usando contesto grafico

5 Model-View-Controller  Un pattern di programmazione molto ricorrente in grafica è il model-view-controller (MVC)  Può essere istanziato a vari livelli nel dominio delle interfacce: a livello dell’applicazione, o dei componenti  Elemento essenziale è il disaccoppiamento tra le azioni compiute da un utente (o un’altra porzione del programma) e la visualizzazione successiva: tutto è mediato dal modello che viene aggiornato e utilizzato per la visualizzazione aggiornata

6 Il MVC Model ViewController Utente Usa Manipola Aggiorna Vede Dominio Applicativo del Problema

7 Model  Il modello è costituito dall’insieme di informazioni utilizzate per la visualizzazione  Il suo compito è anche quello di mediare le azioni e le reazioni di un elemento grafico  Questo è necessario poiché non tutti gli eventi sono causati da interazione diretta (ad esempio l’evento paint)

8 View  La vista è la porzione del modello che può essere rappresentata  Tipicamente la callback associata all’evento paint è responsabile per la sua implementazione  La vista di componenti grafici complessi può richiedere l’individuazione di un sottoinsieme del modello da visualizzare  Le scroll-bar vengono spesso utilizzate per spostare la vista

9 Controller  Il controllo è la componente responsabile per mediare la manipolazione del modello  Nel caso di controlli grafici è tipicamente costituito da un insieme di proprietà e dalle callback per la gestione degli eventi  In generale si tratta dell’insieme di strumenti messi a disposizione dell’utente del componente grafico per la sua manipolazione

10 Un esempio: l’albero  Il modello del TreeView è un albero  La sua vista è responsabile per mostrare solo la parte visibile  Accanto ad ogni nodo interno il controllo consente di controllare lo stato di visualizzazione del sottoalbero

11 Il bottone Eventi Bottone Stato Paint OnPaint Disegna usando contesto grafico Modello Controllo Vista


Scaricare ppt "Realizzare controlli Antonio Cisternino. L’esperienza del bottone  Il progetto Bottone (vedere bottone.zip) ci ha consentito di analizzare la struttura."

Presentazioni simili


Annunci Google