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.
>>
>
>