2009-04    Paul Murrell <paul@stat.auckland.ac.nz>

* graphicsqc.Rnw:
	Added (slightly modified) JSS article as vignette

* CITATION:
	Added citation file
	

2009-03    Paul Murrell <paul@stat.auckland.ac.nz>

* compare.R:
	gqcShell():  new function to provide cross-platform system() calls.
	
	
2009-02     Paul Murrell <paul@stat.auckland.ac.nz>

	Changed stop() and warning() messages so that they
	use gettextf() rather than paste() so that they are
	more amenable to translation.

	Changed paste("file", "path", sep=".Platform$separator)
	to file.path("file", "path")
	
* makeplots.R: 
	plotFunction(): record date using Sys.time() rather
	than date() so we get an ISO date format.

	notYetImplemented(): added 'feature' argument so that
	the message can be more informative.
	
* graphicsQC-package.Rd:
	Removed package metadata.

2008-11     Paul Murrell <paul@stat.auckland.ac.nz>

* makeplots.R: 
	(): Changed how "call" is calculated 
	(plotExpr): Changed meaning of default value of 'filetype';  
		default is still NULL, but now that means produce 
		ALL available formats
	
* compare.R: 
	(): Changed how "call" is calculated 

* report.R:
	(writeReport): Added 'browse' arg so automatically opens browser.
	
2007-11-10  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* DESCRIPTION: Changed the name of the package to ``graphicsQC''.

* tests.R
	(): Replaced ``graphicsqc'' with ``graphicsQC''.

* graphicsqc-package.Rd: Renamed to graphicsQC-package.Rd

2007-10-31  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* report.Rnw: Updated. Includes bullet points and some content written.

2007-10-30  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* makeplots.R, compare.R, report.R, log.R
	(): All function names have been backquoted and laid out similar to what
		dump would do. Many of the comments have also been tidied.

* makeplots.R
	(): Changed from stop() when length(prefix) > 1 to warning().
	(evalPlotCode): Strips trailing \n from warnings and errors (so XML will
		read properly). Note: writing/reading using CData also won't read the
		last \n's.
	(plotFile): Re-ordered arguments so path comes before prefix because prefix
		normally has sensible defaults.
	(plotFunction): Likewise.
	(plotExpr): Likewise (except prefix has to be chosen by the user).

* tests.R
	(): Changed calls to plotExpr/plotFile/plotFunction to match change in
		ordering of arguments.

* log.R
	(getQCResult): When auto-detecting for the highest classed object, if
		many are detected, now gives a warning and calls notYetImplemented().

* compareExpr.xsl:
	(): Changed to "Warnings/Errors Differences" rather than
		'Warnings/Errors Comparisons'.

* compareFunAndFile.xsl:
	(): Changed to "Warnings/Errors Differences" rather than
		'Warnings/Errors Comparisons'.

* NAMESPACE: Changed print.qcPlotExprResult and print.qcCompareExprResult
		to use S3method().
		Defined S3method()s for report.* (qcPlotExprResult, qcPlotFileResult,
		qcPlotFunResult, qcCompareExprResult, qcCompareFileResult,
		qcCompareFunResult, default).

* plotExpr.Rd: Updated/fleshed out.

* compare.Rd: Updated/fleshed out.

* plotFile.Rd: Removed - merged into plotExpr.Rd.

* plotFunction.Rd: Removed - merged into plotExpr.Rd.

* graphicsqc-package.Rd: Updated/a little fleshed out.

2007-10-23  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* report.R
	(): Uses getQCResult so can auto-detect.
	(report): New generic function
	(report.qcPlotExprResult, report.qcPlotFileResult, report.qcPlotFunResult,
	 report.qcCompareExprResult, report.qcCompareFileResult,
	 report.qcCompareFunResult, report.default): New functions (refactored code).
	 
* log.R
	(getQCResult): Added argument for 'which' so can be used to auto-detect
		all log files, or just plot ones.

* NAMESPACE: Added print.qcPlotExprResult and print.qcCompareExprResult.

* compareFunAndFile.xsl: TOC only reports numbers of differences.
		Comparison logs section removed. All 'Files' are listed with links to
		their respective logs. New 'No plots to compare' section.

* makeplots.R
	(print.qcPlotExprResult) Changed to match arguments of the print generic.

* compare.R
	(print.qcCompareExprResult) Changed to match arguments of the print generic.
	
* gridExample2.tar.gz: New File.

2007-10-16  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* makeplots.R
	(plotExpr, plotFunction, plotFile): Changed R version in info from
		'getRversion()' to 'version$version.string' (more informative).
	(evalPlotCode): Removed the text "Warning in evalPlotCode:" from being
		appended on to every warning.
		Likewise for "Error in evalPlotCode:".

* compare.R
	(): Relaxed 'erase' to default to "none" and give a warning if invalid input
		given.
		Changed to check for path until AFTER reading the log in as it may
		have been a character vector.
	(compareExpr, compareFunOrFile): Changed R version in info from
		'getRversion()' to 'version$version.string' (more informative).

* compare.Rd
	(): Changed argument listing to match function (path changed).

* writeReport.R
	(): Also passes xslStyleSheets when recursing for sub-types.
	
* compareFunAndFile.xsl
	(): Fixed bug where "Warnings" and "Errors" column in Warnings/Errors
		comparisons	table would not be correctly sized if the warnings/errors
		didn't occur in the first file.
		Added unpaired (for unpaireds in the compareExpr Logs).

* compareExpr.xsl
	(unpaired): Includes links to plots in "Plots" section.

* DESCRIPTION: Changed 'Sxslt' to "Suggests" instead of "Depends"

* tests.R
	(): Added test to check if Sxslt can be loaded before writeReport is called.
	
* gridExample.tar.gz: New File.

2007-10-09  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* compare.Rd: Updated change of 'logDiffDirectory' to 'path'.

* compare.R
	(): Comparing qcPlotFunResult and qcPlotFile results include 'info' in the
		result.
	(readCompareFunLog): Now also reads 'info' from qcCompareFunResult files.
	(compareFunOrFile): New function (refactored code from compare()).
	(compareWarnings): Fixed a bug where if one plotExpr call had 1 warning
		(or error) and the other didn't, this wouldn't be reported.

* makeplots.R
	(plotFunction, plotFile): Also include their own info.
	(plotFunction): Included test to make sure prefixes are unique.
		
* log.R
	(writeXmlCompareTypeLog): Reads path from the result object rather than as
		an argument. Now writes info.
	(writeXmlPlotTypeLog): Writes info too.
	(readPlotFunLog): Also reads info.
	(readCompareExprLog): Fixed a follow on from the bug listed above (under
		compare.R (compareWarnings)).

* writeReport.R
	(): Added new argument "xslStyleSheets" which is a list to let users
		overwrite a default XSL style sheet if they want.

* writeReport.Rd: Included new argument (xslStyleSheets).

* plotExpr.xsl: Added some comments.
		Plots now have their own cell in the table.

* compareExpr.xsl: Changed to use addXSLTFunctions solution
		('graphicsqc:::logToHTML' didn't seem to work).
		Added some comments.
		General improvements.

* compareFun.xsl renamed to compareFunAndFile.xsl.
* compareFunAndFile.xsl: Neatened use of for-each.
		Included template for qcCompareFileResult.

* plotFunAndFile.xsl: New file.

* plotExpr.xsl: Added some comments.

* tests.R: Some updates to tests and more tests.

2007-10-02  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* compare.R
	(<misc>): renamed 'logDiffDirectory' to 'path'.
	(): qcPlotFun result now also has a path attribute.
	(): qcPlotFun and qcPlotFile results generate their own filename and pass
		to writeXmlCompareTypeLog().

* writeReport.R
	(): Renamed 'logDiffDirectory' to 'path'.
		Unnested 'logToHTML' so don't have to use addXSLTFunctions().
		^ Doesn't work when in package ..?
		Added support for qcCompareFunResult files.
	(getCompareExprName): New function.
	
* plotExpr.xsl
	(): Better use of CSS for tables (now with some cellpadding).

* compareExpr.xsl
	(): Better use of CSS for tables (now with some cellpadding).
		Use 'path' instead of 'logDiffDirectory'.

* compareFun.xsl: New file (unfinished).
	
* log.R
	(writeXmlCompareTypeLog): Writes the new path attribute. Also takes new
		argument of filename. Also changed to read 'path' properly.
	(readPlotFunLog): Reads in the new path attribute.

* tests.R
	(): Some updates.

2007-09-26  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* writeReport.Rd: New file.

* inst/xsl/plotExpr.xsl: New file.

* inst/xsl/compareExpr.xsl: New file.
	
* report.R
	(readCompareExprLog): Moved to log.R
	(readCompareFunLog): Likewise.
	(writeReport): Has content now (New function) (Still needs to autodetect).

* compare.R
	(): Accepts logDiffDirectory and checks it.
	(compareExpr): Accepts logDiffDirectory, includes it in info and passes
		it on.
	(compareType): Likewise.

* compare.Rd
	(): Includes new parameter (logDiffDirectory).

* log.R
	(writeXmlCompareExprLog): saveXML writes to logDiffDirectory.

* NAMESPACE: Added writeReport.

* DESCRIPTION: Added Sxslt to Depends.

2007-09-18  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

Removed all checks for XML. Moved all XML read/writing into log.R	

* makeplots.R
	(print.qcPlotExprResult): New function.

* compare.R
	(compareWarnings): New function.
	(getPairs): Removed warning comparison and fixed bug for completely
		unpaired filetypes.
	(compareExpr): Modified to include new comparison of warnings.
	(readCompareExprLog): Reads new warnings.
	(writeCompareExprLog): Writes new warnings.
	(print.qcCompareExprResult): New function (unfinished: requires unpaired
		+ warnings/errors).
	(shortenDirectory): New function (used for printing).

2007-08-27  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* compare.R
	(getSupportedIMFormats): Fixed warning about locale message from Deja Vu.
	(writeXmlCompareExprLog): Removed overall result.
		Re-written. Fixed bug to include unpaired files.
		Fixed bug in compare so "controlInfo" gets written properly.
	(compareExpr, writeXmlCompareExprLog):
		Removed filetype writing to compareLog as it's already found in the log
	(readPlotExprLog): Updated to read changes in plotExpr (see below).
		Also vastly improved and neatened.
	(mergeList): New Function.
	(readLog): Now also reads qcPlotFileResult.
	(compare): Added comparison for qcPlotFileResult.
	(getQCResult): Detects qcPlotFileResults now too.
	(getLogType): Added qcPlotFileResult, qcCompareExprResult,
		qcCompareFunResult, and qcCompareFileResult to valid log types.
	(readLog): Likewise.
	(getPairs): Re-written - reads new plotExpr logs and sorts unpaired
		warnings/errors as well.
	(writeXmlCompareTypeLog): New function.

* makeplots.R
	(plotExpr): Changed to write filenames, warnings, and errors by type.
	(writeXmlPlotExprLog): Likewise. Also vastly improved/neatened.
	(writeXmlInfo): New function.
	(plotFunction): Set rogue $`example..` names to NULL for round trip.
	(plotFile): Likewise.

* tests.R
	(): Made round-trip test for compareExpr results.
	    Many miscellaneous updates.

* report.R
	(readCompareExprLog): New Function.
	(readCompareFunLog): Likewise.
	
* plotFile.Rd
	(): Fixed \warning{} about opening graphics device to \section{}

* plotFunction.Rd
	(): Likewise.

* compare.Rd
	(): New file containing brief documentation.

2007-08-13  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* NAMESPACE: created

* compare.R
	(writeXmlCompareExprLog): Writes blank results nicely.
		Writes unpaired according to test/control.
		Writes test and control info too.
		(Note: Still needs to readPlotExprLog them).
		Writes overall result.
	(compareType): Checks to see if there's anything to compare first.
		Removes automatic names for 'round trip'.
	(compareExpr): Includes test and control info in result. 
		Includes 'overall' result (include there are unpaired?).
	(comparePNG): Fixed to only return the diffPlot name if it made one.
	(GNUdiff): Fixed output redirection so all blanks get deleted.
	(readPlotExprLog): Reads overall result.

* tests.R
	(): made 'blank' tests and updated miscellaneous tests.

* plotFile.Rd
	(): Changed note about opening graphics device to warning

* plotFunction.Rd
	(): Likewise.

2007-08-13  Stephen Gardiner  <sgar060@aucklanduni.ac.nz>

* makeplots.R 
	(getAbsolutePath): Removed and replaced with 
		normalizePath(path.expand()) in plotFunction.
	(plotFunction): 
		Set to use only the first prefix when naming the XML log file.
	(plotFile): Likewise.
	(readPlotExprLog): Now reads logFilename.
	(writeXmlPlotExprLog): Now writes logFilename too.
	(writeXmlPlotFunLog): New function.
	(writeXmlPlotTypeLog): refactored (and renamed) so plotFile can use it too.

* compare.R 
	(getDiffName): Changed to use basename.
	(comparePDF, comparePNG, compareBMP, comparePS, GNUdiff):
		return list results
	(compareExpr): Sets names for the resulting list.
	(compareType): Set to use SIMPLIFY = FALSE to return a list. 
		Reordered calls to other compare functions so it's: test, control, 
		for consistency.
	(writeXMLCompareExprLog): New function.
	(getCompareExprLogFilename): Likewise.

* plotFile.Rd 
	(): Brief/skeleton documentation created.

* plotFunction.Rd 
	(): Likewise.

* tests.R 
	(): Updated some tests.
