[Newbies] Beginners Digest, Vol 123, Issue 3

Chris Cunningham cunningham.cb at gmail.com
Thu Feb 23 15:45:51 UTC 2017


On Wed, Feb 22, 2017 at 10:52 AM, Tim Cuthbertson <ratcheer at gmail.com>

> Please allow me to simplify my question. I need a basic answer.
> One of the articles on Morphic says you can create composite morphs either
> programatically, using addMorph, or using drag and drop from the Objects
> menu of the morphic World. I have done the latter, because it is easier to
> design my layout that way. Once that has been done, how do I address the
> submorph from a browser? If I inspect my button submorph, for example, all
> it will tell me about it is "a ScriptableButton<Button>(1364754)". I have
> no idea how to access that object in order to do anything with it. This is
> the crux of my questions.
> Thank you
> Tim Cuthbertson
> Hi, having been through this recently myself, let me share what I do.

First, expore the new morph, and name the morph, such as:
   self name: 'NameString'
Then, when you need to find the morph later use #externalName, roughly like
what Jecel suggests:

| stopButton |
stopButton := nil.
self allMorphsDo: [ :m | (m externalName = 'NameString') ifTrue: [
                               stopButton := m ] ].
stopButton ifNotNilDo: [ :b | b ... ].

In my code, I store all of the submorphs I want in local variables for
later use.

(note that I use #allMorphsDo: - this check morphs embedded in other morphs
in your main morph, which I did a lot of!).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/beginners/attachments/20170223/3aa1f2ff/attachment.html>

More information about the Beginners mailing list