

The GtkStripChart Widget Collection
-----------------------------------
Version 0.1.3, July 2002

Strip Charts for GtkPlot provides a set of  GTK widgets for 
automating the creation and management of strip chart plots.  
A 'chart' consists of at least one (and typically several) 
'strips' of data plotted horizontally.  Its assumed that all 
strips have a common x-axis (typically time), and are to be 
scrolled and zoomed as a unit.  Strips may contain multi-colored 
'limit lines' (typically used to highlight plotted data that is 
out-of-band) and draggable cursors (typically used to examine 
the plotted data more closely).

Take a look at the "teststrip.gif" image in this directory for 
an example.

Technology; License
-------------------
The GtkStripChart Widget Collection is built on top of the 
GtkPlot widget set (normally distributed as part of the 
"gtketxtra" widget collection, http://gtkextra.sourceforge.net/)
It currently compiles & works under gnome-1.4.  It has not yet
been ported to gnome-2.0, although that is planned ...

This code is released under the GNU LGPL, making it suitable 
for general application development.


Overview
--------

Each strip may have several 'limit lines':
a y-value, below which the data is graphed in a different 
color.  A 'limit line'  is typically used to make it visually 
clear when the data has gone out of bounds (too low a pressure,
too high a humidity, etc.)  Because multiple limits are 
supported, hi-lo limits, or warning/alarm type limits can be 
set.  Each individual strip can have its own unique limits,
although these can also be set as one from the chart class.

Each strip can have one or more 'cursors': a vertical line 
that intersects the data, and can be scrolled left or right 
by dragging with the mouse.  The cursor is handy as an 
input element, as a marker to indicate a specific time, a
range of values, etc.  Although each strip can have any 
number of independent cursors, they can also be ganged together
by the chart, and dragged as a unit. 

In the current implementation, in order to set a limit line 
or a cursor that applies to all of the strips, one must add all 
of the strips to the chart first, and then set the limits/cursors 
through the chart methods.  (This limitation should be removed).


Each of the GtkStripChart widgets inherits from one of the
GtkPlot widgets, and most of the secondary attributes (such as 
line widths, styles, etc) should be set through the GtkPlot 
interfaces.


Each individual strip chart has a copy of the line style, width,
and symbol to use when plotting the data. These can be over-ridden
on a strip-by strip basis as desired, or they can be set en-mass 
by setting the corresponding attributes in the StripChartChart.

Attributes and the like should be set *before* adding strips to 
the chart; otherwise they will probably not take effect.  It
would be a good idea to add setters for attributes so that they 
could be set after strips have been added.

The strips are centered in the middle of the chart canvas based
on the left/right/bottom/top margin settings.  The margin settings 
are in pixels. (Ideally, the margin settings would be automatically
generated based on the size of the label font ???)

The labels on the bottom of the graph are date/time labels.  They
can be disabled with the 'use_date_labels' flag.  These labels are
*not* currently fully i18n'ed.  The number of labels used on the 
bottom of the chart is automatically determined from the inter-
label spacing, (set in pixels)

----------------------- THE END --------------------------------
