From: Zbigniew Diaczyszyn on
A user should be able to click on several nodes in a treeview widget in
order to edit the contents of this node in a non modal toplevel window
so that it is possible for him to modify entries in different windows at
the same time.

If waiting for user input in an Edit window is done by "tkwait variable"
then I have nested loops and the user cannot edit a window but the last
opened.

Perhaps someone already has solved this issue?
From: Óscar Fuentes on
Zbigniew Diaczyszyn <z.dia(a)gmx.de> writes:

> A user should be able to click on several nodes in a treeview widget
> in order to edit the contents of this node in a non modal toplevel
> window so that it is possible for him to modify entries in different
> windows at the same time.
>
> If waiting for user input in an Edit window is done by "tkwait
> variable" then I have nested loops and the user cannot edit a window
> but the last opened.

Have you tried this? Forget about "tkwait variable", setup the GUI and
it should work fine.

> Perhaps someone already has solved this issue?

I see no issue unless the "tkwait variable" you mention is something you
do and not something you think Tk is doing.
From: Donald Arseneau on
On Aug 3, 8:49 am, Zbigniew Diaczyszyn <z....(a)gmx.de> wrote:
> A user should be able to click on several nodes in a treeview widget in
> order to edit the contents of this node in a non modal toplevel window
> so that it is possible for him to modify entries in different windows at
> the same time.

Why not have entry widgets in the treeview, and edit in place?
It might require some tricky hacking if you can't find a natively
editable treeview that you like.

Donald Arseneau.
From: Zbigniew Diaczyszyn on
Am 03.08.2010 18:09, schrieb �scar Fuentes:
> Have you tried this? Forget about "tkwait variable", setup the GUI and
> it should work fine.

Yes, forgetting about "tkwait variable" will be the best solution.

While entering Tk an event loop is already present. My problem was that
I tried to combine setting up the GUI and answering events in one procedure:

proc menuitemIsClickedOn {
Setting up the toplevel GUI
Waiting for events (tkwait variable)
Anwering multiple events
Closing GUI
}

I have to redesign the process to something like this:

proc prepareMenuitemGUI {
Setting up the toplevel GUI
Defining signal procedures
Preparing variables or array for storing states
}

proc callbackSpecificEvent1 { parameter ... } {
Remember GUI state
Anwering just one event
Close GUI
}

proc callbackSpecificEvent2 {...}
proc callbackSpecificEvent3 {...}
....

So with this design no tkwait is needed any more.