Squeak Class Documentation category index | class index  
 
PluggableListMorph
  category: Morphic-Windows
  superclass: ScrollPane
  subclasses: ListComponent PluggableListMorphByItem PluggableMessageCategoryListMorph PluggableMultiColumnListMorph PluggableListMorphOfMany

...

When a PluggableListMorph is in focus, type in a letter (or several
letters quickly) to go to the next item that begins with that letter.
Special keys (up, down, home, etc.) are also supported.

instance methods
  accessing
  highlightSelector
highlightSelector:
itemFromPoint:

  drag and drop
  acceptDroppingMorph:event:
potentialDropMorph
potentialDropMorph:
resetPotentialDropMorph
startDrag:
wantsDroppedMorph:event:

  drawing
  drawOn:
highlightSelection
superDrawOn:
unhighlightSelection

  events
  doubleClick:
handleMouseMove:
handlesBasicKeys
handlesKeyboard:
handlesMouseOverDragging:
keyStroke:
keyboardFocusChange:
mouseDown:
mouseEnter:
mouseEnterDragging:
mouseLeave:
mouseLeaveDragging:
mouseMove:
mouseUp:
wantsKeyboardFocusFor:

  geometry
  scrollDeltaHeight

  initialization
  autoDeselect:
doubleClickSelector:
font
font:
getListSelector:
initForKeystrokes
installModelIn:
keystrokeActionSelector:
list:
listItemHeight
on:list:selected:changeSelected:menu:keystroke:

  menu
  getMenu:

  menus
  addCustomMenuItems:hand:
setListFont

  model access
  allSubmorphNamesDo:
basicKeyPressed:
changeModelSelection:
commandKeyTypedIntoMenu:
getCurrentSelectionIndex
getList
modifierKeyPressed:
specialKeyPressed:

  object fileIn
 

  obsolete
  doubleClick:onItem:
mouseDown:onItem:
mouseEnterDragging:onItem:
mouseLeaveDragging:onItem:
mouseUp:onItem:
removeObsoleteEventHandlers
startDrag:onItem:

  selection
  getListSelector
maximumSelection
minimumSelection
numSelectionsInView
selectedMorph:
selection
selection:
selectionIndex:
setGetListSelector:
setSelectedMorph:

  updating
  update:
verifyContents

class methods
  class initialization
 

  instance creation
  on:list:selected:changeSelected:
on:list:selected:changeSelected:menu:
on:list:selected:changeSelected:menu:keystroke:

instance methods
  accessing top  
 

highlightSelector


 

highlightSelector:


 

itemFromPoint:

Return the list element (morph) at the given point or nil if outside


  drag and drop top  
 

acceptDroppingMorph:event:

This message is sent when a morph is dropped onto a morph that has
agreed to accept the dropped morph by responding 'true' to the
wantsDroppedMorph:Event: message. The default implementation just
adds the given morph to the receiver.


 

potentialDropMorph


 

potentialDropMorph:


 

resetPotentialDropMorph


 

startDrag:

Handle a double-click event. This message is only sent to clients that request it by sending #waitForClicksOrDrag:event: to the initiating hand in their mouseDown: method. This default implementation does nothing.


 

wantsDroppedMorph:event:

Return true if the receiver wishes to accept the given morph, which is being dropped by a hand in response to the given event. Note that for a successful drop operation both parties need to agree. The symmetric check is done automatically via aMorph wantsToBeDroppedInto: self.


  drawing top  
 

drawOn:

Draw the list on the canvas, and possibly also draw frame feedback


 

highlightSelection


 

superDrawOn:


 

unhighlightSelection


  events top  
 

doubleClick:

Handle a double-click event. This message is only sent to clients that request it by sending #waitForClicksOrDrag:event: to the initiating hand in their mouseDown: method. This default implementation does nothing.
LC 2/14/2000 08:32 - added: EventHandler notification


 

handleMouseMove:

Reimplemented because we really want #mouseMove when a morph is dragged around


 

handlesBasicKeys

if ya don't want the list to automatically handle non-modifier key
(excluding shift key) input, return false


 

handlesKeyboard:

Return true if the receiver wishes to handle the given keyboard event


 

handlesMouseOverDragging:

Return true if I want to receive mouseEnterDragging: and mouseLeaveDragging: when the hand drags something over me (button up or button down), or when the mouse button is down but there is no mouseDown recipient. The default response is false, except if you have added sensitivity to mouseEnterLaden: or mouseLeaveLaden:, using the on:send:to: mechanism.


 

keyStroke:

Process keys
specialKeys are things like up, down, etc. ALWAYS HANDLED
modifierKeys are regular characters either 1) accompanied with ctrl,
cmd or 2) any character if the list doesn't want to handle basic
keys (handlesBasicKeys returns false)
basicKeys are any characters


 

keyboardFocusChange:

The message is sent to a morph when its keyboard focus change. The given argument indicates that the receiver is gaining (versus losing) the keyboard focus


 

mouseDown:

Handle a mouse down event. The default response is to let my eventHandler, if any, handle it.


 

mouseEnter:

Handle a mouseEnter event, meaning the mouse just entered my bounds with no button pressed. The default response is to let my eventHandler, if any, handle it.


 

mouseEnterDragging:

Handle a mouseEnterDragging event, meaning the mouse just entered my bounds with a button pressed or laden with submorphs. The default response is to let my eventHandler, if any, handle it, or else to do nothing.


 

mouseLeave:

The mouse has left the area of the receiver


 

mouseLeaveDragging:

Handle a mouseLeaveLaden event, meaning the mouse just left my bounds with a button pressed or laden with submorphs. The default response is to let my eventHandler, if any, handle it; else to do nothing.


 

mouseMove:

If pane is not full, pass the event to the last submorph,
assuming it is the most appropriate recipient (!).


 

mouseUp:

The mouse came up within the list; take appropriate action


 

wantsKeyboardFocusFor:

Answer whether a plain mouse click on aSubmorph, a text-edit-capable thing, should result in a text selection there


  geometry top  
 

scrollDeltaHeight

Return the increment in pixels which this pane should be scrolled.


  initialization top  
 

autoDeselect:

Enable/disable autoDeselect (see class comment)


 

doubleClickSelector:


 

font


 

font:


 

getListSelector:

Set the receiver's getListSelector as indicated, and trigger a recomputation of the list


 

initForKeystrokes


 

installModelIn:

No special inits for new components


 

keystrokeActionSelector:

Set the keystroke action selector as specified


 

list:

Set the receiver's list as specified


 

listItemHeight

This should be cleaned up. The list should get spaced by this parameter.


 

on:list:selected:changeSelected:menu:keystroke:


  menu top  
 

getMenu:

Answer the menu for this text view, supplying an empty menu to be filled in. If the menu selector takes an extra argument, pass in the current state of the shift key.


  menus top  
 

addCustomMenuItems:hand:

Add halo menu items to be handled by the invoking hand. The halo menu is invoked by clicking on the menu-handle of the receiver's halo.


 

setListFont

set the font for the list


  model access top  
 

allSubmorphNamesDo:

Assume list morphs do not have named parts -- saves MUCH time


 

basicKeyPressed:


 

changeModelSelection:

Change the model's selected item index to be anInteger.


 

commandKeyTypedIntoMenu:

The user typed a command-key into a menu which has me as its command-key handler


 

getCurrentSelectionIndex

Answer the index of the current selection.


 

getList

Answer the list to be displayed.


 

modifierKeyPressed:


 

specialKeyPressed:

A special key with the given ascii-value was pressed; dispatch it


  object fileIn top  

  obsolete top  
 

doubleClick:onItem:


 

mouseDown:onItem:


 

mouseEnterDragging:onItem:


 

mouseLeaveDragging:onItem:


 

mouseUp:onItem:


 

removeObsoleteEventHandlers


 

startDrag:onItem:


  selection top  
 

getListSelector


 

maximumSelection


 

minimumSelection


 

numSelectionsInView


 

selectedMorph:


 

selection


 

selection:

Called from outside to request setting a new selection.
Assumes scroller submorphs is exactly our list.
Note: won't work right if list includes repeated items


 

selectionIndex:

Called internally to select the index-th item.


 

setGetListSelector:

Set the the receiver's getListSelector as indicated. For access via scripting


 

setSelectedMorph:


  updating top  
 

update:

Refer to the comment in View|update:.


 

verifyContents

Verify the contents of the receiver, reconstituting if necessary. Called whenever window is reactivated, to react to possible structural changes. Also called periodically in morphic if the smartUpdating preference is true


class methods
  class initialization top  

  instance creation top  
 

on:list:selected:changeSelected:

Create a 'pluggable' list view on the given model parameterized by the given message selectors. See ListView>>aboutPluggability comment.


 

on:list:selected:changeSelected:menu:

Create a 'pluggable' list view on the given model parameterized by the given message selectors. See ListView>>aboutPluggability comment.


 

on:list:selected:changeSelected:menu:keystroke:

Create a 'pluggable' list view on the given model parameterized by the given message selectors. See ListView>>aboutPluggability comment.