Changes to the end of Sept 1998
Some of the new features added to Release 4.3 of RainPro are:
- Horizontal barcharts are now supported – see
Population for an example.
- New QFMT property allows for a format string to be applied wherever values are to be used as numeric labels (on axes or as data values).
- Data hints – these may be set for any data points in the plot matrix and are shown in the viewer when the mouse passes over the point (on a line graph) or enters a bar or pie segment.
- The PostScrp namespace has a set of functions to support data query, drill-down and graphical editing. See the Introduction to Active Rain in the User’s Guide for more details.
- Keys wrap automatically if they do not fit in the space available.
- Bitmaps and metafiles can now be added to charts, used as backdrops etc.
There are numerous other small improvements and bug fixes – check the Release variable in the RainPro workspace for full details.
Updated functions in Detail
ch.CH∆CHK – check added for lack of space to plot in – saves possible crash in CH∆AUTO if form has been squashed too small.
PostScrp.View – shows paper edge when viewing a multipage chart. PostScrp.PS – delocalises <nxtobj> (now set by Init) which allows us to overdraw a chart with another chart ad infinitum.
PostScrp.Wipe – wipes the chart space of all GuiObj.psnn objects.
PostScrp.Track – shows data hints (if any) ... see below.
Assorted new functions to assist with drill-down, data editing etc. are ...
- EnumerateCharts obj – list all charts drawn on this object
- FindInfo – Locate hotspot info by tag (e.g. ‘Heading’)
- GuiId – Return Guiname associated with this chart/tag
- D2L – Device to Logical co-ordinates
- L2D – Logical to Device co-ordinates
- FindHint – hint which matches this chart/series/data index
- FindHotspot – hotspot which is pointed to by (xy) coordinates
- FindPoints – data points which lie within bounding box
- FindSeries – series data which is within tolerance of the coordinates
Supporting code is included in ... Init∆log, Log – called by pM, pB, wedge setseries, endseries – set up image-map data hints, understone – record hints and hotspots such as headings
NB disabled for printers and metafiles!
ch.NewPage – throws out any pending keys before paging.
ch.CH∆PLOT – value labels were reversed for surface plots! Fixed. ch.CH∆PIE – avoids clashing labels around 11.00 – midnight. ch.CH∆NOTE – accepts note styles ‘Right’ and ‘Centre’.
PostScrp.pB – tolerates empty arrays of bars (can happen if data all zero)
ch.CH∆SET – accepts (‘Style’ (‘boxed’ ‘values’)) as a nested options list as well as (‘Style’ ‘boxed,values’) in traditional fashion. Easier to generate programatically and consistent with ‘Key’ etc.
ch.CH∆HEAD – always leaves a dummy heading so that if it gets updated later there is somthing to replace (in the right place).
ch.CH∆KEY – tracks the key position so it can wrap automatically to the next line. NB – the developer must leave enough HMAR at the bottom if he anticipates possible wrapping.
ABOVE, BESIDE – utilities used in Climate example. These were generating PostScript which echoed nulls to the session when interpreted. Noticed by Dyadic on the web server – fixed!
ch.CH∆XLAB – algorithm to thin out overcrowded tick labels makes no sense if the tick spacing is highly irregular. Skipped unless XT is uniform. Use {LongTS 6} with various arguments to check this.
ch.CH∆KEY – better adjustment of relative vertical position if X-caption is present. Needs more work – collisions still possible!
ch.Bar – preserves user’s XT settings (should be integer) rather than forcing these to match the bar placement. Setting XT=1 puts the ticks between (rather than on the end of) the bars or groups of bars.
ch.CH∆AXES – takes note of new ‘framed’ option which completes the axes as a box and also allows the ticks at the 0 point. The grid is skipped at the first and last ticks if this is done (ch.CH∆XTIC,YTIC).
See TT (Finnish Confederation of Industry) example to test these.
PostScrp.∆chfns – now at 2.8 – forces round joins on polylines which improves the look of PDFs generated from timeseries data with thick lines.
ch.CH∆PLOT – skips entire series if it is ALL missing values.
PostScrp.setmarker – reduces size for drawn markers (on printer) PostScrp.mark – compensates when drawing on a metafile as they round badly.
PostScrp.metafile – new code (see below) also dummied in PostScrp.∆chfns.
ch.Bitmap – similar to ch.Note! Adds any bitmap to the current chart at a given (x,y) location. Third element (optional) is the scan frequency which defaults to 96dpi which is correct for screen shots. Will use ‘raw’ co-ordinates, usually 0 0 432 324, until a chart is drawn. If -ve position is given, this is from the opposite edge (cf Motif).
ch.Metafile – experimental! Same style but requires (x y {w h}) to be given. The snag is that these are in chart co-ordinates so it can be very tricky to preserve the shape, if this matters. Better to use ‘placeable’ metafile and just give (x y) in which case we read the size from the header. See TT for example.
ch.Note – restriction on State-1 removed as it works fine in State-1!!
ch.CH∆BORDER – always wiped the chart region if ‘boxed’ was set! Fixed.
ch.Draw – adds arbitrary polylines to existing chart. Experimental!
Notes – example of bitmap and metafile added to QA test.
Decor – more serious QA test with chart axes used for placement.
ch.Set – new ‘Array’ property added to allow the application to store data for repeated plotting by different function types. CH∆SET supports an arbitrary ‘AR’ data type to hold this.
Settings – example of Plot and Vline run with the same array.
PostScrp.psput – failed to write correctly to devices like ‘\\deltic\laserjet’ as it must avoid the ⎕NRESIZE here. Fixed. Also POSTSCRP (which calls it) fails with a better error message if something similar ever happens in the future! Now traps 19, 22 which are the likely errors.
POSTSCRP/L – extended argument to add a switch to make sure page-size information is added to the output. Required for Acrobat Distiller. ToPDF sets it correctly.
Released to Internet as 4.3b – 3rd Sept 1998
© Causeway Graphical Systems Ltd 1996-2009
|