2015-10-30 16:32 GMT+01:00 Andrei Chis <[email protected]>:

> Hi,
>
> You can try this:
>
> composite := GLMCompositePresentation new.
> composite pharoPlayground
>      title: 'Script';
>      variableBindings: [ { #x -> 1. #y -> 2 } ].
> composite
>  openOn: 'x+y'.
>
> For the moment only script presentations can have variables.
>
> Btw  #pharoPlayground  and #rubricText will be deprecated in the latest
> version in favour of #pharoScript and #text
>
> Cheers,
> Andrei
>
> On Fri, Oct 30, 2015 at 11:14 AM, Torsten Bergmann <[email protected]> wrote:
>
>> Hi,
>>
>> if one has an inspector extension that shows a textual iVar of an object
>> representing code (using #rubricText, #pharoMethod or  #pharoPlayground)
>> as in this example:
>>
>>  gtInspectorSourceIn: composite
>>         <gtInspectorPresentationOrder: 30>
>>         ^ composite pharoMethod
>>                 title: 'Source';
>>                 smalltalkClass: [ self methodClass ];
>>                 display: [ self getSource ];
>>                 act: [ self browse ] icon: GLMUIThemeExtraIcons
>> glamorousBrowse entitled: 'Browse'
>>
>> What is the best/correct way to set the iVar when the text is typed so the
>> state of the iVar represents the lively editing in the inspector
>> extension?
>>
>> Or is there a way to realize this somehow with Glamour ports using the
>> #text port?
>>
>

you can define an action on a port change:
onChangeOfPort:act:

| browser morph |
   morph := StringMorph new openInWorld.
   morph font:(LogicalFont familyName: 'Source Code Pro' pointSize: 30).
    browser := GLMTabulator new.
    browser
        row: #main.
    (browser transmit)
        to: #main;
        andShow: [ :a | a rubricText
            onChangeOfPort: #text act: [ :text  |
            morph contents:text text] ].

    ^ browser openOn:'type some text'

This will open a StringMorph and a GlamourBrowser.
If you change the text in the browser, it will change the contents of the
string morph.



>> Thanks
>> T.
>>
>
>

Reply via email to