ok, the question was how to pause, so you could write:
while {1} {
....
# process the list here, do some long task, whatever
...
# here we allow the event loop do be processed
update
if {$stopped} {
set reply [tk_messageBox -message "Continue?" -type yesno]
if {$reply == no} break
set stopped 0
}
}
cgavin wrote:
> Tk programs spend most of their time doing nothing... just
> waiting for events to happen.
>
> Tk runs an event loop that waits for events. As soon as en
> event has arrived, it processes it using the script assigned to
> the event, the goes back to the event loop. An event could
> be a mouse click, a key pressed, ...
>
> However, if your program is busy for a long time, events are not
> going to be processed until after your program returns control
> to the event loop. Which means your stop button wouldn't
> respond.
>
> An artificial way of making sure events are processed during
> a long task is to call the "update" command. This will check
> the event queue for unprocessed messages.
>
> I would think of something like:
>
> set stopped 0
> button .b -text "Stop" -command "set stopped 1"
> pack .b
>
> while {!$stopped} {
>
> ....
> # process the list here, do some long task, whatever
> ...
>
> # here we allow the event loop do be processed
> update
> }
>
> "RJ Ent." wrote:
>
> > Greetings,
> >
> > At 10:25 PM 1/17/01 -0600, you wrote:
> > >If you have a "STOP" button on your GUI, you will need to periodically call
> > >'update' during your list processing loop. That will give some time to the
> > >event loop to process
> >
> > >" the events "
> >
> > This (the events) is the area I am unsure how to "puase" the script where
> > it is. I have in mind a popup (which I can do) to stop the execution or to
> > continue right where it was last. It is the pausing part I am unsure how
> > to tackle.:(
> >
> > Thoughts?
> >
> > Many thanks!
> > > and tell your application to stop.
> >
_______________________________________________
vtcl-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/vtcl-user