Domanda

Ci sono modelli di progettazione ben studiati relativi alla drag & drop e gesti del mouse? Prendere in considerazione una tela contenente oggetti in una gerarchia padre-figlio con una certa layout. Alcuni oggetti possono essere trascinati e rilasciati su altri oggetti utilizzando il mouse. Inoltre, gli oggetti possono essere ridimensionati e spostati con il mouse.

differenti punti caldi su oggetti si comportano in modo diverso a seconda dello stato utente (trascinamento selezione.) Per un'operazione di trascinamento, alcuni elementi sono: 1) il feedback visivo all'utente per oggetto sorgente 2) un feedback visivo per utente durante trascinamento 3) Area di rilevamento di goccia 4) goccia test di compatibilità 5) l'azione di goccia

Le API standard di tendono a combinare queste in codice piuttosto monolitica.

Inoltre, gesti come movimento e ridimensionamento hanno alcuni elementi in comune: 1) il feedback visivo all'utente quando il mouse si trova in un / regione mossa di ridimensionamento 2) un feedback visivo durante uno spostamento / ridimensionamento operazione 3) Completamento / cancellazione di funzionamento.

La domanda è, c'è un modo per fare questo che semplifica il codice, separa le responsabilità visive e documenti di livello, e forse molto di questo dichiarativa?

Determinare se il punto sotto il mouse è una destinazione di rilascio, per esempio, potrebbe utilizzare qualche forma di hit-test combinato con la catena di modello Responsabilità.

mi sembra che ci deve essere buoni modelli di progettazione che portano la disciplina e l'organizzazione a questo problema altrimenti disordinato.

Saluti,

È stato utile?

Soluzione

Per rispondere alla mia domanda, secondo capitolo di questo libro ha una discussione molto rilevanti: http://www.amazon.com/gp/product/0596516258 .

Tuttavia, questo non è ancora come dichiarativa o ben scomposto come si vorrebbe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top