2015-10-30 19:30 GMT+01:00 Andrei Chis <[email protected]>: > Cool example. > I slightly modified it and added it to the glamour examples :) > > | browser morph | > morph := StringMorph new. > morph font:(LogicalFont familyName: 'Source Code Pro' pointSize: 30). > browser := GLMTabulator new. > browser > row: #main; > row: #preview. > browser transmit > to: #main; > andShow: [ :a | a text > onChangeOfPort: #text act: [ :text | > morph contents:text text] ]. > browser transmit > to: #preview; > andShow: [ :a | a morph > title: 'Preview'; > display: [ morph ] ]. > > ^ browser openOn: 'some text' > > cool!
> On Fri, Oct 30, 2015 at 11:47 AM, Nicolai Hess <[email protected]> > wrote: > >> >> >> 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. >>>> >>> >>> >> >
