Hi.

On Wed, Feb 22, 2017 at 10:52 AM, Tim Cuthbertson <ratcheer@gmail.com> wrote:
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!).

-cbc