Squeak Class Documentation category index | class index  
 
SelectionMorph
  category: Morphic-Support
  superclass: BorderedMorph
  subclasses:

A selectionMorph supports the selection of multiple objects in a morphic world or pasteUp.

Structure:
selectedItems an OrderedCollection of Morphs
These are the morphs that have been selected
slippage a Point
Keeps track of actual movement between the
steps of gridded movement
dupLoc a Point
Notes the position when first duplicate request occurs from halo
dupDelta a Point
Holds the final delta of the first duplicate plus subsequent moves.

instance methods
  drag and drop
  aboutToBeGrabbedBy:
justDroppedInto:event:

  drawing
  drawOn:

  geometry
  bounds:
extent:
privateFullMoveBy:

  halo commands
  addCustomMenuItems:hand:
addHandlesTo:box:
addOptionalHandlesTo:box:
addOrRemoveItems:
balloonHelpTextForHandle:
borderColor:
borderWidth:
dismissViaHalo
doDup:fromHalo:handle:
fillStyle:
maybeAddCollapseItemTo:

  initialization
  extendByHand:
extendByHandPlus:
hasHalo:
initialize

  private
  doneExtending
selectSubmorphsOf:
selectedItems
setOtherSelection:
setSelectedItems:

  undo
  borderColorForItems:
borderWidthForItems:
fillStyleForItems:
refineUndoTarget:selector:arguments:in:
undoMove:redo:owner:bounds:predecessor:

class methods
  no messages
 

instance methods
  drag and drop top  
 

aboutToBeGrabbedBy:

The receiver is being grabbed by a hand.
Perform necessary adjustments (if any) and return the actual morph
that should be added to the hand.


 

justDroppedInto:event:

This message is sent to a dropped morph after it has been dropped on -- and been accepted by -- a drop-sensitive morph


  drawing top  
 

drawOn:


  geometry top  
 

bounds:

Make sure position: gets called before extent:; Andreas' optimization for growing/shrinking in ChangeSet 3119 screwed up selection of morphs from underlying pasteup.


 

extent:


 

privateFullMoveBy:

Private! Relocate me and all of my subMorphs by recursion. Subclasses that implement different coordinate systems may override this method.


  halo commands top  
 

addCustomMenuItems:hand:

Add custom menu items to the menu


 

addHandlesTo:box:

Add halo handles to the halo. Apply the halo filter if appropriate


 

addOptionalHandlesTo:box:


 

addOrRemoveItems:

Make a new selection extending the current one.


 

balloonHelpTextForHandle:

Answer a string providing balloon help for the given halo handle


 

borderColor:


 

borderWidth:


 

dismissViaHalo

The user has clicked in the delete halo-handle. This provides a hook in case some concomitant action should be taken, or if the particular morph is not one which should be put in the trash can, for example.


 

doDup:fromHalo:handle:


 

fillStyle:

Set the current fillStyle of the receiver.


 

maybeAddCollapseItemTo:

... don't


  initialization top  
 

extendByHand:

Assumes selection has just been created and added to some pasteUp or world


 

extendByHandPlus:

Assumes selection has just been created and added to some pasteUp or world


 

hasHalo:


 

initialize


  private top  
 

doneExtending


 

selectSubmorphsOf:


 

selectedItems


 

setOtherSelection:


 

setSelectedItems:


  undo top  
 

borderColorForItems:


 

borderWidthForItems:


 

fillStyleForItems:


 

refineUndoTarget:selector:arguments:in:

Any morph can override this method to refine its undo specification


 

undoMove:redo:owner:bounds:predecessor:

Handle undo and redo of move commands in morphic


class methods
  no messages top