Stopping a buttons actions
Robert Brenstein
rjb at rz.uni-potsdam.de
Thu Feb 27 19:51:01 EST 2003
>Tim Hart wrote:
>
>>
>> On Thursday, February 27, 2003, at 04:47 PM, Richard Gaskin wrote:
>>
>>> Ctrl-. (Win) or Cmd-. (Mac).
>>
>> Thanks. Now how do I do that with a button labeled "reset" so the user
>> can do it to.
>
>That's not so easy. I did it once for WebMerge, and maybe there's a simpler
>way but my method ate a lot of clock cycles.
>
>I called a function in my repeat loop that checked the mouseLoc, and if it
>was over the Cancel button it turned the cursor from watch to hand. Then it
>checked if the mouse was down, and if so it sent a "mouseUp" to that button.
>With the overhead of event polling, this dragged my app's performance down
>dramatically.
>
>In a later version I simply removed the button and replaced it with a note
>for the user to type Ctrl-. to cancel, and commented out the function call:
>My app was now much faster, and not a single user has ever even noted the
>change, other than to express their appreciation for the speed increase.
>
>Anyone have an efficient way of implementing a Cancel button from within a
>loop?
Cancelling with cmd-. is routine on the mac, though I don't know
about windows. I would just set allowInterruption to false while
running the handler (so MC does not hop in with its dialog which is
likely to confuse users) and use the interrupt function at reasonable
intervals to check for cancellation request.
Robert Brenstein
More information about the use-livecode
mailing list