Вопрос

Существуют ли какие-либо хорошо изученные шаблоны проектирования, связанные с перетаскиванием и жестами мыши?Рассмотрим холст, содержащий объекты в иерархии родитель-потомок с определенным макетом.Некоторые объекты можно перетаскивать на другие объекты с помощью мыши.Кроме того, объекты можно изменять в размерах и перемещать с помощью мыши.

Различные горячие точки на объектах ведут себя по-разному в зависимости от состояния пользователя (перетаскивание, выбор). Для операции перетаскивания некоторые элементы:1) Визуальная обратная связь с пользователем для исходного объекта 2) Визуальная обратная связь с пользователем во время перетаскивания 3) Определение области перетаскивания 4) Тесты совместимости перетаскивания 5) Действие перетаскивания

Стандартные API, как правило, объединяют их в довольно монолитный код.

Кроме того, такие жесты, как перемещение и изменение размера, имеют определенные общие элементы:1) Визуальная обратная связь с пользователем, когда мышь находится в области изменения размера / перемещения 2) Визуальная обратная связь во время операции перемещения / изменения размера 3) Завершение / отмена операции.

Вопрос в том, есть ли способ сделать это, который упрощает код, разделяет обязанности на визуальном уровне и на уровне документа и, возможно, многое из этого декларативно?

Например, для определения того, является ли точка под мышкой целью сброса, может использоваться некоторая форма тестирования попадания в сочетании с шаблоном Цепочки ответственности.

Я чувствую, что должны быть хорошие шаблоны проектирования, которые привносят дисциплину и организованность в эту, в противном случае, запутанную проблему.

Ваше здоровье,

Это было полезно?

Решение

Чтобы ответить на мой собственный вопрос, во второй главе этой книги есть очень важное обсуждение: http://www.amazon.com/gp/product/0596516258.

Однако это все еще не так декларативно и хорошо учтено, как хотелось бы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top