Problems in Squeak 3.9

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems in Squeak 3.9

squeak-dev.5.pris
Squeak 3.9
latest update #7068
I'm running this on Ubuntu Linux.

1) First a problem with the Squeak GUI.
This happens if you pressed caps-lock without noticing. To replicate
the problem, open a browser and make a change in the workspace. Now
press Caps-lock. Then try to close the browser window and you can't!
When this happened to me I wasn't aware of the caps-lock and ended up
shutting down Squeak the hard way. Try it out to see what I mean.

2) A bug with SketchMorph
I was following the tutorial, which uses SketchMorph:
http://squeak.preeminent.org/tut2007/html/078.htm

Unfortunately I wasn't aware that this class is not working
properly(more on that at 3). I finally switched to ImageMorph and got
the problem fixed.
When I read the documentation of ImageMorph I found the following:

Relationship to SketchMorph: ImageMorph should be favored over
SketchMorph, a parallel, legacy class -- see the Swiki FAQ for details
( http://minnow.cc.gatech.edu/squeak/1372 ).

It would be sensible to put a corresponding notice in the SketchMorph,
otherwise you won't have a clue about this, and btw update the
tutorial to use ImageMorph also.  Btw this took me over 10 hours to
debug, because I first thought this was some problem with Squeak
events.

3) Bug with SketchMorph.

The problem is in this message:

containsPoint: aPoint
        ^ (self bounds containsPoint: aPoint) and:
          [(self rotatedForm isTransparentAt: aPoint - bounds origin) not]

Even if the point is in SketchMorph the following expression returns
true: (self rotatedForm isTransparentAt: aPoint - bounds origin)
and so the MouseClick isn't detected.

This message is send from the MorphicEventDispatcher to check the mouse click:
aMorph containsPoint: anEvent cursorPoint event: anEvent

4) Bug with Morph class. The message wantsHaloFromClick always answers
true. It should be possible to turn this off, I don't want halos from
submorphs.

5) Question: In the GUI editor wow do I change instance messages into
class messages? The only way I know is copying by hand then deleting
the old one.

6) What would be the best way to accomplish the following: I have a
morph and in it I want to have a canvas where I can draw, fill
rectangles and also write text in various positions. How do I best
embed a Canvas into a Morph?

Roland

Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

Bert Freudenberg

On Jan 30, 2008, at 6:27 , [hidden email] wrote:

> Squeak 3.9
> latest update #7068
> I'm running this on Ubuntu Linux.
>
> 1) First a problem with the Squeak GUI.
> This happens if you pressed caps-lock without noticing. To replicate
> the problem, open a browser and make a change in the workspace. Now
> press Caps-lock. Then try to close the browser window and you can't!
> When this happened to me I wasn't aware of the caps-lock and ended up
> shutting down Squeak the hard way. Try it out to see what I mean.

This is a long-standing problem with the Unix VM. Patches welcome. Or  
get rid of the stupid CapsLock key like OLPC did ;)

> 2) A bug with SketchMorph
> 3) Bug with SketchMorph.


Bugs can be reported at http://bugs.squeak.org/ (and fixes attached,  
too).

> 4) Bug with Morph class. The message wantsHaloFromClick always answers
> true. It should be possible to turn this off, I don't want halos from
> submorphs.

We recently changed that for Etoys:

http://tinlizzie.org/updates/etoys/updates/1624ClickHaloProperty-yo.cs

> 5) Question: In the GUI editor wow do I change instance messages into
> class messages? The only way I know is copying by hand then deleting
> the old one.

Open two browsers, one on the instance side, one on the class side.  
Select your method, then drag it into the protocol in the other browser.

> 6) What would be the best way to accomplish the following: I have a
> morph and in it I want to have a canvas where I can draw, fill
> rectangles and also write text in various positions.

Embed a plain Morph, some RectangleMorphs, and some TextMorphs in  
your morph.

> How do I best embed a Canvas into a Morph?

A Canvas in Morphic is not a morph, but one is created for you on the  
fly and passed into #drawOn:. Simply make a new Morph class  
implementing #drawOn: for your custom drawing.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

squeak-dev.5.pris
On Jan 30, 2008 7:06 AM, Bert Freudenberg - [hidden email] wrote:

>
> Embed a plain Morph, some RectangleMorphs, and some TextMorphs in
> your morph.
>
> > How do I best embed a Canvas into a Morph?
>
> A Canvas in Morphic is not a morph, but one is created for you on the
> fly and passed into #drawOn:. Simply make a new Morph class
> implementing #drawOn: for your custom drawing.
>
> - Bert -
>

Thanks!

Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

David Zmick
this is why i dont use ubuntu, i had problems with the versions of stuff it installed.   bad repos. :)

On Jan 30, 2008 12:59 PM, <[hidden email]> wrote:
On Jan 30, 2008 7:06 AM, Bert Freudenberg - [hidden email] wrote:
>
> Embed a plain Morph, some RectangleMorphs, and some TextMorphs in
> your morph.
>
> > How do I best embed a Canvas into a Morph?
>
> A Canvas in Morphic is not a morph, but one is created for you on the
> fly and passed into #drawOn:. Simply make a new Morph class
> implementing #drawOn: for your custom drawing.
>
> - Bert -
>

Thanks!




Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

Bert Freudenberg
On Jan 30, 2008, at 23:44 , David Zmick wrote:

> this is why i dont use ubuntu, i had problems with the versions of  
> stuff it installed.   bad repos. :)

Huh?

- Bert -

> On Jan 30, 2008 12:59 PM, <[hidden email]> wrote:
> On Jan 30, 2008 7:06 AM, Bert Freudenberg - [hidden email]  
> wrote:
> >
> > Embed a plain Morph, some RectangleMorphs, and some TextMorphs in
> > your morph.
> >
> > > How do I best embed a Canvas into a Morph?
> >
> > A Canvas in Morphic is not a morph, but one is created for you on  
> the
> > fly and passed into #drawOn:. Simply make a new Morph class
> > implementing #drawOn: for your custom drawing.
> >
> > - Bert -
> >
>
> Thanks!


Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

David Zmick
nothin just a personal issue with unbuntu, so i use rpm based distros now.

On Jan 30, 2008 5:36 PM, Bert Freudenberg <[hidden email]> wrote:
On Jan 30, 2008, at 23:44 , David Zmick wrote:

> this is why i dont use ubuntu, i had problems with the versions of
> stuff it installed.   bad repos. :)

Huh?

- Bert -

> On Jan 30, 2008 12:59 PM, <[hidden email]> wrote:
> On Jan 30, 2008 7:06 AM, Bert Freudenberg - [hidden email]
> wrote:
> >
> > Embed a plain Morph, some RectangleMorphs, and some TextMorphs in
> > your morph.
> >
> > > How do I best embed a Canvas into a Morph?
> >
> > A Canvas in Morphic is not a morph, but one is created for you on
> the
> > fly and passed into #drawOn:. Simply make a new Morph class
> > implementing #drawOn: for your custom drawing.
> >
> > - Bert -
> >
>
> Thanks!





Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

Bert Freudenberg
A: Because it messes up the order in which people normally read text.

Q: Why is top-posting such a bad thing?

On Jan 31, 2008, at 0:52 , David Zmick wrote:

> nothin just a personal issue with unbuntu, so i use rpm based  
> distros now.

What exactly does that have to do with how Morphic handles Canvases?

- Bert -

> On Jan 30, 2008 5:36 PM, Bert Freudenberg <[hidden email]>  
> wrote:
> On Jan 30, 2008, at 23:44 , David Zmick wrote:
>
> > this is why i dont use ubuntu, i had problems with the versions of
> > stuff it installed.   bad repos. :)
>
> Huh?
>
> - Bert -
>
> > On Jan 30, 2008 12:59 PM, <[hidden email]> wrote:
> > On Jan 30, 2008 7:06 AM, Bert Freudenberg - [hidden email]
> > wrote:
> > >
> > > Embed a plain Morph, some RectangleMorphs, and some TextMorphs in
> > > your morph.
> > >
> > > > How do I best embed a Canvas into a Morph?
> > >
> > > A Canvas in Morphic is not a morph, but one is created for you on
> > the
> > > fly and passed into #drawOn:. Simply make a new Morph class
> > > implementing #drawOn: for your custom drawing.
> > >
> > > - Bert -
> > >
> >
> > Thanks!
>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

David Zmick
nothing, ubuntu was mentioned tho

On Jan 30, 2008 6:04 PM, Bert Freudenberg <[hidden email]> wrote:
A: Because it messes up the order in which people normally read text.

Q: Why is top-posting such a bad thing?

On Jan 31, 2008, at 0:52 , David Zmick wrote:

> nothin just a personal issue with unbuntu, so i use rpm based
> distros now.

What exactly does that have to do with how Morphic handles Canvases?

- Bert -

> On Jan 30, 2008 5:36 PM, Bert Freudenberg <[hidden email]>
> wrote:
> On Jan 30, 2008, at 23:44 , David Zmick wrote:
>
> > this is why i dont use ubuntu, i had problems with the versions of
> > stuff it installed.   bad repos. :)
>
> Huh?
>
> - Bert -
>
> > On Jan 30, 2008 12:59 PM, <[hidden email]> wrote:
> > On Jan 30, 2008 7:06 AM, Bert Freudenberg - [hidden email]
> > wrote:
> > >
> > > Embed a plain Morph, some RectangleMorphs, and some TextMorphs in
> > > your morph.
> > >
> > > > How do I best embed a Canvas into a Morph?
> > >
> > > A Canvas in Morphic is not a morph, but one is created for you on
> > the
> > > fly and passed into #drawOn:. Simply make a new Morph class
> > > implementing #drawOn: for your custom drawing.
> > >
> > > - Bert -
> > >
> >
> > Thanks!
>
>
>
>






Reply | Threaded
Open this post in threaded view
|

Re: Problems in Squeak 3.9

Michael Davies-2
In reply to this post by squeak-dev.5.pris
On Jan 30, 2008 5:27 AM,  <[hidden email]> wrote:
...
> 5) Question: In the GUI editor wow do I change instance messages into
> class messages? The only way I know is copying by hand then deleting
> the old one.
>
Using OmniBrowser, you can bring up the method's menu, select
"refactor method", and "move to class side"