Search code examples
user-interfacesmalltalkpharosqueakmorphic

How to bind a LabelMorph/TextMorph to a variable so that the Morph reflects changes of the variable?


  • I have an object with a variable containing a String.
  • I have a window containing a LabelMorph/TextMorph (or some other Morph that displays Text?).

How do i bind the LabelMorph/TextMorph to the variable, so that the label updates when the String in the variable changes?

  • classic Smalltalk-80 dependent/change/update mechanism?
  • Pharo Announcement framework?
  • something different??

How would i do this? Which Morph should i use?


Solution

  • Depends on what you want to achieve. You might want to take a look at a way to do it with Glamour in a current Moose image. In a workspace, do-it:

    GLMBasicExamples new magritte openOn: GLMMagrittePersonExample sampleData 
    

    That shows how to work with announcements on save. The earlier examples are a better way to start understanding how to work with Glamour (and because of the way the examplebrowser is build, the Magritte example doesn't update the list when it is nested):

    GLMBasicExamples open
    

    That has several other examples that update on change.