Chapter 19 Selection Drag And Drop Selection Choosing

  • Slides: 17
Download presentation
Chapter 19: Selection, Drag And Drop

Chapter 19: Selection, Drag And Drop

Selection Choosing an object or a control verb – the command that is to

Selection Choosing an object or a control verb – the command that is to be executed object – what will be acted upon Command ordering: verb-object : - command line interface - requires modes in GUI object-verb: - selection of verb signals the termination - allows multiple verbs on same object(s) - facilitates limiting choice of available verbs

Selection Discrete Selection - Data represented by distinct visual objects (icons, vector objects) -

Selection Discrete Selection - Data represented by distinct visual objects (icons, vector objects) - Not necessarily contiguous - Not necessarily homogeneous - No inherent ordering Contiguous Selection - Data represented by a matrix of many small contiguous pieces of data - Natural ordering of the pieces

Selection Mutual Exclusion - clicking selects an object - remains selected until user clicks

Selection Mutual Exclusion - clicking selects an object - remains selected until user clicks on something else - useful for contiguous objects when selected objects can be scrolled off screen Additive Selection - often enabled with a meta-key - should not be allowed for contiguous selection, use extension instead Group Selection - click-and-drag operations form basis - “extend the selection” in contiguous selection - discrete selection using drag rectangle

Selection Insertion and Replacement If action involves creating or pasting new data - replacement

Selection Insertion and Replacement If action involves creating or pasting new data - replacement - insertion (caret indicates insertion point) - if insertion points are allowed, objects must be selected by clicking Visual Indication of Selection - inversion (not very suitable for color) - handles - marching ants/marquee

Drag-and-Drop Mouse actions are efficient because they combine 1) a specific function 2) a

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 Rather than moving to a new location, we are moving it to imply a transformation.

Drag-and-Drop Variants of drag-and-drop 1) master and target : user clicks on an object

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

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

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-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 best not to indicate with cursor change

Master-and-Target Visual indications : • drop candidacy best not to indicate with cursor change (cursor represents master) • indication of master object

Drag-and-Drop Problems Autoscroll : Drag-and-drop twitch : Fine scrolling :

Drag-and-Drop Problems Autoscroll : Drag-and-drop twitch : Fine scrolling :

Drag-and-Drop Problems Autoscroll : what happens when object is dragged beyond the enclosing application

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

Drag-and-Drop Problems Better solution: autoscrolling speed zones Fast autoscroll zone Medium autoscroll zone Slow

Drag-and-Drop Problems Better solution: autoscrolling speed zones Fast autoscroll zone Medium autoscroll zone Slow autoscroll zone

Drag-and-Drop Problems Drag-and-drop twitch : mouse interprets a shaky click as a drag-and-drop Solution:

Drag-and-Drop Problems Drag-and-drop twitch : mouse interprets a shaky click as a drag-and-drop Solution: drag threshold (area of insensitivity around the cursor hot spot) Mouse down position Uncommitted Zone

Drag-and-Drop Problems Fine scrolling/Mouse Vernier : different mouse sensitivity levels needed (ratio of mouse-tocursor

Drag-and-Drop Problems Fine scrolling/Mouse Vernier : different mouse sensitivity levels needed (ratio of mouse-tocursor movement) Solution: - metakeys - arrow keys

Tool Manipulation Modal tool : - User selects a tool from a toolbar -

Tool Manipulation Modal tool : - User selects a tool from a toolbar - Cursor changes - Works for limited number of tools Charged cursor : - Cursor becomes charged with a single instance of the selected object