Frank Shearar uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-fbs.651.mcz ==================== Summary ==================== Name: Morphic-fbs.651 Author: fbs Time: 21 May 2013, 10:48:36.892 pm UUID: d823fc4c-22e8-42de-bd2f-afefdedb5d1a Ancestors: Morphic-fbs.650 MethodReference new setStandardClass: foo methodSymbol: bar -> MethodReference class: foo selector: bar. =============== Diff against Morphic-fbs.650 =============== Item was changed: ----- Method: EventHandler>>methodRefList (in category 'access') ----- methodRefList "Return a MethodReference for each message I can send. tk 9/13/97, raa 5/29/01 " | list adder | list := SortedCollection new. adder := [:recip :sel | recip ifNotNil: [list add: (MethodReference new + class: (recip class whichClassIncludesSelector: sel) + selector: sel)]]. - setStandardClass: (recip class whichClassIncludesSelector: sel) - methodSymbol: sel)]]. adder value: mouseDownRecipient value: mouseDownSelector. adder value: mouseMoveRecipient value: mouseMoveSelector. adder value: mouseStillDownRecipient value: mouseStillDownSelector. adder value: mouseUpRecipient value: mouseUpSelector. adder value: mouseEnterRecipient value: mouseEnterSelector. adder value: mouseLeaveRecipient value: mouseLeaveSelector. adder value: mouseEnterDraggingRecipient value: mouseEnterDraggingSelector. adder value: mouseLeaveDraggingRecipient value: mouseLeaveDraggingSelector. adder value: doubleClickRecipient value: doubleClickSelector. adder value: keyStrokeRecipient value: keyStrokeSelector. ^ list! Item was changed: ----- Method: Morph>>showActions (in category 'meta-actions') ----- showActions "Put up a message list browser of all the code that this morph would run for mouseUp, mouseDown, mouseMove, mouseEnter, mouseLeave, and mouseLinger. tk 9/13/97" | list cls selector adder | list := SortedCollection new. adder := [:mrClass :mrSel | list + add: (MethodReference class: mrClass selector: mrSel)]. - add: (MethodReference new setStandardClass: mrClass methodSymbol: mrSel)]. "the eventHandler" self eventHandler ifNotNil: [list := self eventHandler methodRefList. (self eventHandler handlesMouseDown: nil) ifFalse: [adder value: HandMorph value: #grabMorph:]]. "If not those, then non-default raw events" #(#keyStroke: #mouseDown: #mouseEnter: #mouseLeave: #mouseMove: #mouseUp: #doButtonAction ) do: [:sel | cls := self class whichClassIncludesSelector: sel. cls ifNotNil: ["want more than default behavior" cls == Morph ifFalse: [adder value: cls value: sel]]]. "The mechanism on a Button" (self respondsTo: #actionSelector) ifTrue: ["A button" selector := self actionSelector. cls := self target class whichClassIncludesSelector: selector. cls ifNotNil: ["want more than default behavior" cls == Morph ifFalse: [adder value: cls value: selector]]]. MessageSet openMessageList: list name: 'Actions of ' , self printString autoSelect: nil! |
Free forum by Nabble | Edit this page |