Hi,
I'm currently exploring ways of doing TDD on GUI. (Is there a framework for this ?) How can I know a window has been closed ? #visible always return true. self assert: (SystemWindow new openInWorld delete) visible not. fails. However this works but a bit "heavy": (SystemWindow labelled: 'Zork') openInWorld delete.
Smalltalk garbageCollect. self assert: (SystemWindow allSubInstances detect: [:aWindow| aWindow label = 'Zork']
ifNone: [nil]) isNil. Laurent Laffont - @lolgzs Pharo Smalltalk Screencasts: http://www.pharocasts.com/ Blog: http://magaloma.blogspot.com/ |
window := (SystemWindow labelled: 'Zork'). window openInWorld delete. self assert: ((World subMorphs includes: window) not). I have also looked for a method that can tell me if the window is displayed or not, so I used to use this trick ;) Ben On Mar 1, 2011, at 9:06 PM, laurent laffont wrote: Hi, |
On Wed, Mar 2, 2011 at 10:15 AM, Benjamin <[hidden email]> wrote:
Cool ! Thank you Ben. Laurent.
|
Also note, in 1.2 (I think) onwards, you can subscribe to WindowAnnoncements.
WindowClosed should be announced when the window closes, so something like: |window closed| closed := false. window := SystemWindow labelled: 'Zork'. window announcer when: WindowClosed do: [closed := false]. window openInWorld delete. self assert: closed. should work. Cheers, Henry |
meant to write [closed := true], of course :) Cheers, Henry |
Thank you Henry, good example.
Laurent. On Wed, Mar 2, 2011 at 10:35 AM, Henrik Sperre Johansen <[hidden email]> wrote:
|
If you don't care whether the window had been
opened at all then
sending #isInWorld to the window is another
approach.
Regards, Gary
|
On Mon, Mar 7, 2011 at 11:53 AM, Gary Chambers <[hidden email]> wrote:
Cool one ! Laurent.
|
Free forum by Nabble | Edit this page |