[REBOL] Re: newbie q : value & label in text-lists
From: antonr:lexicon at: 1-Apr-2004 16:28
I'm working on a document (draft) which will get
you going. See bottom.
> Thanks for answers!
> The next q. is about faces event handling:
> I would like to use a layout (form) without help of mouse.
> There was some points in couple of documentation files (view
> quide and handling events), but no so much.
> So I am interested to find some more detailed description or
> some examples about tabing (focusing) throught faces (not just
> text fields) and more info about "detect" event using.
> Could you please point me to a link that I missed.
How to add tab-key handling to your custom style
Anton Rolls 11-Mar-2004
- continue to try to make an example based on blank-face
- make better the example based on button
- tip: focus sets the caret and text highlight, which we probably don't
want in the button,
so we can just do some of what focus does for our purpose (but it will
add more code)
Set style facet
- style: 'scroll-table,
Add 'tabbed to flags block
- flags: [tabbed]
- trap tab key
- focus either event/shift [ctx-text/back-field face][ctx-text/next-field
- test if face is currently the focal-face, draw it differently (when action
- clone edge if it is used in redraw to show focused state
view center-face layout [
style my-button button with [
init: [edge: make edge ]
feel: make feel [
append second :redraw bind [
if act = 'show [
face/edge/color: either face = system/view/focal-face [yellow][black]
] first first third second :redraw
insert skip tail second :engage -5 bind [
if all [
action = 'key
event/key = tab ; #"^-"
focus either event/shift [
] second second :engage
a: my-button "hello"
b: my-button "there"
do [focus b]
Credits to Frank Sievertsen for his prior work (see nd-styles.r)