[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Cell views (was: a version of the user's guide)

Katariina Ervasti wrote:
> > Hey, I just realized -- Benja offered to help document CellViews!  Why
> > don't we ask him to do a basic explanation and then if you feel it needs
> > de-technifying, you could do that.  I'm *so* anxious to know how to use
> > these functions!
> Well, if Benja only has time that would be nice.
> I've been testing the use of 'VTree', 'HTree', 'VTree with lines'
> and 'HTree with lines' all morning.
> So I'll forget 'CellViews' and keep on extending the 'More about
> Views'-section.

There is some overlap, as the structure is similar, but let me try --
you can re-edit or re-write as you see fit, of course.

(BTW, you claim that 'v' changes the view of the left window, and
'shift-v' the view of the right window; I'm sure it's the other way
around, in your standard window layout on the screen?)

This is a quick hack; hope it's helpful anyway. It doesn't deal with
adding new cell views; basicly, it'd need to explain how to create the
<name> -- <magic (rcfact1)> -- <param list start cell> rank on d.1 (see
below for details), but right now I don't have time to do this.

Please feel free to comment and ask questions.



Cell views are the different ways how GZigZag can show a single cell.
They determine the colors and fonts used, and the sizes of the cells.

*You can change the cell view of the right window by pressing the
'F2'-key and the cell view of the left window by pressing 'shift-F2'.*
Note that differently from the view, there is no indicator on the screen
to tell you which cell view you are using; however, switching between
the different cell views you will note the changes.

The standard cell views demonstrate the different possibilities of the
system, but you may want to modify them, or create your own. All the
different cell views are listed on the 'CellViews' list. To get to this
list, move posward (forward) on d.2 from the home cell -- down, if d.2
is on the Y axis -- until you get to the cell saying 'CellViews'. Now,
take one step posward on d.1 -- right, if d.1 is on the X axis -- and
you are on the standard cell view. The cell views which are currently
active in the different windows show orange cursors.

Different from the regular views, there is no separation in 'CellViews'
and 'AllCellViews'. (The reason is there aren't as many different cell
views as there are different views.)

The cell you are currently on holds the name of the standard cell view.
Connected on d.2 (up/down, if d.2 is on the Y axis) are the names of the
other cell views. (Note that currently, the names aren't shown
anywhere.) Poswards on d.1 from the name cells (right, if d.1 is on the
X axis), you find the specifics of the different cell views. The first
cell poswards on d.1 says 'rcfact1' or 'rcfact2'; this is a "magic"
identifier for the program which you currently can't change in a
meaningful way. (You might get a RASTER ERROR if you do, so don't bother
with these.) The next cell poswards on d.1 connects to a list on d.2
holding the actual information about the cell view, and this is what you
can change.

The cells connected on d.2 (down, if d.2 is on the Y axis) hold the name
of a "parameter," i.e. something you can change. From that connected on
d.1 (right, if d.1 is on the X axis), you find the "values," i.e., what
these things are currently set to. If the parameter you want to change
is already there, you just need to change what's connected to it on d.1;
if the parameter isn't there yet, you can create a new cell to represent
it. (To do this, press 'n' and the direction in which to create the new
cell -- if you use the right window, if you are on the second cell on
d.1 from the name cell, and if you view d.2 on the Y axis, use the ','
(Down) key.)

When you add a new parameter to the list which isn't already on it, in
order to avoid RASTER ERRORs which are due to some stupid parts of the
system, create the cells on d.1 which will later hold the values
assigned to the parameter, before you enter the name of the parameter in
its cell.

Here are the things you can currently change (always use small caps):

- font -- The text font (the probably most useful parameter). There are
two cells connected on d.1: the font name and the font size. (If you
create the parameter anew, create them, too.) Try 'Serif' and '10'.
Experiment different font sizes; there's currently an ideosyncracy in
the system which has the effect that the font size is usually not
applied to the largest cell, but one of the smaller ones.

- bg -- background: The background color for the cells. There's one cell
connected on d.1, holding the color, but encoded. You should use this
only if you are familiar with the "hex" representation of colors used
e.g. in HTML; if you know HTML, use the #000000 colors, but replace '#'
with '0x'; but if you aren't familiar with this way of specifying
colors, it's probably not worth learning.

- widthstr -- A text that fits in the "standard cell." There's one cell
connected on d.1. You probably know that in most views, the height and
widths do not change with how much content there is in a cell; the
'StretchVanishing' view is the exception. Now, how are the sizes of
these cells determined? There are a number of interacting considerations
(which isn't meant to say it's a particularily intelligent system, but
it's what we have) -- but most important are: the font size for the
height of the box assigned to a cell, and the 'widthstr' for the width.
The idea is: The widthstr exactly fits into the boundaries of a cell
using the current font. Thus, the longer the text you enter in
'widthstr', the broader your cells. (The actual letters you enter don't
matter; just in that with some fonts, a 'w' takes up more space than an 'i'.)

- margins -- how much space to leave between the borders of the cells
and the text in the cells. There are two cells connected on d.1,
specifying the X and Y margins in pixels.

(And now for something more arcane.)

- enlargefont -- whether to use fonts with a bigger font size than
whatever specified in the 'font' parameter. There's one cell connected
on d.1, and the values it can hold are 'true' and 'false'. (Small caps!
Without quotes!) If you use 'false', you can see some more text in some
views. Try.

- zoomfont -- similar to 'enlargefont', except it doesn't allow fonts
smaller than whatever specified in the 'font' parameter, either.