Hi Etienne, On Tuesday, March 12, 2002, 7:12:15 PM, you wrote:
EA> What I want is : a modal behaviour for a face; all events in this face EA> are grabbed by itself and dispatched toward its sub-faces. All events EA> outside this face are ignored. It should be sufficient to modify: >> print mold get in system/view 'wake-event func [port /local event no-btn][ event: pick port 1 if none? event [ if debug [print "Event port awoke, but no event was present."] return false ] either not pop-face [ do event empty? screen-face/pane ] [ either any [pop-face = event/face within? event/offset win-offset? pop-face pop-face/size] [ no-btn: false if block? get in pop-face 'pane [ no-btn: foreach item pop-face/pane [if get in item 'action [break/return false] true] ] if any [all [event/type = 'up no-btn] event/type = 'close] [hide-popup] do event ] [ if pop-face/action [ if not find [move time] event/type [hide-popup] do event ] ] none? find pop-list pop-face ] ] (Notice that if you create a new one instead of patching it, you should install it in system/ports/wait-list/1/awake.) Regards, Gabriele. -- Gabriele Santilli <[EMAIL PROTECTED]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.