[REBOL] Re: Changing VID Styles
From: sanghabum:aol at: 13-Dec-2001 5:20
Thanks for all the useful input on my question. Here's a couple of comments
>>The solution is to display the layout as an image when read only. The crude
> That's a sneaky idea. I like it :). I'll have to keep it
> in the back of my mind. Though normally the user would
> get some visual indication that the visual elements
> cannot be modified through dimming etc.
I'd agree it's not idea in this case. It was a quick hack based on a
context-sensitive help "proof of concept" I tried the other day....When the
user hit F1, the exact screen they were looking at collapses into an image in
the top left; the bottom left is some general "about info" and over on the
right is a scrolling panel of help text. The neat thing was that you can hit
F1 repeatedly until the original image is just a dot. It amused the potential
users no end. And all I need to do now is write a massive amount of help text
in some sort of make-spec format, and I have a help subsystem.
> As an alternative idea for your requirement Colin,
> rather than considering the layed out faces
> (result from LAYOUT) as being the variable (the model
> you have to manipulate), how about keeping your
> layout specification (input to LAYOUT) as the variable
> that you manipulate or create on demand.
That's a great idea, though it isn't feasible in this case. The layout is
derived dynamically so it's a bit of a slow process, and then facets in it
are linked to loads of other structures to permit them to be updated. Redoing
all that, and repopulating the layout with data, would be a pig.
> Just swap set the feel for the behaviour you want.
> (You can do the same for appearance too if you want)
> info-feel: get in get-style 'info 'feel
> field-feel: get in get-style 'field 'feel
That's a really neat way of capturing the feel of a style, thanks. It answers
my original question, which was too loosely phrased. I tried to extend this
approach to 'Choice and 'Check, with not so good results. I suspect Patrick
has as well from his question:
> Is it possible to do the same thing with checks ?
> I would like to use checks only for display.
> Doing a custom Field style that accepts field/state:
> 'disabled ?
> (It's not difficult, but you'll have to change the feels.)
Thanks for the clue to the generic solution. It'd be great to be able to
offer the list a function that did, eg, this:
ChangeVids/Disable mylayout [Choice Info]
(prevents data entry to Choice and Info fields in mylayout)
but my Vid skills aren't up to that. I guess we're looking at the different
between me (an application designer who is using Rebol) and most of the rest
of you (Rebgurus one and all).
> Well, if nothing has to be usable in the face, then
> you could just add to the tail of the pane a
> transparent face with the same size of the window;
> it will eat all the mouse clicks...
Another neat idea. Could it eat all keyboard clicks too?
Thanks too to Andrew, Gregg, and Volker