Inhibit mouse Events possible?

Mark Schonewille m.schonewille at economy-x-talk.com
Thu Jul 3 15:36:14 EDT 2014


Hi Bill,

If you like your own approach, just do what you think is best. I 
discourage such brute force approaches however, because if something 
goes wrong, the only way for the user to get out of the trap is to 
restart the software. My example can be adjusted fairly easily to 
provide a way out:

local lBusy,lSecs
on mouseUp
    if lBusy is true and the optionKey is up then
       beep
       exit mouseUp
    else if lBusy is not true then
       put true into lBusy
       put the seconds into lSecs
       repeat forever with messages
          // some long task here
          if the seconds - lSecs > 5 then exit repeat
          wait 0 millisecs with messages
          if the optionKey is down then exit mouseUp
       end repeat
       put false into lBusy
    else if the optionKey is down then
      put false into lBusy
      // enable disabled controls if any
    end if
end mouseUp

--
Best regards,

Mark Schonewille

Economy-x-Talk Consulting and Software Engineering
Homepage: http://economy-x-talk.com
Twitter: http://twitter.com/xtalkprogrammer
KvK: 50277553

Installer Maker for LiveCode:
http://qery.us/468

Buy my new book "Programming LiveCode for the Real Beginner" 
http://qery.us/3fi

LiveCode on Facebook:
https://www.facebook.com/groups/runrev/

On 7/3/2014 21:26, William Prothero wrote:
> Folks:
> Actually, I like the method of putting  a transparent rectangle over the stack window and trapping all mouse events. That makes the number of places where I have to modify my code much smaller. I have multiple buttons on the screen and they each call a number of handlers. I just thought there might be a command to disable mouse messages.
> Best,
> Bill
>
> On Jul 3, 2014, at 10:45 AM, Mark Schonewille <m.schonewille at economy-x-talk.com> wrote:
>
>> Hi Bill,
>>
>> One way to do this:
>>
>> local lBusy,lSecs
>> on mouseUp
>>    if lBusy is true then
>>       beep
>>       exit mouseUp
>>    else if lBusy is not true then
>>       put true into lBusy
>>       put the seconds into lSecs
>>       repeat forever with messages
>>          // some long task here
>>          if the seconds - lSecs > 5 then exit repeat
>>          wait 0 millisecs with messages
>>       end repeat
>>       put false into lBusy
>>    end if
>> end mouseUp
>>
>> This script doesn't allow running the script again, as long as it hasn't finished. If you have multiple controls that should not be used while the script runs, you can disable the other controls or use a global variable and check the global variable in the other scripts.
>>
>> --
>> Best regards,
>>
>> Mark Schonewille
>>
>> Economy-x-Talk Consulting and Software Engineering
>> Homepage: http://economy-x-talk.com
>> Twitter: http://twitter.com/xtalkprogrammer
>> KvK: 50277553
>>
>> Installer Maker for LiveCode:
>> http://qery.us/468
>>
>> Buy my new book "Programming LiveCode for the Real Beginner" http://qery.us/3fi
>>
>> LiveCode on Facebook:
>> https://www.facebook.com/groups/runrev/
>>
>> On 7/3/2014 19:32, William Prothero wrote:
>>> Folks:
>>>
>>> Is it possible to inhibit mouse events? Some of the operations that are initiated by a mouse click require a bit of time and I don’t want the user to be able to click around until each operation is finished. One approach would be to put a transparent rectangle over the stack and not pass events, but I wonder if there is a more direct way.
>>>
>>> Thanks,
>>> Bill
>>>
>>> William A. Prothero, Ph.D.
>>> University of California, Santa Barbara Dept. of Earth Sciences (Emeritus)
>>> Santa Barbara, CA. 93105
>>> http://es.earthednet.org/
>>>
>>>
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>




More information about the use-livecode mailing list