[REBOL] BUG in INFORM
From: g::santilli::tiscalinet::it at: 10-Oct-2002 16:48
This is probably a known issue, I hope resubmitting is not a
problem.
BUG: INFORM does not set the default window feel
EXAMPLE:
If you wonder why your requestors don't respond to keystrokes,
this is the reason. REQUEST assigns the #"Y" key to the "yes"
button, #"N" to the "no" button and ESC (#"^(1B)") to the "cancel"
button; however, these keys don't work (except for ESC that works
because it is handled separately in SYSTEM/VIEW/WAKE-EVENT).
>> system/product
== View
>> system/version
== 1.2.8.3.1
>> request "Hello there."
(try pressing Y or N)
REASON:
Keys are handled in SYSTEM/VIEW/WINDOW-FEEL; the VIEW function
sets the feel of the window to that, but INFORM doesn't.
FIX:
inform: func [
{Display an exclusive focus panel for alerts, dialogs, and requestors.}
panel [object!]
/offset where [pair!] "Offset of panel"
/title ttl [string!] "Dialog window title"
/timeout time
][
panel/text: copy any [ttl "Dialog"]
panel/offset: either offset [where] [system/view/screen-face/size - panel/size / 2]
panel/feel: system/view/window-feel ; <<-----
show-popup panel
either time [wait time] [do-events]
]
Also, I'd suggest to change the keys in REQUEST to be #"y" and
#"n" instead of #"Y" and #"N" that require pressing shift. The
RETURN key would be a nice synonym for #"y" (at least in the case
of REQUEST/OK).