[Newbies] Re: Passing methods to buttons

Jerome Peace peace_the_dreamer at yahoo.com
Thu Jan 15 20:48:43 UTC 2009

[Newbies] Passing methods to buttons

Hi Filip,

Try this,
In a fresh squeak 3.9 or later
Open the world menu
Select objects. (you will get a tray of objects.)

Poke around in the catagories till you can pull out a pasteup morph 
and some buttons.

Put the buttons in the paste up morph.

You now have a container with three buttons.

Now put the mouse over one of the buttons.
Halo click (push the button on the mouse that brings up the halos. 
or press Cmd and click the mouse if you only have one button.)

Select the red handle it will give you a menu for that button. 
Make the menu stay up.

At the bottom of the menu you will see items that allow you to set 
the action selector. Pick that then type in the selector you want.
#delete would be sort of final so it would be best to pick something kind.
#flash is showy but harmless. So use that first.

Then select sight target. You will get a target sight cursor.
move it over to one of the other buttons an press.
you will get a list of morphs. the button you are over
 and the paste up morph it is on will be part of the options.
Select one.
Now press the first button and observe what happens.
Try setting a different target.
Press again. Observe again.

You can call up inspectors and explorers on the buttons to look inside.
Explorers allow you to follow objects relationships all over the place.
Inspectors allow you to change and objects parameters like its action selector.
You can also browse code. A good way to learn the answer to your question
below is to find something that does what you are trying and look at its code. 

The ability of Squeak to teach is limited only by your willingness
to play.
You are trying to understand by reading and talking to those of us who 
have played. 

Play first, then ask questions.
Squeak itself has all the answers.

In general, if you are trying to do something in squeak and it seems 
hard you are missing something.

Try learning Squeak by playing with it.
You will learn how to code things much more easily afterwards.

Yours in service and curiosity, --Jerome Peace

Filip Malczak filet00 at gmail.com
Thu Jan 15 19:24:33 UTC 2009

2009/1/15 Filip Malczak <filet00 at gmail.com>

> Thanks for answering, but thats what I already knew from Squeak By Example.
> What I mean is:
> I want to create object (lets call it Container) that contains e.g. 3
> buttons (remembering that any morph could act as one), each with different
> action. I dont want to create 3 subclasses of Button or SimpleButton and
> define #mouseDown: for them, but define some method for Container, that adds
> submorphs Button with exact actions for clicking. Can I do this with
> #actionSelector: and #target: ? How does it exactly work? And (it should be
> first question) - is this (with Container and 3 buttons) possible?


> --
> Pozdrawiam:
> Filip
> GG: 2486889
> mail: filet00 at gmail.com


More information about the Beginners mailing list