Программное изменение вкладки GLMStacker (Glamour, Smalltalk) - PullRequest
2 голосов
/ 04 августа 2020

Я пытаюсь программно открыть одну или две вкладки, как в этом рабочем примере ...

browser := GLMTabulator new.
    browser column: #blah.
    (browser transmit)
        to: #blah;
        andShow: [ :a |
        a list title: 'One'.
        a text title: 'Two'.
        tab := a.].
 browser openOn: Object.

browser panes last lastActivePresentation: browser panes last presentations last.

... но с укладчиком, например:

browser := GLMTabulator new.
browser title: 'Prueba'.
browser column: #testColumn.
browser transmit
    to: #testColumn;
    andShow: [ :presentation | 
        | first second |
        first := #'first'.
        second :=  #'second'.
        innerStacker := GLMStacker new.
        presentation custom: innerStacker.
        innerStacker panes: { first . second }.
        innerStacker transmit
            to: first;
            andShow: [ :p | p title: first ].
        innerStacker transmit
            to: second;
            andShow: [ :p | p title: second ].
        "innerStacker selection: Dictionary.
        innerStacker selection: second." ].
browser openOn: #('first...' 'second...').

Я пробовал разные способы, но ничего не работает. Например:

browser panes last lastActivePresentation: innerStacker panes last presentations pane.

или

innerStacker panes last lastActivePresentation: innerStacker panes last presentations pane.

Есть идеи?

...