[REBOL] Re: Modal progress dialog
From: gabriele:colellachiara at: 15-Apr-2006 11:12
Hi Andrew,
On Friday, April 14, 2006, 7:39:42 PM, you wrote:
AL> I deserved that one :) My only remaining doubt is how to make the
AL> dialog unkillable by the user, I thought that adding an
AL> 'insert-event-func with a function that simply did nothing on a 'close
AL> event would work but nothing changed, is there another way?
You actually need a custom handler for the popup (popups are
handled a bit specially).
The default one (notice there are many, based on the refinements
of SHOW-POPUP and so on) is:
>> probe system/view/popface-feel
make object! [
redraw: none
detect: func [face event][
either all [
event/type = 'key
face: find-key-face face event/key
] [
if get in face 'action [do-face face event/key]
none
] [
event
]
]
over: none
engage: none
close-events: [close]
inside?: func [face event][face = event/face]
process-outside-event: func [event][
either event/type = 'resize [event] [none]
]
pop-detect: func [face event][
either inside? face event [
either find close-events event/type [hide-popup none] [event]
] [
process-outside-event event
]
]
]
So you should be able to do what you want by removing 'close from
your popup's feel/close-events.
Regards,
Gabriele.
--
Gabriele Santilli <gabriele-rebol.com> --- http://www.rebol.com/
Colella Chiara software division --- http://www.colellachiara.com/