2

这有效(调试器出现):

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 时停止。但是,第二个片段(与第一个不同,它使用动态演示文稿)不会将操作转发到其文本演示文稿。那么,这是为什么呢?我们如何将一个动作与我们的动态呈现联系起来?

4

1 回答 1

1

似乎动作在动态演示中效果不佳。将 selectionPopulate:on:entitled: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'
于 2011-11-17T22:11:50.207 回答