[squeak-dev] MagnifierMorph broken in 6.0 alpha

Marcel Taeumel marcel.taeumel at hpi.de
Sat May 12 09:11:17 UTC 2018


Hi Stef,

I could not reproduce the expected behavior in Squeak 3.81 nor Squeak 4.2. You can resize the MagnifierMorph via its Halo.

What works is that you can press the yellow button (i.e. the right one on a three-button mouse) and then drag to resize. The code is in MagnifierMorph >> #mouseDown:  since 1999.

If you are referring to CTRL+RED/Drag, this has always been CTRL+YELLOW/Drag due to the VM conversion. Although, the CTRL flag is not checked in MagnifierMorph.

Best,
Marcel
Am 11.05.2018 19:32:20 schrieb Stéphane Rollandin <hepta at zogotounga.net>:
Still in the latest downloadable 6.0 alpha:

The MagnifierMorph is supposed to grow in size and zooming factor when
one does a mouse drag with control key pressed. This does not work anymore.

More generally, it is not possible to define a ctrl+drag behavior (this
have been true for a while). I did fix this for muO though.

In 6.0, here is how I did it:

I added a line in the following method:

-----------------------

PasteUpMorph>>tryInvokeMetaMenu: anEvent

| innerMost target |
Preferences cmdGesturesEnabled ifFalse: [^ self].
Preferences eToyFriendly ifTrue: [^ self].

innerMost := (self morphsAt: anEvent position unlocked: true) first.

innerMost honorsCtrlMetaMenu ifFalse: [^ self]. "<===>

"Traverse the owner chain if some morph does not want to show its meta
menu."
target := innerMost.
[target isNil or: [target wantsMetaMenu]] whileFalse: [target := target
owner].
target ifNil: [^ self].

target invokeMetaMenu: anEvent.
anEvent ignore.


------------------------

... with Morph>>#honorsCtrlMetaMenu returning true, overriden by false
for any morph wanting to have ctrl+drag work (for example, MagnifierMorph)


Stef

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180512/cc3783c2/attachment.html>


More information about the Squeak-dev mailing list