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.