forked from livecode/livecode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflushEvents.lcdoc
More file actions
43 lines (26 loc) · 2.45 KB
/
flushEvents.lcdoc
File metadata and controls
43 lines (26 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Name: flushEvents
Type: function
Syntax: flushEvents(<eventType>)
Summary: Clears pending <event|events> from the event queue so they will not <trigger> <handler|handlers>.
Introduced: 1.0
OS: mac,windows,linux
Platforms: desktop,server
Example:
put flushEvents("activate") into trashVar
Example:
get flushEvents("all")
Parameters:
eventType: One of the following: all: ignore all waiting events mouseDown: ignore mouse presses mouseUp: ignore mouse releases keyDown: ignore keypresses keyUp: ignore key releases autoKey: ignore key repeats disk: ignore disk-related events activate: ignore windows being brought to the front highLevel: ignore Apple Events (on Mac OS and OS X systems) system: ignore operating system events
Returns: The <flushEvents> <function> always <return|returns> empty.
Description:
Use the <flushEvents> <function> to prevent unwanted <message|messages> from being sent during a <handler|handler's> <execute|execution>.
Typically, you use the <flushEvents> <function> in a <handler> to dump user actions that have occurred during the handler. For example, if a button has a <mouseUp> <handler> that takes a few seconds to run, the user might click again during that time. To prevent those extra clicks from causing the <handler> to run again, use the <flushEvents> <function> :
on mouseUp
-- ...lengthy handler goes here...
-- get rid of clicks since the handler started:
put flushEvents("mouseUp") into temp
end mouseUp
To clear multiple event types, call the <flushEvents> <function> once for each event type you want to clear.
Although some of the eventTypes have the same names as built-in <LiveCode> <message|messages>, there is a distinction. For example, the mouseDown <event> type is the operating system's response to the user clicking the <mouse button>. When the operating system sends this <event> to the <application>, LiveCode sends a <mouseDown> <message> to the target <object>. The expression flushEvents(mouseDown) prevents the application from responding to any mouseDown <event|events> it has received from the operating system, but has not yet processed.
References: suspendStack (message), appleEvent (message), mouseUp (message), mouseDown (message), resumeStack (message), cancel (command), function (control_st), LiveCode (glossary), event (glossary), return (glossary), handler (glossary), mouse button (glossary), trigger (glossary), execute (glossary), message (glossary), application (glossary), object (object)
Tags: ui