GR_STATS.SCX
------------

This Coverage AddIn creates a modal dialog with a graph of the current log's Object Coverage Statistics.

Various types of Covered files (VCXs, SCXs, FRXs, and LBXs) contain more than one record of entities with Coverable method code. (Note: if you are running Coverage under VFP 5.0x, FRXs and LBXs will not be included in these graphs.) 

The Coverage Standard UI invokes a Statistics dialog, which shows you how many Coverable records exist in any such file, and how many of the records in each file were actually "touched" by this Coverage examination of the log.  The Statistics dialog also provides a method of looking at these figures, and the other Coverage statistics, on a Project basis.

You can think of this AddIn as providing this information in graphical form, for the Standard UI subclass or any other Coverage Engine subclass you create (this AddIn doesn't rely on any of the Standard UI's attributes to do its job). 

This AddIn will not run if you don't have the MSChart OCX (Version 5) installed.  It also will not provide meaningful results if you are running Coverage with the Engine's #DEFINEd COV_TOPSPEED set to .T. (since, in that mode, these statistics are not created -- refer to the main Coverage technical reference material for more information).  Also it will not instantiate if you have no records in the current Coverage log of the required types (SCXs and VCXs, plus FRXs and LBXs in 6.0 and above).

To perform its job, this AddIn must make sure that all relevant records have been marked and their statistics gathered, so you'll notice that it marks all records as it begins its run.  For convenience, it uses the Engine's MarkAllTargetRecords(), although this process could have been restricted to records of the relevant filetypes. This is similar to what the Project Statistics option does in the Coverage Standard UI Statistics dialog (it marks all records in the project). 

The methods shown in this sample AddIn could also be used to look at statistics of only one filetype, using the filetype field in the Target table to filter the records.  It could also display project statistics in the same visual format, using the Engine .GetProjectStatistics() method to gather the relevant information.

