I have two morphs that one is in the other.
a:= Morph new.
b:= Morph new.
a addMorph: b.
a openInWorld.
but when I want to change b's position by doing b position: 100@100, it never shows the change, so what am I missing here? or is it somehow a's responsibility to keep track of b's position?
This should work:
| morph1 morph2 |
morph1 := Morph new.
morph1 color: Color red.
morph1 extent: 200@200.
morph2 := Morph new.
morph2 color: Color green.
morph2 extent: 50@50.
morph1 addMorph: morph2.
morph2 position: 100@100.
morph1 openInWorld.
The result:
Note that the positions are absolute, if you want relative positions you have to do something like:
morph2 position: (morph1 position + (100@100))
If you add Morphs to a window, you could have a look at SystemWindow #addMorph:fullFrame: which offers better possibilities to position submorphs. Morph also implements #addMorph:fullFrame: but somehow this does not seem to work for me in Pharo 2.0.
Have a look at: Pharo collaborActive book and at the Basic Widgets chapter of Pharo by Example 2.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With