1 Jul 13:36
Re: TIP #321: Add a tk::busy Command
From: Jos Decoster <jos.decoster@...>
Subject: Re: TIP #321: Add a tk::busy Command
Newsgroups: gmane.comp.lang.tcl.core
Date: 2008-07-01 11:36:24 GMT
Subject: Re: TIP #321: Add a tk::busy Command
Newsgroups: gmane.comp.lang.tcl.core
Date: 2008-07-01 11:36:24 GMT
Hi Lars,
> This TIP seems to be written with the presumption that the reader
> already knows how the blt::busy command works -- is that acceptable?
>
> What I find particularly confusing is this part about the "busy
> window". Is it the /window/ in this call, or is it rather some new
> window that is used to cover the /window/ (thus blocking events), or
> what? In the latter case, does this "busy window" have a name?
I'll try to clarify that in the TIP.
>> *tk::busy forget* /window/
>> *tk::busy release* /window/
>
> In the pre-discussion, it seemed that these commands provided duplicate
> functionality, i.e., some users always used one and some users always
> used the other, the difference merely being how much resources are
> released. The TIP should probably comment upon this issue, e.g. whether
> it would be feasible to unify the two, and if not, then why.
My first tought about this was to only keep the 'forget' command and
simplify the 'isbusy' / 'names' / 'status' commands. But I changed my
mind to be more compatible with the blt commands. A minimal command
set would be:
tk::busy hold <window> (make busy)
tk::busy forget <window> (back to normal, with freeing of all
resources allocated in hold)
tk::busy cget <window> <option>
tk::busy configure <window> ?option ?value??
tk::busy current (returns list of windows for which hold was called)
tk::busy status <window> (1 if window is 'busy', 0 if not)
>> *tk::busy isbusy* ?/pattern/?
>
> My feeling is that this kind of subcommand should be named "names"
> (isbusy sounds like a test -- cf. [string is]), but I understand the
> compatibility argument. However, [namespace ensemble] makes it fairly
> simple to "rename" subcommands for compatibility, e.g.
>
> namespace ensemble create -command blt::busy -map {
> isbusy {tk busy names}
> names {tk busy windows}
> forget {tk busy release}
> release {tk busy release}
> ...
> }
The names/isbusy/status commands as in blt and in the current tip seem
rather heavy. Trying to backward compatible was my main reason to keep
them in. Although I think most people will only use 'hold' and
'forget/release'.
I'll await additional feedback and update the TIP based you the provided input.
Kind regards,
Jos.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
RSS Feed