130 likes | 336 Views
Chapter 23: Drag And Drop. Drag-and-Drop. Mouse actions are efficient because they combine 1) a specific function 2) a geographical location. Drag-and-drop is even more efficient because it provides a second geographic location. Drag-and-Drop. Variants of drag-and-drop
E N D
Drag-and-Drop Mouse actions are efficient because they combine 1) a specific function 2) a geographical location Drag-and-drop is even more efficient because it provides a second geographic location
Drag-and-Drop Variants of drag-and-drop 1) master and target : user clicks on an object and drags it to another object in order to perform a function 2) tool manipulation : primarily used in drawing and painting programs (repositioning is not included)
Master-and-Target Master: object within which the drag is initiated Target: object upon which mouse button is released interior drag-and-drop master and target reside within one program or application exterior drag-and-drop master and target reside within separate programs or applications
Master-and-Target Dragging data to functions: trash can potential apps: archive, compress, fax, etc • Objects must be capable of accepting a drop from any object, regardless of originating program • requires interface standards • proprietary formats -- a problem
Master-and-Target Dragging data to functions: Negotiated drag-and-drop - target receives object, returns message to master if format is not acceptable - master resends data in increasingly more generic format (minimally applications must accept ASCII, simple bitmaps, pointers to files, functions) Known-format drag-and-drop Dragging functions to data :
Master-and-Target • Visual indications : • drop candidacy • indication of master object
Tool Manipulation Modal tool : Charged cursor :
Drag-and-Drop Problems Autoscroll : Drag-and-drop twitch : Mouse vernier :
Drag-and-Drop Problems Autoscroll : what happens when object is dragged beyond the enclosing application rectangle? Microsoft solution: autoscrolling is initiated if cursor is just inside (instead of just outside) the application window Problem: Processor speed
Fast autoscroll zone Medium autoscroll zone Slow autoscroll zone Drag-and-Drop Problems Better solution: autoscrolling speed zones
Solution: drag threshold (area of insensitivity around the cursor hot spot) Uncommitted Zone Mouse down position Drag-and-Drop Problems Drag-and-drop twitch : mouse interprets a shaky click as a drag-and-drop
Drag-and-Drop Problems Mouse Vernier : different mouse sensitivity levels needed (ratio of mouse-to-cursor movement) Solution: - metakeys - arrow keys