[REBOL] Re: list-style: event questions
From: robert:muench:robertmuench at: 15-Apr-2002 19:38
> -----Original Message-----
> From: [rebol-bounce--rebol--com] [mailto:[rebol-bounce--rebol--com]]On Behalf Of
> Brett Handley
> Sent: Monday, April 15, 2002 12:51 PM
> To: [rebol-list--rebol--com]
> Subject: [REBOL] Re: list-style: event questions
> The event hierarchy as I understand it is.
> (1) Window
> (2) Face (feel)
Hi, as you mentioned we have a (1.5) Dispatcher step. And that's the interesting
one. How does this work?
> In vid-ancestry, right click on a style to see the feel for that style. The
> program identifies the feel object being used. Have a look at them for
> button, check box etc.
Ok, I got this program. Very useful for understanding VID! AFAIUIN
(as-far-as-i-understood-it-now) VID can be devided into two big blocks. A set of
styles that are face objects with predefined words and values. And a set of
interactor objects (named feel) that can be attached to styles. But not all of
those interactor objects can be used with every style. Is this correct so far?
The benefit we have is that we can reuse those feel interactor objects.
BTW: AFAIK VID only uses one namespace, or was this layout? How are the
different namespaces constructed? And what kind of namespaces do we have?
> You *do* need this event - and I don't think you can remove it.
> It is probably the one that draws things on your screen. It or something
> related evaluates PANE.
>
> Allen wrote this a couple of days ago which is relevent here
> (the key phrase being "face iteration"):
>
> > List & supply is just a VID interface to face iteration in View. ("supply"
> > is akin to a "pane func" with a little less effort needed)
> > If you would like to dig further in iterated faces, the following Zine
> > article may help.
> >
> > "Look ma, just one face"
> > http://www.rebolforces.com/zine/rzine-1-04.html#sect4.
>
> The idea is that when you set the PANE to a function, the function gets
> called to dynamically generate the screen image. Don't get trapped into
> thinking that many faces are created - this is not the case. Actually
> faces are "rubber stamped" to give the illusion of many faces.
Hmm... I like the concept of "iterated faces" but would like to think of it as
user of VID in a very simple way:
LIST utilizes the "iterated faces" concept and the 'supply function gets called
for each (real or virtual) face that's been calculated. With this in mind, I
would expect that the supply function only gets called of the list is redrawn
and I have to supply (!) data for the face.
Adding a feel/over interactor to the list would enable a callback to the
provided function in the case the mouse it moved over the list. But this doesn't
necessary needs to call supply. When moving the mouse, no new data needs to be
supplied.
> This iterated face (calculated pane) approach is very powerful but
> comes at a processing cost. The function appears to be called very many
> times.
Yep. But it provides a lot of space for optimization. For example if you click
on a button that expands, the function can directly start with row 7 for example
and doesn't need to start from top. Robert