Hi,
I just loaded Roassal2 in Pharo4 using the following expression: Gofer it
smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; configurationOf: 'Roassal2'; loadStable. When I try one of the examples I see that I am missing some GT presentations specific to Roassal. How should I load those ? Thx, Sven |
Hi, There is one extra package that you need to load from the GToolkit repository: GT-InspectorExtensions-CoreRoassal It contains all the inspector extensions that depend on roassal and thus cannot be integrated into Pharo. Cheers, Andrei On Wed, Jan 7, 2015 at 1:35 PM, Sven Van Caekenberghe <[hidden email]> wrote:
|
Hi Andrei,
I’ve just checked, and the version Glamour-Roassal2-Presentations-TudorGirba.33 cannot be loaded in Pharo 4. Apparently in Pharo 4 Glamour is not updated. Glamour-Tools is missing in Pharo 4. But, Glamour is not updated in Roassal4 when there are some commit in the Glamour repository? How that can be? Glamour has been forked? Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
|
In reply to this post by Andrei Chis
Thx.
I loaded GT-InspectorExtensions-CoreRoassal-AndreiChis.25 but then I get Author: SvenVanCaekenberghe Date: 2015-01-07T14:20:37.659713+01:00 GLMCompositePresentation(Object)>>doesNotUnderstand: #roassal2 RTView>>gtInspectorViewIn: [ :eachPragma | (eachPragma selector findTokens: $:) size = 1 ifTrue: [ self perform: eachPragma selector with: composite ]. (eachPragma selector findTokens: $:) size = 2 ifTrue: [ self perform: eachPragma selector with: composite with: aGTInspector ] ] in RTView(Object)>>gtInspectorPresentationsIn:inContext: Array(SequenceableCollection)>>do: RTView(Object)>>gtInspectorPresentationsIn:inContext: [ :d | each gtInspectorPresentationsIn: d inContext: self ] in [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] in [ :a :each | a title: [ self printObjectAsAnItem: each ]. a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. a dynamic display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] in [ :browser | browser fixedSizePanes: self class numberOfInspectorPanes. browser show: [ :a :each | a title: [ self printObjectAsAnItem: each ]. a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. a dynamic display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] ] in GTInspector>>compose GLMCompositePresentation(GLMPresentation)>>with: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] in [ :a :each | a title: [ self printObjectAsAnItem: each ]. a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. a dynamic display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] in [ :browser | browser fixedSizePanes: self class numberOfInspectorPanes. browser show: [ :a :each | a title: [ self printObjectAsAnItem: each ]. a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. a dynamic display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] ] in GTInspector>>compose BlockClosure>>glamourValueWithArgs: BlockClosure(Object)>>glamourValue: GLMDynamicPresentation(GLMPresentation)>>displayValue GLMDynamicPresentation>>currentPresentation GLMMorphicDynamicRenderer>>render: GLMMorphicDynamicRenderer class(GLMMorphicWidgetRenderer class)>>render:from: GLMMorphicRenderer>>renderDynamicPresentation: GLMDynamicPresentation>>renderGlamorouslyOn: GLMMorphicRenderer(GLMRenderer)>>render: GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderObject: GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderWithTitleOrNil: GLMMorphicTabbedRenderer>>render: GLMMorphicTabbedRenderer class(GLMMorphicWidgetRenderer class)>>render:from: GLMMorphicRenderer>>renderTabbedCompositePresentation: GLMTabbedArrangement>>renderGlamorouslyOn: GLMCompositePresentation>>renderGlamorouslyOn: GLMMorphicRenderer(GLMRenderer)>>render: GLMMorphicPaneRenderer(GLMMorphicWidgetRenderer)>>renderObject: GLMMorphicPaneRenderer>>renderContainerFor: GLMMorphicPaneRenderer>>render: GLMMorphicPaneRenderer class(GLMMorphicWidgetRenderer class)>>render:from: GLMMorphicRenderer>>renderPane: GLMPane>>renderGlamorouslyOn: GLMMorphicRenderer(GLMRenderer)>>render: GLMMorphicPagerRenderer(GLMMorphicWidgetRenderer)>>renderObject: GLMMorphicPagerRenderer>>actOnPaneReplaced: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: BlockClosure>>on:do: [ Processor terminateActive ] in on: exception fork: handlerAction "Activate the receiver. In case of exception, fork a new process, which will handle an error. An original process will continue running as if receiver evaluation finished and answered nil, i.e., an expression like: [ self error: 'some error'] on: Error fork: [:ex | 123 ] will always answer nil for original process, not 123. The context stack , starting from context which sent this message to receiver and up to the top of the stack will be transferred to forked process, with handlerAction on top. (so when the forked process will be resuming, it will enter the handlerAction) " ^ self on: exception do: [ :ex | | copy onDoCtx process handler bottom thisCtx | onDoCtx := thisContext. thisCtx := onDoCtx home. "find the context on stack for which this method's is sender" [ onDoCtx sender == thisCtx ] whileFalse: [ onDoCtx := onDoCtx sender. onDoCtx ifNil: [ "Can't find our home context. seems like we're already forked and handling another exception in new thread. In this case, just pass it through handler." ^ handlerAction cull: ex ] ]. bottom := [ Processor terminateActive ] asContext. onDoCtx privSender: bottom. handler := [ handlerAction cull: ex ] asContext. handler privSender: thisContext sender. (Process forContext: handler priority: Processor activePriority) resume. "cut the stack of current process" thisContext privSender: thisCtx. nil ] in BlockClosure>>on:fork: > On 07 Jan 2015, at 14:15, Andrei Chis <[hidden email]> wrote: > > Hi, > > There is one extra package that you need to load from the GToolkit repository: GT-InspectorExtensions-CoreRoassal > It contains all the inspector extensions that depend on roassal and thus cannot be integrated into Pharo. > > > Cheers, > Andrei > > On Wed, Jan 7, 2015 at 1:35 PM, Sven Van Caekenberghe <[hidden email]> wrote: > Hi, > > I just loaded Roassal2 in Pharo4 using the following expression: > > Gofer it > smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; > configurationOf: 'Roassal2'; > loadStable. > > When I try one of the examples I see that I am missing some GT presentations specific to Roassal. How should I load those ? > > <Screen Shot 2015-01-07 at 13.34.11.png> > > Thx, > > Sven > > > > |
You also need Glamour-Roassal2-Presentations. But the last version does not seem to load.
Any idea how to fix this situation? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > On Jan 7, 2015, at 10:22 AM, Sven Van Caekenberghe <[hidden email]> wrote: > > Thx. > > I loaded GT-InspectorExtensions-CoreRoassal-AndreiChis.25 > > but then I get > > Author: SvenVanCaekenberghe > Date: 2015-01-07T14:20:37.659713+01:00 > > GLMCompositePresentation(Object)>>doesNotUnderstand: #roassal2 > RTView>>gtInspectorViewIn: > [ :eachPragma | > (eachPragma selector findTokens: $:) size = 1 > ifTrue: [ self perform: eachPragma selector with: composite ]. > (eachPragma selector findTokens: $:) size = 2 > ifTrue: [ self perform: eachPragma selector with: composite with: aGTInspector ] ] in RTView(Object)>>gtInspectorPresentationsIn:inContext: > Array(SequenceableCollection)>>do: > RTView(Object)>>gtInspectorPresentationsIn:inContext: > [ :d | each gtInspectorPresentationsIn: d inContext: self ] in [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] in [ :a :each | > a title: [ self printObjectAsAnItem: each ]. > a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. > a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. > a dynamic > display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] in [ :browser | > browser fixedSizePanes: self class numberOfInspectorPanes. > browser > show: [ :a :each | > a title: [ self printObjectAsAnItem: each ]. > a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. > a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. > a dynamic > display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] ] in GTInspector>>compose > GLMCompositePresentation(GLMPresentation)>>with: > [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] in [ :a :each | > a title: [ self printObjectAsAnItem: each ]. > a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. > a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. > a dynamic > display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] in [ :browser | > browser fixedSizePanes: self class numberOfInspectorPanes. > browser > show: [ :a :each | > a title: [ self printObjectAsAnItem: each ]. > a dynamicActions: [ :aPresentation | each gtInspectorActions asOrderedCollection ]. > a titleAction: [ :aPresentation | self closeActionFor: aPresentation ]. > a dynamic > display: [ :x | (GLMCompositePresentation new with: [ :d | each gtInspectorPresentationsIn: d inContext: self ]) startOn: x ] ] ] in GTInspector>>compose > BlockClosure>>glamourValueWithArgs: > BlockClosure(Object)>>glamourValue: > GLMDynamicPresentation(GLMPresentation)>>displayValue > GLMDynamicPresentation>>currentPresentation > GLMMorphicDynamicRenderer>>render: > GLMMorphicDynamicRenderer class(GLMMorphicWidgetRenderer class)>>render:from: > GLMMorphicRenderer>>renderDynamicPresentation: > GLMDynamicPresentation>>renderGlamorouslyOn: > GLMMorphicRenderer(GLMRenderer)>>render: > GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderObject: > GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderWithTitleOrNil: > GLMMorphicTabbedRenderer>>render: > GLMMorphicTabbedRenderer class(GLMMorphicWidgetRenderer class)>>render:from: > GLMMorphicRenderer>>renderTabbedCompositePresentation: > GLMTabbedArrangement>>renderGlamorouslyOn: > GLMCompositePresentation>>renderGlamorouslyOn: > GLMMorphicRenderer(GLMRenderer)>>render: > GLMMorphicPaneRenderer(GLMMorphicWidgetRenderer)>>renderObject: > GLMMorphicPaneRenderer>>renderContainerFor: > GLMMorphicPaneRenderer>>render: > GLMMorphicPaneRenderer class(GLMMorphicWidgetRenderer class)>>render:from: > GLMMorphicRenderer>>renderPane: > GLMPane>>renderGlamorouslyOn: > GLMMorphicRenderer(GLMRenderer)>>render: > GLMMorphicPagerRenderer(GLMMorphicWidgetRenderer)>>renderObject: > GLMMorphicPagerRenderer>>actOnPaneReplaced: > MessageSend>>value: > MessageSend>>cull: > MessageSend>>cull:cull: > [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: > BlockClosure>>on:do: > [ Processor terminateActive ] in on: exception fork: handlerAction > "Activate the receiver. In case of exception, fork a new process, which will handle an error. > An original process will continue running as if receiver evaluation finished and answered nil, > i.e., an expression like: > > [ self error: 'some error'] on: Error fork: [:ex | 123 ] > > will always answer nil for original process, not 123. > > The context stack , starting from context which sent this message to receiver and > up to the top of the stack will be transferred to forked process, with handlerAction on top. > (so when the forked process will be resuming, it will enter the handlerAction) > " > > ^ self > on: exception > do: [ :ex | > | copy onDoCtx process handler bottom thisCtx | > onDoCtx := thisContext. > thisCtx := onDoCtx home. "find the context on stack for which this method's is sender" > [ onDoCtx sender == thisCtx ] > whileFalse: [ > onDoCtx := onDoCtx sender. > onDoCtx > ifNil: [ > "Can't find our home context. seems like we're already forked > and handling another exception in new thread. In this case, just pass it through handler." > ^ handlerAction cull: ex ] ]. > bottom := [ Processor terminateActive ] asContext. > onDoCtx privSender: bottom. > handler := [ handlerAction cull: ex ] asContext. > handler privSender: thisContext sender. > (Process forContext: handler priority: Processor activePriority) resume. "cut the stack of current process" > thisContext privSender: thisCtx. > nil ] in BlockClosure>>on:fork: > >> On 07 Jan 2015, at 14:15, Andrei Chis <[hidden email]> wrote: >> >> Hi, >> >> There is one extra package that you need to load from the GToolkit repository: GT-InspectorExtensions-CoreRoassal >> It contains all the inspector extensions that depend on roassal and thus cannot be integrated into Pharo. >> >> >> Cheers, >> Andrei >> >> On Wed, Jan 7, 2015 at 1:35 PM, Sven Van Caekenberghe <[hidden email]> wrote: >> Hi, >> >> I just loaded Roassal2 in Pharo4 using the following expression: >> >> Gofer it >> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; >> configurationOf: 'Roassal2'; >> loadStable. >> >> When I try one of the examples I see that I am missing some GT presentations specific to Roassal. How should I load those ? >> >> <Screen Shot 2015-01-07 at 13.34.11.png> >> >> Thx, >> >> Sven >> >> >> >> > > |
I'm looking at this now. Cheers, Andrei On Wed, Jan 7, 2015 at 2:26 PM, Alexandre Bergel <[hidden email]> wrote: You also need Glamour-Roassal2-Presentations. But the last version does not seem to load. |
In reply to this post by abergel
Hi, Let's not panic :). The situation is like this: - in Pharo 4, we have ConfigurationOfGlamourCore loaded which does not have the Roassal2 presentation - to get the Roassal2 presentation, you have to load ConfigurationOfGlamour (so, the full Glamour) - an extra problem can come from the configurations in the image not being the latest versions so there can be loading incompatibilities due to that. That is why, for the current Moose jobs we load manually the latest versions of the ConfigurationOf* classes (fun). - then you can use the GT-InspectorExtensions-CoreRoassal This situation has to improve, but in the meantime, you can use the gtoolkit or the moose 5.1 image which already has everything loaded correctly. Cheers, Doru On Wed, Jan 7, 2015 at 2:26 PM, Alexandre Bergel <[hidden email]> wrote: You also need Glamour-Roassal2-Presentations. But the last version does not seem to load. |
But the build of Pharo 4 should not load the latest version of ConfigurationOfGlamourCore?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
|
At the moment it loads the stable version of Glamour, and the loading is triggered manually. We still have to fine tune the process.
Cheers, Doru On Wed, Jan 7, 2015 at 2:50 PM, Alexandre Bergel <[hidden email]> wrote:
|
> On 07 Jan 2015, at 10:52, Tudor Girba <[hidden email]> wrote: > > At the moment it loads the stable version of Glamour, and the loading is triggered manually. We still have to fine tune the process. > We need to get fixes in faster… right now e.g. Spotter is broken since 2 weeks. https://pharo.fogbugz.com/f/cases/14654/ Marcus |
In reply to this post by Tudor Girba-2
You understand what I wrote in the Pharo vision document about the
process that we should get automated and in place before
really be fully modular. Stef
|
Hi guys, I see the same problem with latest pharo4. I loaded gt extensions for roassal but now I get a message not understood when selecting the examples. I'm loading roassal and the extensions with Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; configurationOf: 'Roassal2'; loadStable. Gofer new smalltalkhubUser: 'Moose' project: 'GToolkit'; package: 'GT-InspectorExtensions-CoreRoassal'; load am I doing something wrong? Cheers On Thu, Jan 8, 2015 at 5:17 AM, stepharo <[hidden email]> wrote:
Javier Pimás Ciudad de Buenos Aires |
You should also load the packages Glamour-Tools and Glamour-Roassal2-Presentations from the Glamour repo. Cheers, Andrei On Mon, Mar 23, 2015 at 8:49 PM, Javier Pimás <[hidden email]> wrote:
|
Loading Glamour-Tools was ok with: Gofer new smalltalkhubUser: 'Moose' project: 'GToolkit'; package: 'Glamour-Tools'; load Yet, I don't know where to find Glamour-Roassal2-Presentations package On Mon, Mar 23, 2015 at 5:17 PM, Andrei Chis <[hidden email]> wrote:
Javier Pimás Ciudad de Buenos Aires |
Use: Gofer new smalltalkhubUser: 'Moose' project: 'Glamour'; package: 'Glamour-Tools'; package: 'Glamour-Roassal2-Presentations'; load On Tue, Mar 24, 2015 at 6:15 PM, Javier Pimás <[hidden email]> wrote:
|
OK, that did the trick, thank you! On Tue, Mar 24, 2015 at 2:22 PM, Andrei Chis <[hidden email]> wrote:
Javier Pimás Ciudad de Buenos Aires |
Free forum by Nabble | Edit this page |