The complete ChangeLog for the Fung-Calc from the beginning of the project (5/10/02) to the present.

Note that this contains nearly all changes done on a day by day basic, including, for example, fixed bugs that were created and
then again fixed between releases (The log may say a bug has been fixed, although a released version
may never have had the bug ).  In other words, this is not necessarily a ChangeLog from version
to version, but instead a *complete* log of all work done to this project.

* 5/10/02
 -Began Fung-calc

* 5/15/02
 -Finished simple function graph and signals/slots
 -Version 0.1 released!

* 5/21/02
 -Graphs are now added to a QWorkspace instead of having a single graph statically added to the mainwindow (MDI)

* 5/22/02
 -Minor touch-ups. Now is a fully functional graphing utility in function mode.
 -Version 0.2 released!

* 5/25/02
 -Created Parametric UI.
 -Seperated basic graph functions (setXMin,drawAxis,etc.) from FunctionGraph to
  create a base class (BasicGraph) for which other graphs (Polar,Parametric,etc.) will be derived.
 -Fixed some bad naming for code clarification.
 -When the graph changes its settings (xMin,yScale,etc.) such as by double clicking it now
  emits a dimensionsChanged(GraphEvent*) signal.

* 5/26/02
 -Added graphing and other features to parametric graph UI although parametric graph needs signals/slots to set
  tMin, tMax, and tStep

* 5/30/02
 -Used a linked list to allow multiple graphs in function mode (I learned how to use linked lists writing this :D)
 -Previous and next buttons are now functional in function mode which means you can now draw multiple expressions
  on the same graph and then go back and edit them

* 6/1/02
 -Same as yesterday (5/30/02) but now applies to all graphs (except stat plot)

* 6/2/02
 -Created Stat Plot UI
 -Began work on StatPlotGraph class
 -Got tired of working with Stat Plot and added a Window menu with options to Tile and Cascade the Workspace
 -Added a buggy removeExpression(int index) to ExpressionList class and FunctionGraphMain UI

* 6/3/02
 -an ExpressionList expressions is now referenced using the operator[]
 -Fixed all known problems with removeExpression(int index) except when y1 is the only expression and it gets removed things get weird
 -Fung-Calc RPM and SRPM is now available for version 0.3.5
 -Added removeExpression(int index) to remaining graphs (Polar & Parametric)

* 6/4/02
 -Functions are now drawn at a random color and the color is stored in the expressionList

* 6/19/02
 -Icons are in a header file now
 -Created .spec file so can now be built as an RPM

* 8/20/02
 -Made some fixes which eliminated all known segfaults which were occuring

* 8/21/02
 -Created functions for statistics which will be used for the stat plot

* 8/22/02
 -Stat Plot drew its first Box and Whisker Plot :p  Support for multiple plots is still in development
 -Multiple plots are now supported though a bit buggy
 -Got most of them bugs out of there
 -Completed Frequency Distribution and Scatter Plot
 -Version 0.4 released!

* 8/25/02
 -Added box and whisker and frequency distribution zoom
 -Upgraded function parser to version 2.2.  Includes support for new operators (>,<,=,&,|) and if() function.  Thanks Warp!

* 8/27/02
 -yList is disabled when graphs that don't use it are selected
 -A title to each plot and function is displayed in the top right
 -grid is now a dotted line
 -much better zoom

* 8/31/02
 -Lots of small changes
 -Fixed a rather important bug so that when to like graphs are opened a change on one would affect the other
 -Open/Save implemented for function graph which allows you to save any number of graphs and
  functions within those graphs as well as saves their colors; save is coming along for the others
 -Open/Save completed for all graphs except for stat plot

* 9/02/02
 -Open/Save for stat plot added
 -If you don't type suffix .fgc during save it will be automatically added for you
 -Some bux fixes; leading up to a stable v0.6.x
 -Fixed a bug that crashed the program when a stat plot graph was closed
 -Fixed little open/save issue
 -Fixed color issue
 -added close and close all to window menu
 -Grid and axis can be toggled on and off
 -Can choose continuous or discrete method for drawing functions

* 9/03/02
 -Functions can be toggled on and off
 -Added standard zoom
 -Can now set zoom factor
 -Can now choose either radian or degrees
 -Printing of graphs is in alpha stages

* 9/06/02
 -Can now accept .fgc files from the command line meaning that you can now make it where you can click on a fgc file to open it! Yippie!
 -Fixed segfaults and other weird effects when you enter bogus xMin/xMax/xScale/yMin/yMax/yScale values

* 9/07/02
 -Added trace to all graphs except stat plot

* 9/09/02
 -Can now find distance of two points and set up a framework for more mathematical functions

* 9/13/02
 -Fixed where printing a function graph prints off the page
 -Print added to every graph
 -For polar and parametric traces, putting the mouse at the leftmost end traces the aMin and tMin respectively
  and the rightmost the aMax and tMax respectively
 -Expression is displayed on the graph (instead of just having "y1 ---" it now shows "y1=sin(x)" for example)
  This is very convenient when printing the graphs
 -Fixed where a polar graph didn't load aMin, aMax, and aStep options from a saved fung-graph
 -Added that graphs can be exported as jpeg, png, bmp, xbm or xpm
 -Only a few more touchups until very stable version 0.8.5!
 -Background color now prints (watch your ink levels when printing a non white background!)
 -Fixed where a printed graph would print outside the bounds of the grid
 -Made some new icons for the new graph dialog
 -The number in the function label (e.g. y(x)1=) changed back to a subscript
 -Suffix of an exported graph will to appended if it isn't written by the user
 -Scale added to all graphs; it can be toggled and their color can be set

* 9/20/02
 -Added arc length calculator

* 9/21/02
 -Fixed arc length so that it stores the points of the arc and doesn't have to recalculate them after every repaint
 -Sped up stat plot graphs by caching statistical information when a new graph is added instead of calculating this information during every paint
 -Added scatter plot zoom

* 9/22/02
 -You can now navigate about a graph by holding down the mouse on the graph and dragging
 -Version 0.8.8 released!
 -All graphs are now double-buffered which prevents flickering
 -Version 0.8.9 released!
 -Cursor changes to hand when dragging graph

* 9/24/02
 -Fixed the ugly black around icons
 -Fixed some things with calculating arc length
 -Changed main icon to polar icon
 -Other little touchups to prepare for first release on SourceForge.net
 -Version 0.8.9.1 released!

* 9/25/02
 -Bogus tMin, tMax, and tStep values locked up program
 -Changed zoom keys to Ctrl++ and Ctrl+- because of problems with textfield where plus and minus were entered
 -Removed interface for some features not yet implemented
 -Added Box and Whisker trace
 -Zoom stat now accessed from zoom menu
 -Fixed that when stat zoom was pressed when there wasn't a plot it crashed
 -Reset actually resets the range and scale of the graph now!

* 9/26/02
 -Sped up stat plot graph by caching it

* 9/27/02
 -On main window I seperated the toolbar into a file options toolbar and a graph options toolbar
 -Changed default x and y scale values higher to less clutter the graph
 -Version 0.9pre1 released
 -Can calculate definite integral
 -Standard zoom changed to an x and y scale of 2
 -All math functions are draw in the same color (red)
 -Functions not available for a graph are disabled
 -Stat plot graph had wrong default current plot (1 instead of 0)
 -The words "Selected Upper bounds" doesn't disappear when the graph is repainted
 -Fixed some issues dealing with stat plot graph when creating and deleting new plots on a single graph

* 9/30/02
 -Fixed more issues with stat plot graph when adding and deleting lists and plots

* 10/03/02
 -Cleaned some things up for distribution
 -Version 0.9 released

* 10/06/02
 -Can now create compound functions.  For example, if y1(x)=log(x) and y2(x)=5*x, then y3(x) could be y1(x+1) + y2(x*2) which will plot
  log(x+1) + 5*(x*2)
 -Recognizes constants pi and e.  Request a constant and it can easily be added :)
 -ln() computes the natural log which is base e
 -Modified fparser to recognize log(x,base) where is computes the log of x in the specified base
 -atanh, asinh, and acosh were always returned in radians
 -same as above but with sinh, tanh, cosh

* 10/09/02
 -A lot of restructuring -- created a wrapper class for the fparser to include some of my own parsings such as recognizing constants
  and other functions soon.  Also instead of using a struct to hold function information it is now its own class.
 -Began a Spanish translation
 -Added secant (sec), cosecant (csc), and cotangent (cot) functions
 -Major bug fixed: Graphs with functions with spaces didn't load. fgc files prior to this release will unfortunately no longer load.

* 10/10/02
 -Began to completely redo stat plot graph

* 10/13/02
 -Finished most of the framework of the new stat plot graph.  Now just need to adapt the old code to this modified framework.

* 10/14/02
 -Reimplemented most the features that were previously implemented for stat plots (zooms, traces, and functionality)
 -Constructor for plot.cpp now has the default parameter for the color as a random

* 10/15/02
 -Stat plot touch-ups/bug fixes

* 10/18/02
 -Fixed some for stat plot
 -Fixed crash when stat plot is deleted
 -Stat plot is now fully functional and stable
 -Fixed some function parsing where functions using references to other functions may have been evaulated with the wrong order of operations
 -If a function entered is invalid an error message is shown in the status bar
 
 * 10/19/02
 -Been setting up a framework for a 3D graph using MesaGL
 -One function can be entered and graphed using GL_POINTS (I will use a GL_QUAD_STRIP later)

* 10/20/02
 -Functions can be drawn using a QL_QUAD_STRIP
 -Did some redesigning.  All graphs are a subclass of CommonGraph so that both 2D and 3D graphs have a common subclass.
 -Put the framework together and now I need to implement a lot of functions

* 10/21/02
  Implemented today on 3D graph:
	 -Change between graphing points and a solid graph
	 -Graph grid
	 -Change grid, background, and axis colors
	 -Toggle grid and axis on and off
	 -Switch between angle and radians
	 -Standard Zoom

* 10/22/02
 -Created a graphRotated event to update x and z eye when the graph is rotated by the mouse on the 3D graph interface
 -Multiple function graphs can be plotted on a single graph
 -Implementing various other things for a 3D graph here and there

* 10/23/02
 -Implemented print for 3D function graph
 -Implemented export as image for 3D function graph
 -Implemented save/open for 3D function graph

* 10/31/02
 -I upgraded gcc from 2.96 to 3.2 and made some adjustments to the code to make it work with gcc-3.2 (changes which we're bad coding anyways)

*11/05/02
  -Edited configure.in and source code to allow enabling/disabling compilation of 3D graphs (not compiled by default)

*11/07/02
  -Prevented infinite recursion when entering an equation like y1 = y1(x)

*11/08/02
  -Lots of clean up work
  -Generated API documentation which will be posted at http://fung-calc.sourceforge.net using doxygen
  -Also thanks to doxygen all the Fung-Calc source code will be able to be browsed online
  -Begun a lot of commenting for API documentation

*11/09/02
  -A shared library is now created instead of all objects being linked into one executable.  Objects in this library are all objects not concerned
   with the user interface.  These are designed to be reused in other applications.
  -Fixed a bug where an infinite recursion check would think that y10 = y1(x) is infinitely recursing
  -When loading a graph white space is now stripped from the beginning and end of expressions

*11/10/02
  -Normal vectors are now correctly calculated... I think. (I had to learn how to do this)  3-D graphs look much better.
  -Played some more with lighting.  Graphs aren't shiny anymore.
  -Documented more source
  -Fixed some areas that could cause problems if libfungcalc.so was used in another application
  -Implemented 3-D graph zoom in/out

*11/11/02
  -Seperated math functions code from graphs.  Math functions are now their own classes.  This will make it much easier to make more.
   Now writing a math function means only subclassing Math Function and implemented calculate_and_draw().
  -Fixed a bug where the wrong graph could be found active when two graphs of the same type were open.
   For example when setting the axis color of a function graph when another function graph is open, it may
   change the color of the other, not selected graph.

*11/12/02
  -Further fixed up MathFunction to make implementing more MathFunction subclasses cleaner and easier and thus making me more likely to add more functions :D
  -Added function to calculate maximum point on an interval on a function graph (which is a MathFunction subclass)

*11/13/02
  -Another day of bug fixing :)

*11/14/02
  -Stops doing math functions (maximum, distance, etc.) when the dimensions change (this caused the visual of the function to stay in the same place
   while the rest of the graph moved)
  -Changed mimimum value of spinners in zoom factor dialog from 0 to 1 since a zoom of zero causes division by zero.
  -New icon for draw connected/dot (Its nothing wonderful but it's better than the old one... I could really use someone into graphics to make some
   cool icons)

*11/15/02
  -v0.9.2 released!
   
*11/17/02
  -Cleaned and sped up MathFunction subclasses

*11/20/02
  -Can calculate minimum of a function for function graph
  -Can calculate where a function crosses x-axis (zero)
  
*11/22/02
  -Created RPMs for v0.9.2
  -Fixed some build errors

*11/25/02
  -Cleaned up unnecessary debugging
  -Fixed loading of translation files, now they only need to be written
  -Nearly finished Spanish translation
  -Made calculating zero more accurate

*11/27/02
  -Reorganization of source and Makefiles; fixed build scripts so that 3D related files don't compile when it is not enabled
  -UI seperated into its own library - I want the main libfungcalc to be a reusable graphing utility
  -Parser can now has full parsing ability for any number of variables (2D and 3D graphs) (There were two seperate functions for
   parsing the seperate graphs and one didn't implement all the parsing features)

*11/28/02
  -More i18n -- translators needed
  -When a value is undefined it no longer shows up on the graph as having a value of zero

*11/29/02
  -Created a FungColorChooser button.  This will be used by graphs to select function color instead of it being random.
  -Added ColorChooser button to all graph interfaces and implemented it.

*11/30/02
  -Added a check for -lglut and -lGLU for when 3D graphing is enabled
  -Urgent: Found bug where clicking OK in the new graph dialog box didn't create a new graph (double-clicking it did work). This has been fixed.

*12/01/02
  -Added a 3D polar graph -- there's more work to be done but it graphs the basic shape :)
  -Modified the New Graph Dialog.  It now includes information about each graph to the side when a graph is highlighted

*12/02/02
  -Created a subclass of GLBasicGraph, GLExpressionGraph, that all 3D graphs that graphs expression are now a subclass of.
  -Used the above new class (which made it much easier for me) to create a Cylindrical Graph

*12/03/02
  -3D graphs use x and y res(olution) to calculate how many points to draw in each of the x and y directions.  This is a major
   improvement for 3D graphs.
  -2D polar graph no longer accepts negative or 0 for angle step since this causes an infinite loop in drawing the graph (as you could possibly imagine)

*12/05/02
  -There is now a resolution slider to more easily adjust resolution
  -More drawing options for 3D graphs (thetaMin/Max,radiusMin/Max, etc. for the appropriate graphs)

*12/11/02
  -Completed trace feature for all 3D graphs.
  -Added e-mail and website address in the "About" box so that people can e-mail me (wink, wink ;) ) with their comments.
  -Added Credit for Warp's (warp@iki.fi) Function Parser in the "About" box (Sorry I didn't do this sooner).
  -Prints in color by default.

*12/12/02
  -Modified all graphs so that when invalid input is given, the UI will know

*12/14/02
  -Made a TON of touchups here and there, many minor speed enhancements
  -Got rid of most if not all unncessesary program output - especially: "QGList::locate: Index x out of range"

*12/16/02
  -Cleaned/fixed up RPM spec.
  -Created fung-calc.spec.in.
  -Created RPM devel package

*12/17/02
  -More fixes in build scripts - Uninstall in RPM and tarball remove fung-calc directories.
  -Fixed bug in parser which treated the t in tan() as a variable and other similar issues.

*12/18/02
  -File and print disabled when no graph is opened.

*12/19/02
  -Polar graph is now r(t) -- This makes more sense. The radius (r) is a function of the angle (theta->t).
  -Fixed possible segfault in Stat Plot when a plot is removed.

*12/20/02
  -Added a note to the Zoom Factor dialog.
  -v0.9.3 released!
  -Wrote base class for 2D graphs which implements common functions amongst 2D graphs such as managing functions and trace.
   Making changes to 2D graphs had gotten tedious because for every modification I had to also modify every other 2D graph.

*12/21/02
  -getExpression returns an Expression object instead of a QString

*12/22/02
  -Finished migrating common code from 2D graphs into new class, ExpressionGraph.
  -A line of code was mistakengly deleted which caused 3D function graph to graph all wrong.

*12/23/02
  -I'm replacing all instances where I used QPtrList/QPtrVector with the STL vector.  I believe Qt should be strictly used for the UI.
  -Fixed a bug where on Stat Plot graph whether or not the plot was visible in some cases didn't save.

*12/24/02
  -Christmas Eve and here I am programming... Fixed a bug in Stat Plot graph where at times the third and first quartiles of a
   box-and-whisker plot were calculated incorrectly.

*12/29/02
  -Added a crosshair for trace.
  -Added a View menu with all options from Graph Toolbar (Trace, show axis, etc.).
  -An arrow is now drawn showing the selected minimum and maximum bounds for Math Functions (Minimum, Defnite Integral, etc.).
  -Added warning message when Math Function can't be determined because no graph is entered (instead of failing silently).
  -Again made Math Functions easier to add to graphs by storing them all in a vector of MathFunction objects and iterating through it.

*12/30/02
  -Added Math Function for calculating the mean value on an interval.
  -Active Math Functions are now canceled when Next or Prev is clicked.

*12/31/02
  -Added Box Zoom.
  -Added an option to "Snap to grid".  This can be very useful when tracing a graph to select exact values and also to use with
   Box Zoom to select perfect boxes.

*1/01/03
  -Fixed quirks in "Snap to grid" to work properly for parametric and polar graphs since the value "snapped" to
   had to be worked out differently.
  -Whether or not "snapping" is saved.
  -Assigned keyboard shortcuts to common options.

*1/02/03
  -Fixed another quirk in "Snap to grid" dealing with the snap interval and the starting value.  Anyhow, this fixes it so that
   when "snapping" on parametric and polar graphs it snaps to the same values as is drawn.

*1/03/03
  -v0.10.0 released! I didn't mean to make a minor version of 10, but this release deserved an up in the minor version.
  -I finally changed the zoom so that the higher the zoom factor the higher the zoom.
  -Error message from when entering expressions is again displayed in status bar. (Internally this has been re-done)

*1/15/03
  -Revisited after a little break doing other things...

*1/17/03
  -Certain options/controls can be hidden on 2D graphs
  -Reordered controls in graph window

*1/31/03
  -Unused menus and toolbars are hidden when no graph is opened
  -The expression showed on the graph are now alined one after another when an expression is hidden

*2/01/03
  -Fixed the stat plot icon that had a "freakish" negative bar graph
  -Many minor improvements and touchups as v1.0.0 shapes ups
  
*2/02/03
  -Renamed executable to the more elegant "fung-calc"
  -Added a few command line options such as "--version", "--help", "--verbose", and "--translation-dir"
  
*2/04/03
  -Fixed a bug in displaying errors of expressions parsed by FungParser class
  
*2/06/03
  -v1.0.0 released! This is the big stable 1.0!
  
*2/08/03
  -Cursor coordinates are displayed in seperate widgets on the status bar
  -Created BasicGraphMain widget which performs common tasks for all .ui files.  Strangely, this has SIGNIFICANTLY
   increased run-time performance for all graphs although I don't know why.  It is apparent when dragging the graph
   quickly there is MUCH less drag.
   
*2/13/03
  -Updated all code in 2D graphs that dealt with the status bar to accommodate for the new status bar design
  
*2/15/03
  -Added a new plot: Density Plot -- there only need to be a few changes and this new plot will be ready to go
  
*2/16/03
  -Finished the new density plot :)
  
*2/17/03
  -More improvements and speed enhancements to density plot
  -Cleaned up saving in inteface.ui.h -- now it doesn't need to know each specific kind of graph it is going to be saving and is also faster
  -Did same a GLBasicGraphMain widget as on 2/8/03 only did for all 3D graphs -- also this class and BasicGraphMain now have a common abstract
   base, CommonGraphMain, with a few common functions
  -When setting graph controls such as XMin, YMin, XScale, etc. the text changes to red when invalid entries are given
  -Moved dimensionsChanged() function up the class tree in all 2D graphs to BasiGraphMain base class

*2/18/03
  -Sped up finding active graph in interface.ui.h which it uses to activate certain features (toggle grid/axis/scale/etc., zooms, etc.)
  -v1.1.0 unofficially released
  
*2/25/03
  -Fixed getParsedCurrentExpression() to correctly work for parametric graphs
  -Cleaned up Expression class to use contructor whatcha-ma-call-it
  
*2/27/03
  -Updated to use automake-1.6... This was quite a headache :-(
  -Created MathFunctionImplementor class to allow BasicGraph to inherit it to provide MathFunction capabilities easily to all subclasses.  Things were
   changed so that installMathFunctions must now be called from outside of the class after it is created to active them.

*3/01/03
  -Added a Usage dialog which shows all functions, constants, and operators
  -Changed configure script to look for glu.h and glut.h headers presence  
  
*3/02/03
  -Moved showOptions(bool) up the class tree to CommonGraphMain for both 2D and 3D graphs to use.
  -Updated 3D graphs to updated 2D graphs ui (i.e. Toggling controls, button order) 

*3/08/03
  -Updated all signals/slots of 2D and 3D graphs for all the changes made to the structure of each
  -Updated 3D graphs to handle displaying coordinates while tracing

*-*-*-*-* Took a little break to contribute to Slicker (http://slicker.sourceforge.net) *-*-*-*-*
*-*-*-*-*           ( created the Printer Jobs applet and fixed a few bugs )            *-*-*-*-*
  
*3/29/03 
  -Preliminary coding to support animating graphs... this wasn't near as difficult as planned ( It has been fully implemented internally, although a way to interact is now in progress )
  -Created preliminary animation controls
  -Removed all compiler warnings for unused parameters
  
*3/30/03
  -More on animation controls ( min, max, step, speed )

*4/1/03
  -Put animation controls on a toolbar
  
*4/4/03
  -Fixed a crash when representing numbers using the 'e' notation ( For example, 1.5e-3 )
  
*4/9/03
  -Took all QStatusbar code out of non-gui code
  
*4/12/03
  -Fixed bug when calculating distance using a parametric graphing
  -Touch ups to Expression class
  -Cancel MathFunctions active after removing/adding an expression
  -Calculating the arc length of a parametric curve completed
  -More accurate calculating of distance
  -Other preparations for a pre-release ( v1.2pre1 ) or perhaps final v1.2
  
*4/16/03
  -Modified MathFunctionImplementor to provide functions for adding/getting MathFunctions, as opposed to directly modifying/accessing the vector for holding them.
  -Finally fixed all parsing errors with animator value and 'e' (this is what a release had been waiting on).
  -Added a 'Save All' option, which saves all graphs (which is what the old 'Save' used to do).  Now 'Save' only saves the graph with focus.
  -More sensible tab order for animation parameters dialog
  -Fixed order of coordinates displayed on Status Bar for Density plot
  -seperated icons into seperate .xpm files
  -Created Density Plot icon
  
*4/17/03
  -Updated web site to show new features (not uploaded yet)
  -RPMs now ship with 1mdk suffix
  -Modified MathFunctionImplementor to store MathFunctions in std::map to simplify things.
  
*4/18/03
  -Removed instances of QString ( and changed to const char * ) used in libfungcalc directory to use less Qt
   code here
  -GL code in Expression class not compiled when GLGRAPH isn't defined
  
*4/19/03
  -Yet again more improvments to MathFunction implementation -- now installed MathFunctions are executed by calling execMathFunction( const char * id ),
   where "id" is the name of the function.
   
*4/21/03
  -Finished changing instances of QString to std::string in non-gui code... all looks but but needs testing though just in case
  -v1.2.0 released!  This isn't a perfect release, but I am eager make some improvements that will make things a little unstable,
   but will bring much improvement :)

*4/22/03
  -With that stable release out, I have begun to alter code to store parsed expression in Expression class.
   That way it is not repeatedly parsing an expression that hasn't changed.  When an expression is added or
   removed, all expressions will then be reparsed.
  -drawExpression(QPainter*,FungParser&) changed to drawExpression(QPainter*,Expression&)

*4/26/03
  -I picked up Knoppix 3.1 while at LinuxFest 2003 at Bellingham Technical College.  
   I'm really impressed with it and am finding it really good for testing :-)
  -I fixed a few compile errors (on Knoppix... which means other systems as well) and made it backwards compatible with Qt 3.0.x again.

*4/27/03
  -Fixed some issues in Expression class... it works but needs an overhaul now
  -Completed what I set out to do on 4/22/03... expressions now only parsed when needed.  This speeds
   things up quite a bit such as while animating or dragging the graph.
  -Removed dependency on glut... it's just used if available
  -Animator value (n) is now parsed by FunctionParser instead of being replaced by the value before parsing
  -Made functions "const" in places where appropriate
  -Lots of little touchups here and there
  -Fixed a bug where the command-line argument after "--translation-dir=DIR" was ignored
  -While tracing, a stored parsed expression is used instead of reparsing it after every mouse move
  
*4/29/03
  -Getting things stable again... almost there :-)
  
*4/30/03
  -Changed the way expressions are held in a graph by storing Expression pointers instead of actual objects.
  -Since an Expression held FungParser pointers allocated "new", there needed to be a way to delete them
   but not delete them in copies.  This issue was fixed by giving a parameter telling whether
   it is safe to delete the given FungParser pointers.
  -Removed GLExpressionGraph/ExpressionGraph member functions that got info about an Expression.  Now,
   get the expression from the graph and then any info from that object.
  -It all looks stable... now just a little testing
  
*5/1/03
  -Went through the code doing little things to possibly make it more portable... things that should have
   already been done I suppose. (Changed all NULL's to 0, Removing semicolon after inline functions, etc.)

*5/4/03
  -Updated 3D graphs to some changes already made to 2D graphs.  Graphs emit a signal for the UI to display info on
   this status bar... this'll fix the segfaults associated with this
  -Window toolbar doesn't appear when there are no graphs open
  -Added example animated graphs to samplegraphs.fgc
  -Fixed segfault in StatPlotGraph when using "Stat Zoom on a Scatter Plot with no points
  -Fixed segfault when play/pause/stop is pressed for graphs which don't support it
  -Fixed bug that caused stat plot graphs to silently fail exporting as an image
  -Replaced instances of C-style casting with C++ casts

*5/6/03
  -I installed FreeBSD 5.0 for the first time just to make sure Fung-Calc compiles and works on it.  With
   one little change it is good to go :-)

*5/7/03
  -Fixed an embarassing bug that calculated some trigonometric functions wrong :(
  -Fixed trace bug in Stat Plot
  -v1.2.1 released!  Many "good" bugs fixed :-)

*5/8/03
  -Improved method of adding expressions to a graph.  Uses a ComboBox now.
  
*5/10/03
  -Cleaning up of various things
  
*5/11/03
  -Separated each of Stat Plot's plot types into seperate classes
  
*5/14/03
  -Cleaned up where files were included.  Only classes needed are now included in headers.

*5/15/03
  -I've become enlightened with 3D graphing knowledge and have made several
   major improvements: 
    -Resolution slider works correctly.  However, be careful
     with high resolutions which are now allowed! 
    -Major improvements for rendering of graphs.
    -Zoom in and out now only zooms the viewport and does not alter the x, y,
     and z min/max values.

*5/18/03
  -Added "Auto Rotating" to 3D graphs
  -3D graphing is compiled by default, although it can still be disabled it so
   desired
  -Initial resolution of 3D graphs now matches that of the slider
  
*5/19/03
  -Added DXF export for 3D graphs.  This seems to be working and is tested
   with LX-Viewer 0.99g. It needs more testing, as I was completely unfamiliar
   with the DXF format until today :-)
   
*5/20/03
  -Added animation slider.  Note: this is limited since the slider can only
   be increased/decreased in integer intervals
  -Added animation to 3D graphs
  
*5/22/03
  -Re-did the way 3D graphs are graphed (internally)
  -Improved elevation shading

*5/25/03
  -After several days, I've created a new project home page, giving it a new and friendlier look.
   It'll be uploaded as soon as version 2 is completed.
  -Back to coding... I've improved loading of 3D graphs and also the viewport of 3D graphs is saved
   when saving to file.
  -Added an option to compile as a KDE app
  
*5/26/03
  -More to the web page... now uses a bit of php. Looks complete.
  
*5/27/03
  -More fixes/additions concerning compiling as a KDE app
  -More fixes and completed saving of all available options in saving/loading of 3D graphs
  
*5/28/03
  -Fixed Cylindrical UI which had been displaying widgets with weird spacing
  -Fixed issues with the min/max bounds of tracing while tracing on 3D graphs
  -3D graphs now take into consideration the current value the animator is at
  
*5/29/03
  -Uses KDE's print system when building a KDE app
  -More touchups of KDE application build
  
*5/30/03
  -Updated the Function Parser from v2.2 to v2.4.  This new version is able to parse expressions
   40% faster, has a new Optimize() functions, and adds atan2(A,B)
  -Since Warp is actively updating this library, I've decided to keep my modifications to a 
   minimum.  This just cuts out the log(A,B) function, ln(A) is log(A), and cot(A), sec(A), and csc(A).
  -Minor touchups with animation and icons
  -Added 3D graphs to samplegraphs.fgc
  
*5/31/03
  -Axis of 3D graph are each a different color (red, green, and blue)

*6/01/03
  -Set minimum height of 3D graphs to avoid crash when the height was
   less than 10 pixels
  -Animation info ( min, max, step, etc. ) saved now

*6/02/03
  -Zoom box for 3D graphs doesn't get bigger or smaller as the graph is zoomed in and out
  -Upgraded FunctionParser from v2.4 to v2.5.  For users this just means faster parsing, but
   the internals of my part of the parsing are much improved thanks to this release.
  -Reimplemented stat plot trace for changes made with new PlotModule system
  
*6/8/03
  -Began a documentation handbook written in DocBook.  Contains at least an outline of 
   all the major sections
  
  
Future:  
   Used the FunctionParser's new function AddFunction() to define functions in terms of other
   functions.  This removed my own hackish way of doing it as well as removing the 
   dependency of Qt's QString and QRegExp.

