PBSmodelling Changes
===================================
Authors:  JTS = Jon T. Schnute
          ACB = Alex Couture-Beil
          RH  = Rowan Haigh
          NB  = Nicholas Boers
          ARK = Rob Kronlund
          AE  = Anisa Egeli
-----------------------------------

2.65  2013-04-18
  - Removed `PBSddesolve` from `Suggests` in DESCRIPTION file. (RH 4/18)
  - Moved obsolete tools from `trunk` root to `oldtools` under `branches`. (RH 4/18)
  - Fixed bug in `openFile` - `gsub` needs to expand WinOS "\\" delimiters introduced by `normalizePath`. (RH 4/5)
  - Masked two `assign` calls where the user can choose to populate the global environment with objects using functions `getWinVal` and `unpackList`. (RH 4/5)
  - Revised the User Guide, `Rcopy.bat`, and `setPBSoptions.Rd`. (RH 3/28)
  - Revised the command line tools (e.g., RPaths.bat in directory PBStools). (RH 3/27)
  - Corrected the behaviour of `slideplus` widget to match documentation ( issue 83 ). (NB 2/19)
  - Corrected the behaviour of `spinbox` widget to match documentation ( issue 83 ). (NB 2/18)
  - Moved start-up message to `.onAttach` and test for Tk availability. (NB 2/10)
  - Improved warning messages when `tclRequire` fails ( Issue 90 ). (NB 2/10)
  - Changed page up/page down button labels to work the same on all systems. (NB 2/9)
  - Allow multiple on-screen windows to have different bg colours (Issues 3 & 84) (NB 2/7)
  - Modified function `setOptions` to support a list of options ( issue 81 ). (NB 1/26)
  - Fixed a number of spelling mistakes. (NB 1/20)
  - Added support to readList/writeList ("P" format) for nested lists. (NB 1/20)
  - Addressed  issue 61 : openFile ("..") opened the current directory and not parent. (NB 1/13)
  - Fixed a few bugs due to misplaced `.tget(.PBSmod)` statements (thanks Athena Ogden). (RH 01/02)
  - Modified function `showVignettes`; old code was based on deprecated grid structure (see Issue 86). (RH 12/21)
  - Re-organised some of the R code (no functional changes). (RH 12/20)
  - Fixed the problem of widget `label` `name` argument not being recognised (mismatch in `tget` and `tput` calls, not sure where though). (RH 12/18)
  - Disabled the grid check in `.validateWindowDescWidgets` because the structure of a windows description list must have changed since this little-used function was written. (RH 12/17)
  - Finished updating example section in Rd files. (RH 12/17)
  - Filed Issue 86 on GoogleCode: `.validateWindowDescWidgets` appears to be buggy. (RH 12/14)
  - Updated runExamples to run in the new environment .PBSmodEnv. (RH 12/10)
  - Finally got the gui code to work after switching the location of .PBSmod to .PBSmodEnv. (RH 12/7)
  - Bumped up the version as PBSmodelling is undergoing major changes to ensure that no objects are installed on the user's global environment. (RH 12/01)

2.64  2012-11-29
  - Updated the UG. (RH 11/29)
  - Changed the default environment for 'createWin' from 'parent.frame()' to 'sys.frame(sys.nframe())'. (RH 11/29)
	Enclosing super assignment operator '<<-' calls in eval(parse(text="")) expressions (see RH 7/17/12) was disabling the creation of GUIs launched from other GUIs (Athena Ogden).
	This appears to be related to a loss of synchronization of environments between PBSmodelling and tcltk.
  - Added dot functions to namespace for export using explicit action patterns. (RH 11/02)
  - Changed Jon's email address to schnutej-dfo@shaw.ca (RH 11/02)
  - Added Steve Martell's function 'plotSidebars'. (RH 8/7)
  - Disabled NOTES about 'no visible binding for '<<-'' by converting the assignment lines to evaluated text. (RH 7/17)
  - Implemented Brian Ripley's suggestion to remove NOTES about 'no visible binding for global variable xxx':
	if(getRversion() >= "2.15.1") globalVariables(names=c(...), package="PBSmapping") (RH 7/17)
  - Revised function 'TestFuns' to deal with closing windows more consistently. (RH 3/27)
  - Revised function 'pad0' to deal with vectors containing mixtures of numeric and character elements. (RH 12/12)
  - Moved call to '.initPBSoptions' from '.onLoad' to '.onAttach'. {RH 11/24)
  - Updated UG. (RH 11/21)
  - Used 'packageStartupMessage' and 'message' rather than 'cat' in '.onLoad' in 'zzz.r'. (RH 11/15)
  - Building PDF manuals (for R itself or packages, e.g. via R CMD check) by default requires the LaTeX package inconsolata. (RH 11/15)
  - Note: R.2.14.0 now requires all packages to have a namespace; added some dot functions to export. (RH 11/9)
  - Revised function 'doAction' to convert underscore period '..' in WDF to four back slashes and one period '\\\\.' in R code. (RH 11/8)
  - Revised function 'view' to iteratively 'view' contents of a list object. (RH 10/31)
  - Added an example to 'evalCall.Rd'. (RH 9/9)
  - Renamed and revised the function 'focusRcon' to 'focusRgui' so that it can set the focus back to RGui from a PBSmodelling window. (RH 9/9)
  - Fixed small bug in 'testFuns.r' which called 'testPch' with 'bs=FALSE' (RH 9/9)
  - Started new version for eventual posting to CRAN. (RH 9/8)

2.63  2011-09-09  Authors
  - Revised functions 'testPch' and 'testLty' to allow additional arguments (...). (RH 9/9)
  - Revised function 'testPch' to deal with octal string handling in the forthcoming R.2.14.0. release (thanks Duncan Murdoch). (RH 9/9)
  - Adjusted function 'testCol' to display transparent colours. (RH 9/8)
  - Updated 'Rpack.bat' and 'Rbuild.bat' in 'PBStools'. (RH 9/8)
  - Revised a few test functions to reset par properly. (RH 9/8)
  - Started new version for eventual posting to CRAN. (RH 9/8)

2.62  2011-08-04  Authors
  - Updated 'RmakePDF.bat' and UG. (RH 8/4)
  - Added documentation for the S4 class objects used by 'presentTalk': 'PBStalk-class.Rd' (RH 8/2)
  - Revised documentation for the options manager: 'PBSoptions-class.Rd' (RH 8/2)
  - Critical bits of 'plotBubbles' had been removed that were needed to make the function display single years; they are added back in. (RH 4/28)
  - Revised GUI for 'FishRes' example to notebook style with two tabs. (RH 4/6)
  - Revised GUI for 'PopSim' example to notebook style with two tabs. (RH 4/5)
  - Replaced import/export history deprecated functions with the new selectFile method.
	Fixed missing hisname in sort widget which failed to jump history widget positions when it wasn't named default.window (ACB 1/16)
  - Fixed sort widget levels issue (rather than characters) which resulted in integers being displayed rather than text in the sort table.
	Added string trimming to trim strings over 15 characters. (ACB 1/16)
  - Added Rob+Rowan's revised code for 'plotBubbles' and updated Rd file. (ACB 1/3)
  - Updated findProgram.Rd to match new function wrapper (ACB 1/3)
  - Changed findProgram() to simply wrap Sys.which() (ACB 12/17)
  - If the default window has not been created, return an empty list(). (ACB 12/17)
  - Once sorting has been saved, jump to history entry 1 and redraw data (ACB 12/14)
  - Fixed sort button in history widget, and hooked up to new click and drag sort widget.
	Added sort direction arrows to tcl code (ACB 12/14)
  - Initial prototype for history sorter (ACB 12/8)
  - rowlabel tcl ptr name off by 1 when collabels are used (ACB 11/14)
  - Modified 'viewCode' to search for patterns in 'funs' when 'pat=TRUE' (RH 10/19)
  - Started new version for eventual posting to CRAN (RH 10/19)

2.61  2010-07-07  Authors
  - Teeny bug fix to make the sort button on the history widget functional. (RH 7/7)
  - Updated createWidget.include to accept/return widgetlist. (ACB 5/12)
  - Added new function 'runExample' to run a single GUI example from PBSmodelling's 'examples' subdirectory. (RH 4/14)
  - Revised function 'runExamples' - minor changes to working variable names.

2.60  2010-03-23  Authors
  - Fixed functions 'findPrefix' and 'findSuffix' ('replacement' string in 'gsub' changed from '\\\\\\.' to '\\\\.'). (RH 3/23)
  - Updated UG to include info on the 'sticky' argument of widgets. (JTS 3/19)
  - Fixed top/sidefont issue - where only the first vector item was being used. (ACB 3/17)
  - Small bug fixes: 'runExamples' to close 'presentwin'; equilibrium plot routine in 'FishRes' example. (RH 3/16)
  - Further UG changes suggested by Rob (JTS 3/12)
  - Widget adjustments suggested by Rob (ACB 3/12)
  - Further revisions to the UG, particularly the preface. (JTS 3/3)
  - Updated UG to v.2.60. (RH 2/18)
  - Fixed 'runDemos' to work with refactored grid code. (ACB 2/17)
  - Fixed window description files that specified grids where dimensions were reversed when byrow=F. (RH 2/16)
  - Made setWidgetColor work with logical modes of dataframes / matrix / vector. (ACB 2/13)
  - Added disablefg for check and button. (ACB 2/9)
  - Added arcradius, homogeneous, and tabbevelsize to notebook. (ACB 2/4)
  - Added support for setWidgetColor for spinbox, text, radio. (ACB 1/24)
  - Added notebook, image, progressbar to testWidgets(). (ACB 1/22)
  - Added anchor arg for label widgets. (ACB 1/22)
  - Refactored parsewinfile to *not* nest grid items - now a single list of widgets is passed to 
	createWidget.XXX, which returns a tk pointer, *and* a left over set of widgets which still need to be parsed. (ACB 1/20)
  - Added a 'notebook' widget, which embeds different widgets under tabs. (ACB 1/20)
  - Fixed byrow=FALSE behaviour in 'grid'. (ACB 1/20)
  - Added value checking for <code>'s 'break' argument, and made 'break' arg values case insensitive (presentTalk). (ACB 12/5)
  - Added small wrapper function 'showUG' to open User's Guide named '<pkg>-UG.pdf'. (RH 12/4)

2.55  2009-12-04  Rowan/Jon
  - Advanced to version 2.55 for posting on CRAN (Google version will be added: 2.55.xxx)
  - Added small wrapper function 'openUG' to open a package user's guide with name format 'pkg-UG.pdf'.
  - Updated Developer's Guide (new 'Appendix C: Adding a New Widget'). Also numerous formatting changes.
  - Fixed very tiny bug (microscopic) in the 'check' widget WDF of 'testWidget'.
  - Modified 'showHelp' and 'viewCode' to work with the new 'HTTP service running in the R process'.

2.51  2009-10-23  Rowan
  - Further standardised "SwissTalk" and "swissTalk" to "swisstalk".

2.50  2009-10-19  Alex
  - Finalized User's Guide.
  - Modified 'viewCode' to summarize package functions in four ways.
  - Added environment argument to 'createWin' for search while calling widget callback functions.
  - Fixed 'droplist' bug where values returned by 'getWinVal' aren't correct if droplist's values were changed via 'setWinVal' (after window creation).
  - Added 'setWidgetColor' to dynamically change fg/bg for entry, button, label, radio, check widgets.
  - Created (internal) function '.tclArrayToVector'.

2.21  2009-08-16 Alex
  - Fixed case sensitive issues for runExamples (Linux support).
  - Fixed title issue in description file.
  - Added warning when bwidget and tktable tk packages are missing.

2.20  2009-08-07  Alex
  - Introduced three new widget objects: 'droplist', 'spinbox', 'table'. (These can be demoed via testWidgets().)
  - Fixed read/write list bug fix for array objects (introduced dimnames arg).
  - Modified 'getWinVal' & 'setWinVal' so that they can change label widget text (via new name argument).
  - Converted 'runDemos' to use droplist widget (to allow for packages with many examples which can overflow screen height).
  - Modified widgets so that they can be disabled with 'setWidgetState'.
  - history widget next/prev buttons get disabled when index reaches either end.
  - Modified 'getWinVal' to no longer return factors (converts to character instead).
  - Changed 'object' widget to provide scrollable rows (see rowshow argument).
  - Updated resetGraph.
  - Changed vector labelling behaviour - to only label indexes when no label is given and only one name is given.
  - Introduced 'include' widget for including window description files from other description files.
  - Changed 'history' widget caption (see text and textsize arguments).
  - Enhanced 'openFile' to work on OSX, gnome.

2.11  2009-06-08  Alex
    - Alex migrated PBSmodelling to googlecode.com's SVN system.

2.10  2009-05-14  Rowan
  - Added Norm's functions for clearing ('clearRcon')and focusing on ('focusRcon') the R console.
  - Revised Rd files to include original authors of all functions.
  - Revised 'packList()' to deal composite expressions in recursive list objects (lists within lists within lists...).

2.09  2009-05-01  Rowan
  - Transferred function 'clipVector()' from PBSfishery to PBSmodelling.
  - Revised 'packList()' to deal with composite expressions (calls, expressions, etc.) within list objects (see 'deparse()').

2.08  2009-04-21  Rowan
  - Revised (yet again) 'RmakePDF.bat' to follow the R developers' shifting code.
  - Fixed bug in '.doClean()'.
  - Modified function 'viewCode()' to see functions in namespace.
  - Modified function 'viewCode()' to allow user to specify explicit functions.

2.07  2009-04-20  Rowan
  - Added new function 'updateGUI()' to write any available values from R's memory to the active GUI.
  - First build under R-2.9.0.

2.06  2009-03-06  Rowan
  - POSTED ON CRAN
  - Changed 'convSlashes.Rd' & 'doAction.Rd' to reflect new functionality of '\code{}' in R.2.9.0.

2.05  2009-03-05  Rowan
  - Added 'PBSmodelling-Updates.pdf' to the vignettes.
  - Added 'testAlpha' and 'viewCode' to 'TestFuns' for 'runExamples()'.

2.04  2009-03-04  Rowan
  - Added new function 'testAlpha()' to display transparency values.
  - Added new hidden function '.findSquare()' to determine rows m and columns n from a vector N.
  - Revised 'runDemos()' to require packages as needed.
  - Revised 'packList()' to pack an explicit value instead of object values.
  - Revised 'evalCall()' to optionally check additional arguments in '.default()' functions and 'par()'.
  - Revised function '.makeCleanVec()' to allow file names with spaces.
  - Removed easy-to-change instances of "<<-", replaced with either 'assign()' or 'packList()'.

2.03  2009-02-24  Rowan
  - Revised functions 'cleanProj()', '.doClean()', 'cleanWD()' and '.doCleanWD()'.
  - Added new function 'packList()' that packs objects from one environment (typically local) into a list object in another environment (typically global).
  - Revised the 'par()' defaults in 'resetGraph()'.
  - Revised the BRugs plotting functions to use 'evalCall()' and to use an expanded colour vector.
  - Implemented 'evalCall()' in 'plotCsum'

2.02  2009-02-23  Rowan
  - Revised functions 'cleanProj()' and '.doClean()' to delete project junk files.
  - Added new functions 'cleanWD()' and '.doCleanWD()' to delete specified files.
  - Revised 'showArgs()' to display the widget arguments in a more visible manner.
  - Added new non-GUI functions 'getPrefix()' and 'getSuffix()' to search for and return all prefixes/suffixes of system files on the specified path.
  - Revised 'plotBubbles()' to increase its versatility.
  - Added new function 'evalCall()' to evaluate function calls with potentially duplicated arguments due to '...'.
  - Added new function 'showPacks()' to check if specified packages are missing from a user's system (Jon).
  - Added new function 'convSlashes()' to convert slashes depending on OS.
	(duplicates somewhat the functionality of '.addSlashes()')
  - Added new function 'viewCode()' to collect the R-code of all functions in a specified package on the user's system.
  - Added new function 'doAction()' which executes the action created by a widget.
  - Added new function '.forceMode()' to coerce modes into those specified, if possible (replaces '.convertMode()' in 'readList()').
	Note: I could not use this algorithm to replace '.convertMode()' generally because this affects logical values derived from GUIs.
  - Changed the definition of '.pFormatDefs$array' (formerly not used) in '.widgetDefs.r'.
  - Revised 'writeList()' and 'readList()' to handle n-dimensional arrays in PBS format.
  - Changed the grouping of functions within existing and new *.r files (only relevant to the package builders).

2.01  2008-10-24  Jon
  - POSTED ON CRAN

2.00  2008-10-23  Rowan
  - Bumped up the version for CRAN

1.92  2008-10-23  Jon/Rowan
  - Revised the User's Guide, the example document 'vonBDoc.pdf', and the talk description file 'SwissTalk.txt'.

1.91  2008-10-09  Rowan
  - Revised 'presentTalk()' to clean up a few bugs and quirks.

1.90  2008-10-08  Rowan
  - Revised 'presentTalk()' to restore some semblance of functionality.
	Will need to be completely recoded in future.

1.89  2008-10-07  Rowan
  - Standardised 'ChangeLog.txt' of PBS packages for viewing in HTML.
	Header lines comprise:  version  date  builder
  - Revised 'openFile()' to use 'shell()' on Windows systems and 'system()' on UNIX systems.
  - Revised 'setPBSoptions()' to allow the setting of list components within an 'option'.
  - Revised 'presentTalk()' to take advantage of the revised 'setPBSoptions()' for code clarity.
  - Revised the GUI in 'presentTalk()'.
  - Attempted to implement backwards steps through 'chunks'
	(still buggy due to hazy grasp of variables like 'mustEval' and 'midChunks').
  - Temporarily disabled export of dot functions to namespace (for debugging).

1.88  2008-09-22  Rowan
  - Anisa revised 'presentTalk.r' to include a 'back one step' button.
  - Revised 'openFile()' to work under 'windows' and 'unix'.

1.87  2008-09-10  Rowan
  - Anisa revised 'presentTalk.r'.

1.86  2008-09-09  Rowan
  - Fixed small bug in 'runExamples()'.
  - Revised 'TestFuns.r'.
  - Revised 'openFile()' to use 'shell()' instead of 'system()' (latter no longer seems to work).

1.85  2008-09-08  Rowan
  - Revised Anisa's 'presentTalk.r' (reorganised the GUI).
  - Updated 'runExamples()' to handle the 'swissTalk' presentation.
  - Revised 'isWhat()'.

1.84  2008-09-07  Jon
  - Incorporated Anisa's revised 'presentTalk.r'.

1.83  2008-09-05  Rowan
  - Revised (again) 'getChoice()' and 'chooseWinVal()'.
  - Tweaked 'presentTalk.r' (to no avail).

1.82  2008-09-04  Rowan
  - Revised a whole swack of Rd files.
  - Revised 'getChoice()' and 'chooseWinVal()' to resolve a closing issue.
  - Revised 'TestFuns.r' to have 'plotFriedEggs' example use par(ask=TRUE).

1.81  2008-09-03  Jon
  - Added Anisa's revised 'presentTalk.r' and 'tagDefs.r'

1.80  2008-09-03  Rowan
  - Revised 'plotFriedEggs()', 'TestFuns.r' 'TestFunsWin.txt', and 'runExamplesWin.txt'

1.79  2008-08-26  Rowan
  - User Guide updated
  - AE: '.presentTalk()' has been moved into .PBSmod$.options (accessed directly).
  - AE: Talk names must be alphanumeric and the first character cannot be a digit.
  - AE: eval break option is now print; can now break after show when nothing shown.
  - RH: Added a modified version of Steve Martell's 'plotFriedEggs'.

1.78  2008-08-26  Rowan
  - Added function 'showRes()'.
  - Repaired 'index.html'
  - Added revised 'FishRes.r' and 'FishResWin.txt' to deal with PBSddesolve.
  - User's Guide updated (Jon & Rowan).

1.75-1.77  2008-08-25  Anisa
  - Added 'presentTalk()'.
  - Fixed history widget.
  - Added html index.
  - Talk names in 'presentTalk()' are now restricted to alphanumeric characters.
  - Made change to '.optionsNotUpdated()'.
  - Fixed problem with 'setPBSoptions()' handling data frames.

1.78  2008-08-21  Anisa
  - Fixed .Rd files for -declareGUIoptions, getGUIoptions, openProjFiles.Rd.
  - Fixed bad keywords in various .Rd files.
  - Removed extraneous argument from 'getGUIoptions()' function.
  - Removed ADOL-C examples.
  - Removed non-source files from '.../src' directory.
  - Fixed call to 'setGUIoptions()' in 'loadC()' GUI.
  - 'loadC()' now calls 'readPBSoptions()'.
  - Changed shell call in 'openFile()' to use the 'system()' function.
  - Added html index, fixed history widget.

1.73  2008-08-11  Anisa
  - Added function 'isWhat()' and .Rd file for it (need to add to User's Guide).
  - Changed name of 'promptSave()' to 'promptWriteOptions()', changing .Rd file and calls to the function.
  - 'promptWriteOptions()' now does not have an error when no windows have been created.
  - 'writePBSoptions()' .Rd file now  has a link to 'promptWriteOptions()'.
  - 'writePBSoptions()' now unsets '.optionsChanged()'.
  - 'readPBSoptions()' and 'writePBSoptions()' now properly set '.optionsFile()'.
  - Removed 'fname' argument from '.getGUIoptions()' (it now does not call 'readPBSoptions()').
  - Updated .Rd files for 'promptWriteOptions()', 'readPBSoptions()', '.getGUIoptions()', and 'setwdGUI()'.

1.72  2008-07-31  Anisa
  - Updated incomplete change log entries.
  - Fixed bug in 'loadC()' window description file.
  - Setting a file extension with 'setPBSext()' now counts as an option being changed for 'promptSave()'.
  - Updated user's guide (Rowan).

1.70-1.71  2008-07-30  Anisa
  - Minor changes (not tracked).

1.69  2008-07-25  Anisa
  - Minor changes/bug fixes/changes to .Rd files.
  - Changed row labels for 'testPch()'.
  - Changed layout of 'loadC()' GUI.

1.68  2008-07-24  Anisa
  - Minor changes, .Rd files added.

1.67  2008-07-23  Anisa
  - Replaced old clean functions with new function 'cleanProj()'.
  - Made various function name changes.
  - Changed functionality of 'setwdGUI()' and 'openProjFiles()'.
  - Added helper function '.formatStrToLineLen()' for usage in message boxes;
	'.showAlert() and 'getYes()' have a 'lineLen' argument for automatic formatting.
  - Changed 'compileC()' to use the .so extension for non-Windows platforms.
  - Fixed bug in '.guiCompileC()'.
  - Fixed problem with garbage collection in comparison.

1.66  2008-07-21  Anisa
  - Changed description file to reflect Anisa's correct DFO email.
  - Renamed PBSc.r to cSupport.r, PBSc.txt to embedC.txt, PBScSetup.pdf to embedCSetup.pdf.
  - Added header to 'cSupport.r'.
  - Changed references to the name 'PBSc' in functions/comments/widgets/etc.
  - Removed 'setPBSoptions()', 'readList()' from cSupport.r (they were duplicated in supportFuns.r)
  - '.log' is now a clean option.
  - Changed '.embedCRunComparison()' to use 'system.time()' and return when prefix is blank.
  - Made changes so that the compilation log includes the compile command.
  - Added '.getHome() which returns HOMEDRIVE on Windows or HOME on Unix (not tested on Unix).
  - Modified 'grabPrefix()' to  change prefix if the current one cannot be found in the working
	directory for the given suffix. It also now returns a vector of all matching prefixes.
  - Changed 'compileC()' to take different arguments.
  - '.guiCompileC()' now constructs the file name.
  - Added 'fname' argument to 'promptSave()'.
  - Allocated new functions to either cSupport.r or projectFuns.r.
  - 'openExamples()' now does not show an error if a prefix widget does not exist.
  - Changed 'setPBSext()' and 'clearPBSext()' to set the changed flag so that a user will be 
	prompted to save changes when exiting a GUI if any extension associations were changed.
  - Removed function '.parsePackAction()'.
  - Created generic 'openExamples()' function and updated accordingly.
  - Changed 'guiOpenPackageFile()' to 'openPackageFile', which now doesn't require a GUI.
  - Changed 'guiOpenProjFile()' to 'openProjFiles()', which now doesn't require a GUI and
	can be used to open multiple files.
  - Changed '.tryOpen()' to check if the file exists.

1.65  2008-07-14  Rowan
  - Added Anisa's 'embedC()' code and support functions.
  - AE: Revised 'setPBSoptions()', 'readList()', 'writeList()'.

1.64  2008-07-10  Rowan
  - Added a vignette '00ReadMe.Rnw'.
  - Added function 'showVignettes()' (author Anisa Egeli) to show available vignettes for installed packages.

1.63  2008-05-29  Rowan
  - Changed references to location of the user's guide.
  - Added function 'showHelp()' to show Help Pages for packages that match the supplied pattern.
  - Modified 'openFile()' to use 'sapply()' rather than call itself; functionality should be the same.
  - POSTED ON CRAN.

1.62  2008-05-22  Rowan
  - Moved 'ChangeLog.txt' and 'PBSmodelling-UG.pdf' to '.../inst/doc' folder of the build.
  - Changed 'Rd2dvi' to 'RD2dvi$' in 'RmakePDF.bat' and 'RmakePDF2.bat'.
  - Revised 'resetGraph()' to hide warnings about 'gamma'.
  - Revised 'view()' to better handle object types, and to allow selection of 'last' and 'random' n elements/rows.
  - Transferred 'DeveloperGuide.pdf' from 'developers' folder to '.../inst/doc' folder. Updated '00ReadMe.txt'.

1.61  2007-40-09  Rowan
  - Removed extended ASCII characters from 'CCA.qbr.Rd' and 'testPch.Rd'.
  - Removed old batch files ('check.bat', 'build.bat', 'pack.bat', 'unpack.bat', 'makePDF.bat').
  - Updated User's Guide regarding batch files.
  - POSTED ON CRAN.

1.60  2007-10-02  Alex
  - Addressed the C warnings introduced by the new R C api.
  - Modified one of the strings???

1.59  2007-08-30  Rowan
  - Fixed bugs in plotBubbles: to handle 1-column matrices, to handle null dimnames if dnam=T.
  - POSTED ON CRAN.

1.58  2007-08-28  Rowan
  - Corrected User's Guide to reflect proper history function names
	(e.g, correct = 'initHistory()', incorrect = 'initPBShistory()').

1.57  2007-08-24  Rowan
  - Altered the 'PopSim' GUI to make clear that 'Age measurement error' is the only error 
	affected by choice of Dirichlet vs. logistic-normal.

1.56  2007-08-23  Rowan
  - Altered the 'PopSim' GUI to better reflect the impact of Dirichlet vs. logistic-normal.

1.55  2007-08-22  Rowan
  - Fixed 'addArrows()', 'addLabel()', 'addLegend()' to recognise logarithmic axes.

1.54  2007-08-15  Rowan
  - Fixed bug in 'plotBubbles()' in '.../R/supportFuns.r' to handle NaNs after division by 0 when 'cpro=TRUE'.
  - Added new argument to 'plotBubbles(hide0=FALSE)': if TRUE, hides zero-value bubbles.
  - Added new argument to 'plotBubbles(dnam=FALSE)' : if TRUE, attempts to use matrix dimnames as x- and y-values.

1.53  2007-08-09  Rowan
  - Revised PopSim.r to accept random proportions from the Dirichlet distribution.
  - Revised PopSim.r to store all non-GUI data objects in one global object called '.PBSpopsim'.
  - Revised PopSimWin.txt to rearrange the GUI.
  - Revised 'getChoice()' to accept an argument 'quiet' for no reflection of choice on command line.

1.52  2007-07-31  Rowan
  - Revised 'getChoice()' and 'chooseWinVal()' in '.../R/guiFuns.r'.
  - Added 'getChoice()' and 'chooseWinVal()' to '.../inst/examples/TestFuns.r'.
  - Updated the User's Guide.
  - Revised 'runExamples()' in '.../R/supportFuns.r'.

1.51  2007-07-27  Rowan
  - Revised 'resetGraph()' in '.../R/supportFuns.r'.
  - Added 'getChoice()' and 'chooseWinVal()' to '.../R/guiFuns.r'.
  - Added 'getChoice.Rd' and 'chooseWinVal.Rd' to '.../man'.
  - Added Jon's revised R*.bat files to '.../inst/PBStools'. (Retained old *.bat for now.)

1.50  2007-06-26  Rowan
  - Revised '.widgetDefs$text' in '.../R/widgetDefs.r to include a logical argument called 'scrollbar'.
  - Altered '.createWidget.text()' in '.../R/guiFuns.r' to create a text widget with or without a scrollbar.
  - Revised '.widgetDefs$text' in '.../R/widgetDefs.r' to include the 'sticky' argument.
  - Updated User's Guide (text widget in App.A, App.C.1-2).
  - Modified 'makePDF.bat' slightly (replaced PBSmodelling with %1 in a few forgotten places).
  - POSTED ON CRAN (version number promoted).

1.25  2007-06-21  Rowan
  - Altered resetGraph() slightly: moved call to frame() after call to par().
  - Updated User's Guide.
  - Revised 'makePDF.bat'; added newer version called 'makePDF2.bat' (.../inst/PBStools).
  - Revised 'runExamplesWin.txt'; added new 'PopSim' example (.../inst/examples).

1.24  2007-06-13  Rowan
  - Changed 'system()' to 'shell()' in 'openFile()' located in '.../R/supportFuns.r'.
  - Updated PBSmodelling-UG.pdf.
  - Replaced 'FishRes' example with new one from recent Malaspina University-College collaboration.
  - Modified 'runExamples()' and 'testWidgets()' to resolve conflicting window names.
  - Changed 'makePDF.bat' for easy PDF creation of *.Rd files (to append to UG).
  - Modified various Rd files.

1.23  2007-05-09  Alex
  - Fixed bug (data handling of modes) in '.createWidget.object'.

1.22  2007-05-05  Alex
  - Rewrote list merging in 'importHistory()'.

1.21  2007-04-30  Alex
  - 'writeList()' rolledback 'dput' control to default value: showAttributes

1.20  2007-04-25  Alex
  - Applied changes in 1.19 to affect radio widgets.

1.19  2007-04-23  Alex
  - Fixed logical radio 'setWinVal()' bug by changing '.getParamFromStr()' to convert widget 
	values from character to the user-supplied mode.

1.18  2007-03-13  Rowan
  - Revised 'runDemos()' and '.viewPkgDemo()' to retain working directory focus and 
	to clean up files spawned by the demos.
  - Added the function '.dClose()' to provide the cleanup upon closing 'pbs.demo' window.
  - Modified 'runDemos.Rd'.
  - POSTED ON CRAN.

1.17  2007-03-13  Rowan
  - Revised 'runDemos()' to retain focus of project location.
  - Revised 'runExamples()' to close only 'window' and 'runE' windows on exit.

1.16  2007-03-05  Jon
  - 'sortHistory()' new order taken as ascending real numbers.

1.15  2007-03-03  Alex
  - Added 'wrap' argument to the 'label' widget.
  - Added 'runDemos()'.
  - Added a call to 'runExamples()' under 'demo'.

1.14  2007-03-03  Alex
  - Fixed a bug in 'addHistory()'.

1.13  2007-03-02  Alex
  - Fixed 'history' widget.
  - 'writeList()' - dput control="useSource"
  - Added argument 'selected=FALSE' to 'radio' widget.

1.12  2007-02-22  Alex
  - Fixed bug in '.validateWindowDescWidgets()' that didn't check 'grid' children widgets.
  - Fixed bug due to 'history' widget changes from v.1.11.
  - Renamed '*PBShistory' functions to '*History' (e.g., 'initPBShistory()' => 'initHistory()').

1.11  2007-02-19  Alex
  - Changed behaviour and look of 'history' widget.
  - Added 'rewritePBShistory()' function.

1.10  2007-02-14  Alex
  - Fixed bug in 'GT0()'.

1.09  2007-02-02  Alex
  - Re-introduced ChangeLog.
  - Created developers directory containing Developer's Guide.

1.08  2007-02-01  Alex
  - Removed link to 'shell.exec()' from 'openFile.Rd'.
  - Reinstated ChangeLog which was dropped in v.0.58.

1.07  2007-01-26  Alex
  - Removed global 'PBS.win' variable and replaced with accessor functions:
	'getWinVal()', 'setWinVal()', 'getWinAct()', 'setWinAct()', 'getWinFun()'.
  - Introduced the 'object' widget.
  - Added more examples to 'runExamples()'.
  - Added the function minimization suite (e.g., 'calcMin()').
  - POSTED ON CRAN.

0.60  2006-08-28  Alex
  - POSTED ON CRAN.

0.57  2006-08-16  Alex
  - Fixed 'expandGraph()'.
  - Fixed the example for 'addLabel()'.
  - Changed some .Rd files.
  - Added instructions for building PDFs from .RDs.

0.55  2006-08-16  Alex
  - Added new batch files for building packages.
  - Changed 'ranVars' example to include a legend.
  - Added required package 'check' to examples.
  - Added 'CCA.qbr.hl' data object and .Rd file.

0.54  2006-08-10  Alex
  - Included new 'testWidget()' function and examples.

0.53  2006-08-10  Alex
  - Removed images from examples directory.
  - Modified build batch files to include SETLOCAL.

0.52  2006-08-09  Alex
  - Removed md5 code.
  - Added fibonacci C code using .C and .Call and R code.
  - Changed 'testCol()' to accept palette index and hex colours.
  - Changed .bat files for building packages.

0.51  2006-08-08  Alex
  - Added argument 'returnValue=TRUE' to 'pickCol()'.
  - Added 'frame()' call in 'resetGraph()'.

0.50  2006-08-03  Alex
  - Added 'expandGraph() function and documentation.
  - Added 'getMD5()' function (R and C code) and documentation.

0.48  2006-07-31  Alex
  - Revised 'testPch()', 'testLwd()', 'genMatrix()' functions (with new source from Rowan).

0.47  2006-07-26  Alex
  - Revised 'plotCsum()' code (from Rowan).
  - Revised .Rd examples for 'resetGraph()' and 'plotCsum()'.

0.46  2006-07-21  Alex
  - Changed 'testCol()' function to Rowan's function.
  - Added 'pickCol()'.

0.45  2006-07-17  Alex
  - Changed 'is.null' to '.isReallyNull' in hash$add function to fix issue of existence:
	if 'fooXYZ' exists, then 'foo' points to 'fooXYZ' instead of a new variable.

0.44  2006-07-16  Alex
  - Worked on documentation for functions from utils15.r.
  - Made minor changes and bug fixes to these functions.

0.43  2006-07-14  Alex
  - Added 'resetGraph()'.

0.41  2006-07-09  Alex
  - Fixed bug in 'setWinVal()' dealing with matrix and vectors.
  - Updated the docs.

0.40  2006-07-04  Alex
  - Changed behaviour of matrix row and col labels when nrow or ncol=1 
	to stop the number 1 from appearing next to the row or column.
  - Fixed 'vector' widget font issue where 'toptitle' of 'vector' and 'matrix' did not have
	font applied, but numbering did.

0.39  2006-07-02  Alex
  - Added files from Jon's 'utils15.r', and created basic Rd files, which might have to be expanded.

0.37  2006-06-25  Alex
  - Changed Rd files, cleaned up old unused functions ('.addlist()', '.writeListOut()').

0.36  2006-06-23  Alex
  - Added namespace to only export non-dot functions, and to import tcltk functions,
	rather than use 'require()' in 'createWin()'.
  - Modified 'writeList()' to handle the 'P' format.

0.35  2006-06-19  Alex
  - Added arguments 'padx' and 'pady' to 'text' widget.
  - Worked on P format for 'readList()'.

0.34  2006-06-09  Alex
  - Worked on 'writeList()' R format to include comments and strip off structure so the first word is list(...).

0.33  2006-06-05  Alex
  - Fixed 'byrow' option in 'writeList()'.

0.32  2006-06-04  Alex
  - Worked on 'writeList()' to allow 'byrow' option for use with BRugs package.

0.31  2006-05-30  Alex
  - Modified 'createWin()' to accept a vector of strings representing the contents of a window description file.

0.30  2006-05-23  Alex
  - Fixed '.getArguments()' to reflect new 'characterVector' types.
  - Added better error messages for 'createWidget()'.
  - Fixed bug in slidePlus/getWinVal().

0.29  2006-05-19  Alex
  - Changed syntax for quoting (and sub-strings).

0.28  2006-05-18  Alex
  - Added "$" format support to 'readList()' and 'writeList()'.
  - Added arguments 'rowname' and 'colname' to 'data' and 'matrix' widgets, affecting the dimnames of the R objects.

0.27  2006-05-12  Alex
  - Fixed 'text' widget - can set/get values from it.
  - Added "Clear All" button to 'history' widget.

0.26  2006-05-10  Alex
  - Added 'data' widget which represents a data.frame (like 'matrix' but takes a vector called 'modes').
  - Fixed bug: 'toptitle' wasn't showing up for 'matrix' and 'data' widgets
	renamed 'title.offset' to 'toptitle.offset'.

0.25  2006-05-07  Alex
  - Introduced named windows for working with multiple windows.
  - Added functions 'closeWin()' and 'clearPBSHistory()'.
  - Worked on 'openFile()' and 'PBS.options'.

0.24  2006-04-14  Alex
  - 'writeList()' scientific argument - which can disable floating point numbers (ie 1e-10).

0.23  2006-04-13  Alex
  - Changed 'PBShistory' functions and Rd files.
  - Added 'importPBShistory()' and 'exportPBShistory()'.
  - Created a 'text' widget - still very buggy.
  - Created 'promptOpenFile()' and 'promptSaveFile()'.
  - Modified 'check' widget to use logical mode only.
  - 'writeList()' can append custom comments to the top of files.

0.21  2006-04-10  Alex
  - Created 'history' widget, and supporting functions: 
	'initPBShistory()', 'updatePBShistory()', 'rmPBShistory()', 'addPBShistory()',
	'forwPBShistory()', 'backPBShistory()', 'jumpPBShistory().
  - Created 'null' widget (think label text="").
  - Created 'openFile()' function.

0.19  2006-04-08  Alex
  - Removed all bold options, and introduced new font="bold italic 25 courier"

0.18  2006-04-06  Alex
  - Changed 'vector' & 'matrix' widgets to display 'checks' when 'mode=logical'.
  - Added 'mode' to 'check' widget to support logical, integer,...

0.17  2006-04-01  Alex
  - Added 'menu' and 'menuitem' widgets. Documentation is still lacking.
	There is an example file for creating menus.

0.16  2006-03-30  Alex
  - Added 'createVector()' function & documentation.

0.14  2006-03-15  Alex
  - Changed error checking to print out widget description source when an error is found.

0.13  2006-03-14  Alex
  - Fixed bug: Warning message "the condition has length > 1 and only the first element
	will be used in: if (labels == "") labels <- names"
  - Revised function 'getWinVal(v=PBS.win$vals, frame="" (or "L", "G") vector=F)' :
	takes a vectors of strings and returns a list with named components or a vector with named components
	(vector=T). When frame="L" ("G"), local (global) variables are created with the relevant names. 
	Rowan:  assign(i,PBS.win$var[[i]],pos=parent.frame(1))
  - Revised 'setWinVal()' that takes a vector or list with named components. 
  - Check into 'padx', 'pady', 'sticky', etc. Do we need grids? Include a "top" grid.
  - Added  argument 'vertical=TRUE' to 'window'.
  - Similarly, use 'vertical' in 'vector' (and other widgets?).
  - Allow upper/lower case in window descriptions.

0.11  2006-03-03  Alex
  - Renamed 'coltitle' to 'sidetitle' ('grid' widget).
  - Renamed 'boldtitle' to 'bold' ('matrix', 'vector').
  - Changed argument ordering to conform to specs (except for 3 additions above: 'by', 'func', and 'action').
  - Added 'func' and 'action' support to 'matrix' and 'vector' widgets.

0.10b  2006-01-15  Alex
  - Added beta.r and beta.txt to pbsmodelling/inst/examples.

0.10a  2006-01-14  Alex
  - Removed commented out combo widget code.
  - Removed 'action' argument from 'matrix' and 'widget' (since there is no function support).

0.10  2006-01-13  Alex
  - create.slideplus:
	Added fractional values support to slideplus enter=TRUE|FALSE parameter added, for updating min/max values.
  - parseWinFile, createWin: Multiple windows per file support added.
  - create.entry: added enter=TRUE|FALSE, for entry widgets
  - 'window_markup.doc'
  - Updated changes
