[squeak-dev] Event handling challenges
Trygve Reenskaug
trygver at ifi.uio.no
Mon Jun 15 13:47:14 UTC 2020
Not quite. Joe now throws the the strange Morph back to where it came
from instead of ignoring it.
I need Joe to accept all TexMorphXX but ignore the rest.
*PasteUpMorphXX>>acceptDroppingMorph: morphToDrop event: evt*
(morphToDrop isKindOf: TextMorphXX) ifFalse: [
^morphToDrop rejectDropMorphEvent: evt].
On 2020.06.15 15:13, karl ramberg wrote:
> Hi,
> When you open a morph for dropping it will accept all dropped morphs:
> joe dropEnabled: true.
>
> To filter what is accepted you must override acceptDroppingMorph:
> aMorph event: evt
> Look at implementors for that method.
>
> Best,
> Karl
>
>
>
> On Mon, Jun 15, 2020 at 2:44 PM Trygve Reenskaug <trygver at ifi.uio.no
> <mailto:trygver at ifi.uio.no>> wrote:
>
> Hi Squeakers,
> My SRE context browser is a tool for drawing a snapshot of a
> selected structure of interlinked objects where each object is
> shown as a rectangular symbol. This diagram shows an object with
> its class and superclass objects:
>
>
> SRE has worked for years, last in 'Squeak3.10.2'. In 'Squeak5.3',
> the same program went into an infinite loop. It transpired that
> /myClass>>processEvent: anEvent using: defaultDispatcher/ had
> become a new thing called an event filter and needed to return an
> Event or a Symbol. That problem fixed; the program still
> misbehaves. The problem seems to be with event handling. I have
> never been into that corner of Smalltalk but have read some Squeak
> documentation. I have not found any concrete code. I realize that
> I will never understand Squeak's event handling by reading code,
> code comments, and even the documentation I have found. There has
> apparently been a significant increase in complexity lately. An
> example: In 3,10,2, class /MorphicEventDispatcher /has 4 methods.
> In 5,3, it has 16.
>
> Here's the beginning of my challenges with 5.3: I find two
> anomalies in a diagram with just one symbol:
>
> 1. When I move some other window to a position within the
> diagram, the diagram grabs it and makes it a submorph of
> itself. In 3.10.2, the diagram ignores it.
> 2. The cursor becomes a text cursor when I move the mouse
> across a symbol.
>
> I have no explanation for either anomaly. My SRE code is a kludge
> and is almost unreadable. It is hard to formulate a question
> without the whole code as a background, and I have tried to
> reproduce them in a simple example. I managed to reproduce the
> first, but not the second anomaly. In a workspace, copy, select,
> and do it. The XXX-symbol becomes attached to the cursor, and I
> place it in the blue background.
>
> joe := PasteUpMorph new color: Color lightBlue.
> joe bounds: (500 at 400 corner: 800 at 600).
> joe dropEnabled: true.
> joe openInWorld.
> circle := CircleMorph new.
> joe addMorphCentered: circle.
> tex := TextMorphXX new
> contents: 'XXX';
> borderWidth: 1;
> color: Color red;
> extent: 100 at 100.
> tex openInHand.
>
> There is only one method in class TextMorphXX (sco TextMorph):
>
> processEvent: anEvent using: defaultDispatcher
> ^#rejected
>
>
>
> I move some background window, actually a collapsed Monticello
> thing, to Joe's position, Joe grabs it and makes it into a
> submorph. Any hints about how to proceed will be greatly appreciated.
> --Trygve
>
>
>
>
>
>
> --
>
> /The essence of object orientation is that objects collaborateto
> achieve a goal. /
> Trygve Reenskaug mailto: trygver at ifi.uio.no
> <mailto:%20trygver at ifi.uio.no>
> Morgedalsvn. 5A http://folk.uio.no/trygver/
> N-0378 Oslo http://fullOO.info
> Norway Tel: (+47) 468 58 625
>
>
>
--
/The essence of object orientation is that objects collaborateto achieve
a goal. /
Trygve Reenskaug mailto: trygver at ifi.uio.no <mailto:%20trygver at ifi.uio.no>
Morgedalsvn. 5A http://folk.uio.no/trygver/
N-0378 Oslo http://fullOO.info
Norway Tel: (+47) 468 58 625
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200615/77e404c2/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clfapgjkmegmpnfm.gif
Type: image/gif
Size: 14037 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200615/77e404c2/attachment-0001.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ojfapckoaibeechh.png
Type: image/png
Size: 42394 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200615/77e404c2/attachment-0001.png>
More information about the Squeak-dev
mailing list
|