Jos Decoster | 1 Jul 13:36
Picon

Re: TIP #321: Add a tk::busy Command

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

Gmane