Pharo: как открыть стенограмму, если нет открытой
Я хотел бы знать, является ли окно Transcript видимым, и если не открывать его.
Поскольку модель, лежащая в основе стенограммы, является PluggableTextMorph, я подумал о том, чтобы собрать все те, которые представляют транскрипты с
PluggableTextMorph allInstances select: [:e| электронная модель = стенограмма]
Это все хорошо, возвращает кучу объектов. Тем не менее, не ясно, какой из них виден. Наверное, начинающий морфийский вопрос...:)
1 ответ
Решение
Может быть, есть лучший способ, но вы определенно можете использовать это:
World submorphs
detect: [ :m | m model = Transcript ]
ifNone: [ Transcript open ]
или же
Обнаружены все экземпляры SystemWindow: [:m | m model = Transcript ] ifNone: [ Transcript open ]
Дело в том, что я пытался сделать
ThreadSafeTranscriptPluggableTextMorph allInstances detect: ...
но почему-то морф еще жив, даже если окно закрыто