В Moose, почему я не могу заполнить мою динамическую презентацию действием? - PullRequest
2 голосов
/ 15 ноября 2011

Это работает (отладчик запускается):

bubbler := GLMFinder new.
bubbler show: [:a | 
    a text
    selectionPopulate: #selection 
    on: $k 
        entitled: 'Implementors (k)' 
    with: [ :text | text inspect. self halt]].
bubbler openOn: 'Waaaaaaa'

Но это не так (отладчик не запускается):

bubbler := GLMFinder new.
bubbler show: [:a | 
    a dynamic display: (GLMTextPresentation new forSmalltalk);
    selectionPopulate: #selection 
    on: $k 
        entitled: 'Implementors (k)' 
    with: [ :text | text inspect. self halt]].
bubbler openOn: 'Waaaaaaa'

Оба должны делать одно и то же: остановка при нажатии apple-k в текстовом представлении.Однако второй фрагмент (который использует динамическое представление, в отличие от первого) не передает действие в его текстовое представление.Итак, почему это?Как мы можем связать действие с нашей динамической презентацией?

1 Ответ

1 голос
/ 18 ноября 2011

Кажется, что действия не работают хорошо в динамическом представлении.Добавление selectionPopulate: on: named: with: для внутренней презентации будет работать.

bubbler := GLMFinder new.
bubbler show: [:a | 
    a dynamic display: 
        (GLMTextPresentation new forSmalltalk;
        selectionPopulate: #selection 
        on: $k 
        entitled: 'Implementors (k)' 
        with: [ :text | text inspect. self halt])
    ].
bubbler openOn: 'Waaaaaaa'
...