Question about loading Roassal2 in Pharo4

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about loading Roassal2 in Pharo4

Sven Van Caekenberghe-2
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



Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

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 <[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 ?


Thx,

Sven




Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

abergel
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 <[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





Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

Sven Van Caekenberghe-2
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
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

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


Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

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

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



Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

Tudor Girba-2
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.

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





--

"Every thing has its own flow"
Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

abergel
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 <[hidden email]> 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 <[hidden email]> 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 <[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
>>
>>
>>
>>
>
>





--

"Every thing has its own flow"

Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

Tudor Girba-2
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:
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 <[hidden email]> 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 <[hidden email]> 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 <[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
>>
>>
>>
>>
>
>





--

"Every thing has its own flow"




--

"Every thing has its own flow"
Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

Marcus Denker-4

> 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


Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

stepharo
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,

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.

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





--

"Every thing has its own flow"

Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

melkyades
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:
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,

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.

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





--

"Every thing has its own flow"




--
Javier Pimás
Ciudad de Buenos Aires
Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

Andrei Chis
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:
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:
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,

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.

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





--

"Every thing has its own flow"




--
Javier Pimás
Ciudad de Buenos Aires

Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

melkyades
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:
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:
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:
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,

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.

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





--

"Every thing has its own flow"




--
Javier Pimás
Ciudad de Buenos Aires




--
Javier Pimás
Ciudad de Buenos Aires
Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

Andrei Chis
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:
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:
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:
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:
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,

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.

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





--

"Every thing has its own flow"




--
Javier Pimás
Ciudad de Buenos Aires




--
Javier Pimás
Ciudad de Buenos Aires

Reply | Threaded
Open this post in threaded view
|

Re: Question about loading Roassal2 in Pharo4

melkyades
OK, that did the trick, thank you!

On Tue, Mar 24, 2015 at 2:22 PM, Andrei Chis <[hidden email]> wrote:
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:
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:
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:
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:
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,

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.

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





--

"Every thing has its own flow"




--
Javier Pimás
Ciudad de Buenos Aires




--
Javier Pimás
Ciudad de Buenos Aires




--
Javier Pimás
Ciudad de Buenos Aires