Thanks Doru, That solves it! A quick and clean fix :-).

Cheers,

Offray


On 06/02/17 00:41, Tudor Girba wrote:
Hi,

I am not quite sure I understand your problem, but I believe what you want is 
to only react to a change in a text.

This information is placed in the #text port. Here is a basic example of how to 
react to it:
http://ws.stfx.eu/ETEC2JH7363M

Cheers,
Doru


On Feb 6, 2017, at 2:16 AM, Offray Vladimir Luna Cárdenas 
<offray.l...@mutabit.com> wrote:

Hi,

For my Grafoscopio notebooks,  I have implemented a way to auto-updating the 
content of a node, so it is automatically saved in the notebook when a node 
content is changed. The problem is that a node contains an embedded playground 
that produces text as output when executed (for example the playground reads a 
file or scraps HTML or calculates a hash), the text of the playground is 
replaced with the executed output. If the playground produces a visualization 
or non-textual output, this doesn't happen.

I imagine that the source of the problem is here:

=======

GrafoscopioNotebook >> autoSaveBodyOf: aNode
    body body class = TextModel
        ifTrue: [ body body whenTextChanged: [ :arg | aNode body: arg ] ].
    body body class = GlamourPresentationModel
        ifTrue: [ | playground |
            playground := body body glmPres.
            playground
                when: GLMContextChanged
                do: [ :ann |
                    ann property = #text
                        ifTrue: [ | playgroundText |
                            playgroundText := (playground pane ports at: 2) 
value.
                            aNode body: playgroundText ]
                ]
        ]

=======

as you can see the "when: GLMContextChanged" updates a node body with the 
playgroundText, as intended, so I can capture any change of the playground code, but I 
would like to add some condition to **not** update the body content if the text is the 
result of a playground execution. There is any way to do this?

Thanks,

Offray


--
www.tudorgirba.com
www.feenk.com

"If you can't say why something is relevant,
it probably isn't."





Reply via email to