Question

Y a-t-il des modèles de conception bien étudiés liés à glisser-déposer et gestes de la souris? Considérons une toile contenant des objets dans une hiérarchie parent-enfant avec une certaine mise en page. Certains objets peuvent être glissés et déposés sur d'autres objets à l'aide de la souris. De plus, les objets peuvent être redimensionnés et déplacés avec la souris.

Différents points chauds sur des objets se comportent différemment en fonction de l'état de l'utilisateur (en faisant glisser, la sélection). Pour une opération de glisser-déposer, certains éléments sont les suivants: 1) la rétroaction visuelle à l'utilisateur pour objet source 2) la rétroaction visuelle à l'utilisateur au cours de traînée 3) Détection de la zone de dépôt 4) Baisse des tests de compatibilité 5) Action Drop

Les API standard de tendance à combiner en un code assez monolithique.

En outre, les gestes tels que le mouvement et le redimensionnement ont certains éléments en commun: 1) la rétroaction visuelle à l'utilisateur lorsque la souris se trouve dans une redimensionnement / région de déplacement 2) la rétroaction visuelle lors d'un déplacement / redimensionnement opération 3) Réalisation / annulation de l'opération.

La question est, est-il un moyen de le faire qui rationalise le code, sépare les responsabilités de niveau visuel et des documents, et peut-être une grande partie de cette déclarative?

Pour déterminer si le point sous la souris est une cible de dépôt, par exemple, pourrait utiliser une certaine forme de tests-succès combiné avec la chaîne de modèle de responsabilité.

Je me sens qu'il doit y avoir de bonnes habitudes de conception qui mettent la discipline et de l'organisation à ce problème sinon désordre.

Cheers,

Était-ce utile?

La solution

Pour répondre à ma propre question, le chapitre deux de ce livre a une discussion très pertinente: http://www.amazon.com/gp/product/0596516258 .

Cependant, ce n'est pas encore comme déclarative ou bien factorisés on voudrait.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top