Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
January 2015
- 96 participants
- 891 messages
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Marcus Denker
> On 07 Jan 2015, at 10:52, Tudor Girba <tudor(a)tudorgirba.com> 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
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Tudor Girba
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 <alexandre.bergel(a)me.com>
wrote:
> But the build of Pharo 4 should not load the latest version of
> ConfigurationOfGlamourCore?
>
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On Jan 7, 2015, at 10:39 AM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
> 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 <alexandre.bergel(a)me.com>
> wrote:
>
>> 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 <sven(a)stfx.eu>
>> 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 <chisvasileandrei(a)gmail.com>
>> 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 <sven(a)stfx.eu>
>> 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
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Alexandre Bergel
But the build of Pharo 4 should not load the latest version of ConfigurationOfGlamourCore?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> On Jan 7, 2015, at 10:39 AM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
> 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 <alexandre.bergel(a)me.com <mailto:alexandre.bergel@me.com>> wrote:
> 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 <http://www.bergel.eu/>
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> > On Jan 7, 2015, at 10:22 AM, Sven Van Caekenberghe <sven(a)stfx.eu <mailto:sven@stfx.eu>> 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 <chisvasileandrei(a)gmail.com <mailto:chisvasileandrei@gmail.com>> 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 <sven(a)stfx.eu <mailto:sven@stfx.eu>> 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
> >>
> >>
> >>
> >>
> >
> >
>
>
>
>
>
> --
> www.tudorgirba.com <http://www.tudorgirba.com/>
>
> "Every thing has its own flow"
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Tudor Girba
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 <alexandre.bergel(a)me.com>
wrote:
> 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 <sven(a)stfx.eu> 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 <chisvasileandrei(a)gmail.com>
> 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 <sven(a)stfx.eu>
> 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
> >>
> >>
> >>
> >>
> >
> >
>
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Andrei Chis
I'm looking at this now.
Cheers,
Andrei
On Wed, Jan 7, 2015 at 2:26 PM, Alexandre Bergel <alexandre.bergel(a)me.com>
wrote:
> 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 <sven(a)stfx.eu> 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 <chisvasileandrei(a)gmail.com>
> 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 <sven(a)stfx.eu>
> 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
> >>
> >>
> >>
> >>
> >
> >
>
>
>
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Alexandre Bergel
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 <sven(a)stfx.eu> 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 <chisvasileandrei(a)gmail.com> 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 <sven(a)stfx.eu> 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
>>
>>
>>
>>
>
>
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Sven Van Caekenberghe
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 <chisvasileandrei(a)gmail.com> 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 <sven(a)stfx.eu> 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
>
>
>
>
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Alexandre Bergel
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
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> On Jan 7, 2015, at 10:15 AM, Andrei Chis <chisvasileandrei(a)gmail.com> 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 <sven(a)stfx.eu <mailto:sven@stfx.eu>> 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
>
>
>
>
Jan. 7, 2015
Re: [Pharo-users] Question about loading Roassal2 in Pharo4
by Andrei Chis
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 <sven(a)stfx.eu> 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 ?
>
>
> Thx,
>
> Sven
>
>
>
>
Jan. 7, 2015
Re: [Pharo-users] Charting graphs
by Alexandre Bergel
Stef, I have updated the Grapher chapter in Agilevisualization:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Grapher/020…
You are now ready to blog :-)
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> On Jan 6, 2015, at 2:49 PM, stepharo <stepharo(a)free.fr> wrote:
>
> Really really nice.
> Continue to push Grapher and trying to reproduce "stupid" charts is the way to stress its design!
> Do you have this description somewhere so that I can blog on it?
>
> Stef
>
> Le 5/1/15 00:22, Alexandre Bergel a écrit :
>> Hi!
>>
>> RTGraphBuilder went through major improvements.
>>
>> - min and max may be specified.
>>
>> - plugins to add some decoration (average line, standard deviation range, ticks lines, â¦)
>>
>> Here are some examples, with some examples, which should illustrate these points:
>> <Mail Attachment.png>
>> Is obtained with:
>> -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
>> | b ds |
>> b := RTGrapherBuilder new.
>>
>> ds := RTDataSet new.
>> ds points: (0 to: 100 by: 0.1).
>> ds y: [ :x | (0.1 * x) sin ].
>> ds noDot.
>> ds interaction popupText: 'sinus'.
>> ds connectColor: Color blue.
>> b add: ds.
>>
>> ds := RTDataSet new.
>> ds points: (0 to: 100 by: 0.1).
>> ds y: [ :x | (0.2 * x) cos * 2 ].
>> ds noDot.
>> ds interaction popupText: 'cosinus'.
>> ds connectColor: Color red.
>> b add: ds.
>>
>> b minY: -4.
>> b maxY: 4.
>> b minX: -25.
>>
>> b build.
>> -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
>>
>>
>> <Mail Attachment.png>
>> -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
>>
>> b := RTGrapherBuilder new.
>>
>> ds := RTStackedDataSet new.
>> ds interaction popup.
>> ds points: #(600 470 170 430 300).
>> ds barShape width: 20; color: Color lightGreen.
>> b add: ds.
>>
>> b axisX noLabel; noTick.
>> b axisY noDecimals.
>>
>> b addPlugin: RTMeanDevVarPlugin new.
>> b build
>> -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
>>
>> Another example:
>> <Mail Attachment.png>
>> -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
>> b := RTGrapherBuilder new.
>> b extent: 300 @ 200.
>>
>> 5 timesRepeat: [
>> ds := RTStackedDataSet new.
>> ds noDot.
>> ds points: ((1 to: 500) collect: [ :i | 50 atRandom - 25 ]) cumsum.
>> ds connectColor: Color green.
>> b add: ds.
>> ].
>>
>> b addPlugin: RTMeanDevVarPlugin new.
>> b build.
>> -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
>>
>> The plugin framework exposes to a plugin all the necessary to define a whole range of decorations. For example, variable average lines, linear regression should be trivial to add...
>>
>> Happy new year!
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu <http://www.bergel.eu/>
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>
Jan. 7, 2015