Hi,

If I understood the issue correctly then the script below should address it.
It starts from the solution Juraj proposed but wraps each  presentation in
a wrapper.
The script is not that obvious as this is not really a use case glamour
supports out of the box.
Also in glamour multiple presentations displayed within a composite share
the selection. To avoid that they need to be wrapped. The simplest solution
is to use a GLMWrapper.

-=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=-
-=-=-=--=-=-=-

browser := GLMTabulator new
column: #one;
column: #two;
column: #three;
yourself.
browser transmit to: #one; andShow: [ :composite |
composite fastList ].

browser transmit from: #one; to: #two; andShow: [ :composite |
composite wrapper
title: [ 'Instance' translated ];
show: [ :wrapper |
wrapper fastList
display: [ :aClass | aClass methods ];
format: [ :aCompiledMethod | aCompiledMethod selector asString ] ].
composite wrapper
title: [ 'Class side' translated ];
show: [ :wrapper |
wrapper fastList
display: [ :aClass | aClass class methods ];
format: [ :aCompiledMethod | aCompiledMethod selector asString ] ].
composite onChangeOfPort: #activePresentation act: [ :presentation |
(presentation pane port: #activePresentation) value
ifNotNil: [ :activePresentation |
((browser paneNamed: #two) port: #selection) value: (activePresentation
defaultPane port: #selection) value ] ] ].

browser transmit
from: #two; to: #three;
andShow: [ :composite | composite text
display: [ :aCompiledMethod | aCompiledMethod sourceCode ] ].

browser openOn: Collection allSubclasses.
-=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=--=-=-=-
-=-=-=--=-=-=-

Cheers,
Andrei

On Sat, Jul 1, 2017 at 4:46 PM, Juraj Kubelka <juraj.kube...@icloud.com>
wrote:

> Hi,
>
> I am able to produce this:
>
> -=-=-=-
> browser := GLMTabulator new
> column: #one;
> column: #two;
> column: #three;
> yourself.
> browser transmit to: #one; andShow: [ :composite |
> composite fastList ].
>
> browser transmit from: #one; to: #two; andShow: [ :composite |
> composite fastList
> title: [ 'Instance' translated ];
> display: [ :aClass | aClass methods ];
> format: [ :aCompiledMethod | aCompiledMethod selector asString ].
> composite fastList
> title: [ 'Class side' translated ];
> display: [ :aClass | aClass class methods ];
> format: [ :aCompiledMethod | aCompiledMethod selector asString ].
> *composite onChangeOfPort: #activePresentation act: [ :presentation | *
> * (presentation pane port: #activePresentation) value*
> * ifNotNil: [ :activePresentation | *
> * self inform: activePresentation printString.*
> * self inform: activePresentation selection ] ]* ].
>
> browser transmit
> from: #two; to: #three;
> andShow: [ :composite | composite text
> display: [ :aCompiledMethod | aCompiledMethod sourceCode ] ].
>
>
> browser openOn: Collection allSubclasses.
> -=-=-=-
>
> But I do not know how to change the column #three, because the selection
> is shared between the two lists.
>
> I hope it helps and someone else can improve it :-)
>
> Cheers,
> Juraj
>
>
>
>
> El 01-07-2017, a las 10:48, Nicolai Hess <nicolaih...@gmail.com> escribió:
>
>
>
> 2017-06-30 9:55 GMT+02:00 Hilaire <hila...@drgeo.eu>:
>
>> I extended the browser definition with:
>>
>>     browser transmit
>>         from: #scripts;
>>         from: #categories;
>>         to: #methods;
>>         when: [ :a :b |  a isMeta not ];
>>         andShow: [:a | self methodsIn: a  ].
>>     browser transmit
>>         from: #scripts;
>>         from: #categories;
>>         to: #methods;
>>         when: [ :a | a isMeta ];
>>         andShow: [:a | self classMethodsIn: a  ].
>>
>>
>> However it does not work as #when: message always receive a class, so
>> the wrong methods a re list in the method pane.
>>
>> I enclosed a Fileout of the browser. It works independently of DrGeo.
>> When one select class methods, still the instance methods are displayed
>> in right most pane.
>>
>> Any tips?
>>
>
> I don't have a solution. I just want to make more clear what the problem
> is.
> See attached screenshot.
> The question is, is it possible to make the population of the "methods"
> list
> dependent of the focused "Instance Methods"/"Class Methods" pane ?
>
> I tried to wire a "#focus" port, but I don't think the "categories"-pane
> exports
> any port that could be used to distinguish between the selected tabs.
>
>
>
>
>
>
>>
>> Thanks
>>
>> Hilaire
>>
>>
>> Le 29/06/2017 à 14:59, Hilaire a écrit :
>> > but something is missing to get the listed method right depending on the
>> > category is instance or class side. I don't how to do it.
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
> <panes.png>
>
>
>

Reply via email to