Commits

Ralph Bean  committed f254838

big namespace refactor

  • Participants
  • Parent commits 9563353

Comments (0)

Files changed (668)

-recursive-include tw2/jquery/plugins/jqplot/static *
-recursive-include tw2/jquery/plugins/jqplot/templates *
+recursive-include tw2/jqplugins/jqplot/static *
+recursive-include tw2/jqplugins/jqplot/templates *
 include README.rst
-tw2.jquery.plugins.jqplot
+tw2.jqplugins.jqplot
 =========================
 
 :Author: Ralph Bean <ralph.bean@gmail.com>
 .. _toscawidgets2 (tw2): http://toscawidgets.org/documentation/tw2.core/
 .. _jqPlot: http://www.jqplot.com/
 
-tw2.jquery.plugins.jqplot is a `toscawidgets2 (tw2)`_ wrapper for `jqPlot`_.
+tw2.jqplugins.jqplot is a `toscawidgets2 (tw2)`_ wrapper for `jqPlot`_.
 
 Live Demo
 ---------
-Peep the `live demonstration <http://craftsman.rc.rit.edu/module?module=tw2.jquery.plugins.jqplot>`_.
+Peep the `live demonstration <http://craftsman.rc.rit.edu/module?module=tw2.jqplugins.jqplot>`_.
 
 Links
 -----
-Get the `source from github <http://github.com/ralphbean/tw2.jquery.plugins.jqplot>`_.
+Get the `source from github <http://github.com/ralphbean/tw2.jqplugins.jqplot>`_.
 
-`PyPI page <http://pypi.python.org/pypi/tw2.jquery.plugins.jqplot>`_
-and `bugs <http://github.com/ralphbean/tw2.jquery.plugins.jqplot/issues/>`_
+`PyPI page <http://pypi.python.org/pypi/tw2.jqplugins.jqplot>`_
+and `bugs <http://github.com/ralphbean/tw2.jqplugins.jqplot/issues/>`_
 
 Description
 -----------
 `jqPlot`_ is a plotting and charting plugin for the jQuery Javascript
 framework. `jqPlot`_ produces beautiful line, bar and pie charts.
 
-This module, tw2.jquery.plugins.jqplot, provides `toscawidgets2 (tw2)`_ access
+This module, tw2.jqplugins.jqplot, provides `toscawidgets2 (tw2)`_ access
 to `jqPlot`_ widgets.
 _extra_mako = ["Mako >= 0.1.1"]
 
 setup(
-    name='tw2.jquery.plugins.jqplot',
-    version='2.0b3',
+    name='tw2.jqplugins.jqplot',
+    version='2.0b4',
     description='toscawidgets2 wrapper for the jqPlot jQuery plugin',
     long_description=long_description,
     author='Ralph Bean',
     author_email='ralph.bean@gmail.com',
     license='MIT',
-    url='http://github.com/ralphbean/tw2.jquery.plugins.jqplot',
+    url='http://github.com/ralphbean/tw2.jqplugins.jqplot',
     install_requires=[
         "tw2.core>=2.0b2",
-        "tw2.jquery.plugins.ui",
+        "tw2.jqplugins.ui",
         ],
     extras_require = {
         'genshi': _extra_genshi,
     entry_points="""
         [tw2.widgets]
         # Register your widgets so they can be listed in the WidgetBrowser
-        widgets = tw2.jquery.plugins.jqplot
+        widgets = tw2.jqplugins.jqplot
     """,
     keywords = [
         'toscawidgets.widgets',

File tw2/jqplugins/__init__.py

+__import__('pkg_resources').declare_namespace(__name__)

File tw2/jqplugins/jqplot/__init__.py

+""" TW2 widget wrapper the jquery ui jqplot
+
+Get the source from http://github.com/ralphbean/tw2.jqplugins.jqplot
+"""
+
+from widgets import *

File tw2/jqplugins/jqplot/base.py

+
+import tw2.core as twc
+import tw2.jquery.base as twjq_c
+import defaults
+
+jqplot_css = twjq_c.jQueryPluginCSSLink(
+    name=defaults._jqplot_name_,
+    version = defaults._jqplot_version_,
+    modname = 'tw2.jqplugins.jqplot',
+    subdir = '',
+)
+jqplot_js = twjq_c.jQueryPluginJSLink(
+    name=defaults._jqplot_name_,
+    version=defaults._jqplot_version_,
+    variant='min',
+    modname='tw2.jqplugins.jqplot',
+    subdir = '',
+)
+jqplot_utils_js = twc.JSLink(
+    modname='tw2.jqplugins.jqplot',
+    filename='static/js/jqplot-utils.js',
+)
+
+
+class JQPlotPluginJSLink(twjq_c.jQueryPluginJSLink):
+    jqplugin = twc.Param('(string) Name of the jqplot plugin')
+    name=defaults._jqplot_name_
+    version=defaults._jqplot_version_
+    variant='min'
+    modname='tw2.jqplugins.jqplot'
+    basename='jqplot.%(jqplugin)s'
+    subdir = 'plugins'
+
+    @property
+    def substitutions(self):
+        subs = super(JQPlotPluginJSLink, self).substitutions
+        subs.update(dict(jqplugin=self.jqplugin))
+        return subs
+
+__all__ = ['jqplot_js', 'jqplot_css', 'jqplot_utils_js']
+
+jqplugins = [
+    'barRenderer',
+    'BezierCurveRenderer',
+    'blockRenderer',
+    'bubbleRenderer',
+    'canvasAxisLabelRenderer',
+    'canvasAxisTickRenderer',
+    'categoryAxisRenderer',
+    'ciParser',
+    'cursor',
+    'dateAxisRenderer',
+    'donutRenderer',
+    'dragable',
+    'enhancedLegendRenderer',
+    'funnelRenderer',
+    'highlighter',
+    'json2',
+    'logAxisRenderer',
+    'mekkoAxisRenderer',
+    'mekkoRenderer',
+    'meterGaugeRenderer',
+    'ohlcRenderer',
+    'pieRenderer',
+    'pointLabels',
+    'trendline',
+]
+
+jqplugins_links = dict(
+    [("%s_js" % jqp, JQPlotPluginJSLink(jqplugin=jqp)) for jqp in jqplugins])
+
+locals().update(**jqplugins_links)
+__all__.extend(jqplugins_links.keys())

File tw2/jqplugins/jqplot/defaults.py

+_jqplot_version_    = '0.9.7r635'
+_jqplot_name_       = 'jqplot'

File tw2/jqplugins/jqplot/samples.py

+"""
+Here you can create samples of your widgets by providing default parameters,
+inserting them in a container widget, mixing them with other widgets, etc...
+These samples will appear in the WidgetBrowser
+
+See http://toscawidgets.org/documentation/WidgetBrowser for more information
+"""
+
+import tw2.core as twc
+from tw2.core.resources import encoder
+
+from widgets import JQPlotWidget, PollingJQPlotWidget
+from base import dateAxisRenderer_js
+
+from random import random
+from random import randint
+from math import sin, cos
+
+from time import time
+
+def find_bounds(data):
+    minx = min( [min( [point[0] for point in series] ) for series in data])
+    maxx = max( [max( [point[0] for point in series] ) for series in data])
+    miny = min( [min( [point[1] for point in series] ) for series in data])
+    maxy = max( [max( [point[1] for point in series] ) for series in data])
+    miny -= 0.1
+    maxy += 0.1
+    return minx, maxx, miny, maxy
+
+def make_data():
+    """ Sin of the times! """
+    now = int(time())
+    n = 20.0
+    tsteps = 100
+    tspan = range(now-tsteps, now)
+    series1 = [[i*1000,sin(i/n)] for i in tspan]
+    series2 = [[i*1000,abs(sin(i/n))**((i%(2*n))/n)] for i in tspan]
+    series3 = [[i*1000,cos(i/(n+1))*1.5] for i in tspan]
+    series4 = [[series2[i][0], series2[i][1] * series3[i][1]]
+               for i in range(len(series3))]
+    data = [series1, series2, series3,series4]
+    return data
+
+data = make_data()
+
+class DemoJQPlotWidget(JQPlotWidget):
+    def prepare(self):
+        self.resources.append(dateAxisRenderer_js)
+        super(DemoJQPlotWidget, self).prepare()
+
+    data = data
+    options = {
+        'legend' : { 'show' : True },
+        'title' : 'Sine of the times (tw2)',
+        'series' : [ {'showMarker' : False} for d in data ],
+        'axes' : {
+            'xaxis' : {
+                'renderer' : twc.JSSymbol('$.jqplot.DateAxisRenderer'),
+                'tickOptions' : {
+                    'formatString' : '%T'
+                },
+            },
+        },
+    }
+
+class DemoPollingJQPlotWidget(PollingJQPlotWidget):
+    def prepare(self):
+        self.resources.append(dateAxisRenderer_js)
+        super(DemoPollingJQPlotWidget, self).prepare()
+
+    url = '/jqplot_datasource/'
+    url_kwargs = {}
+    interval = 2000
+
+    data = data
+    options = {
+        'legend' : { 'show' : True },
+        'title' : '(Polling) Sine of the times (tw2)',
+        'series' : [ {'showMarker' : False} for d in data ],
+        'axes' : {
+            'xaxis' : {
+                'renderer' : twc.JSSymbol('$.jqplot.DateAxisRenderer'),
+                'tickOptions' : {
+                    'formatString' : '%T'
+                },
+            },
+        },
+    }
+
+    @classmethod
+    def request(cls, req):
+        import webob
+        data = make_data()
+        minx, maxx, miny, maxy = find_bounds(data)
+        options = {
+            'axes' : {
+                'xaxis' : { 'min' : minx, 'max' : maxx },
+                'yaxis' : { 'min' : miny, 'max' : maxy },
+            }
+        }
+        json = encoder.encode(dict(data=data, options=options))
+        return webob.Response(json, content_type="application/json")
+
+
+# Register the widget's controller
+import tw2.core as twc
+mw = twc.core.request_local()['middleware']
+mw.controllers.register(DemoPollingJQPlotWidget, 'jqplot_datasource')
+
+

File tw2/jqplugins/jqplot/static/jquery/plugins/jqplot/0.9.7r635/MIT-LICENSE.txt

+Title: MIT License
+
+Copyright (c) 2009 - 2010 Chris Leonello
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

File tw2/jqplugins/jqplot/static/jquery/plugins/jqplot/0.9.7r635/README.txt

+Title: jqPlot Readme
+
+Pure JavaScript plotting plugin for jQuery.
+
+Copyright (c) 2009 - 2010 Chris Leonello
+jqPlot is currently available for use in all personal or commercial projects 
+under both the MIT and GPL version 2.0 licenses. This means that you can 
+choose the license that best suits your project and use it accordingly. 
+
+Although not required, the author would appreciate an email letting him 
+know of any substantial use of jqPlot.  You can reach the author at: 
+chris at jqplot  or see http://www.jqplot.com/info.php .
+
+If you are feeling kind and generous, consider supporting the project by
+making a donation at: http://www.jqplot.com/donate.php .
+
+jqPlot includes date instance methods and printf/sprintf functions by other authors:
+
+Date instance methods:
+
+    author Ken Snyder (ken d snyder at gmail dot com)
+    date 2008-09-10
+    version 2.0.2 (http://kendsnyder.com/sandbox/date/)     
+    license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)
+
+JavaScript printf/sprintf functions.
+
+    version 2007.04.27
+    author Ash Searle
+    http://hexmen.com/blog/2007/03/printf-sprintf/
+    http://hexmen.com/js/sprintf.js
+    The author (Ash Searle) has placed this code in the public domain:
+    "This code is unrestricted: you are free to use it however you like."
+
+To learn how to use jqPlot, start with the Basic Unsage Instructions below.  Then read the
+usage.txt and jqPlotOptions.txt files included with the distribution.
+
+The jqPlot home page is at <http://www.jqplot.com/>.
+
+Downloads can be found at <http://bitbucket.org/cleonello/jqplot/downloads/>.
+
+The mailing list is at <http://groups.google.com/group/jqplot-users>.
+
+Examples and unit tests are at <http://www.jqplot.com/tests/>.
+
+Documentation is at <http://www.jqplot.com/docs/>.
+
+The project page and source code are at <http://www.bitbucket.org/cleonello/jqplot/>.
+
+Bugs, issues, feature requests: <http://www.bitbucket.org/cleonello/jqplot/issues/>.
+
+Basic Usage Instructions:
+
+jqPlot requires jQuery (1.4+ required for certain features). jQuery 1.4.1 is included in 
+the distribution.  To use jqPlot include jQuery, the jqPlot jQuery plugin, the jqPlot css file and 
+optionally the excanvas script for IE support in your web page...
+
+> <!--[if IE]><script language="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
+> <script language="javascript" type="text/javascript" src="jquery-1.4.2.min.js"></script>
+> <script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script>
+> <link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
+
+For usage instructions, see <jqPlot Usage> in usage.txt.  For available options, see
+<jqPlot Options> in jqPlotOptions.txt.
+
+Building from source:
+
+To build a distribution from source you need to have ant <http://ant.apache.org> 
+installed.  There are 6 targets: clean, dist, min, tests, docs and all.  Use
+
+> ant -p
+
+to get a description of the various build targets. 

File tw2/jqplugins/jqplot/static/jquery/plugins/jqplot/0.9.7r635/changes.txt

+Title: Change Log
+
+0.9.7:
+
+* Added Mekko chart plot type with enhanced legend and axes support.
+* Implemented vertical waterfall charts.  Can create waterfall plot as
+  option to bar chart.  See examples folder of distribution.
+* Enhanced plot labels for waterfall style.
+* Enhanced bar plots so you can now color each bar of a series 
+  independently with the "varyBarColor" option.
+* Refactored series drawing so that each series and series shadow drawn
+  on it's own canvas.  Allows series to be redrawn independently of each other.
+* Added additional default series colors.
+* Aded useNegativeColors option to turn off negative color array and use 
+  only seriesColors array to define all bar/filled line colors.
+* Fix css for cursor legend.
+* Modified shape renderer so rectangles can be stroked and filled.
+* Refactored date methods out of dateAxisRenderer so that date formatter 
+  and methods can be accesses outside of dateAxisRenderer plugin.
+* Fixed #132, now trigger series change event on plot target instead of drag canvas.
+* Fixes issue #116 where some source files had mix of tabs and spaces 
+  for indentation.  Should have been all spaces.
+* Fixed issue #126, some links broken in docs section of web site.
+* Fixed issue #90, trendline plugin incompatibility with pie renderer.
+* Updated samples in examples folder of distribution to include navigation 
+  links if web server is set up to process .html files with php.
+
+
+0.9.6:
+
+* New, easier to use, replot() method for placing plots in tabs, accordions,
+  resizable containers or for changing plot parameters programmatically.
+* Updated legend renderer for pie charts to draw swatches which will
+  print correctly.
+* Fixed issue #118 with patch from taum so autoscale option will
+  honor tickInterval and numberTicks options
+* Fix to plot diameter calculation for initially hidden plots.
+* Added examples for making plots in jQuery UI tabs and accordions.
+* Fixed issue #120 where pie chart with single slice not displaying
+  correctly in IE and Chrome
+
+
+0.9.5.2:
+
+* Fixed #102 where double clicking on plot that has zoom enabled, but
+  has not been zoomed resulted in error.
+* Fixed bug where candlestick coloring options not working.
+* Added option to turn individual series labels off in the legend.
+
+
+0.9.5.1:
+
+* Fixed bug where tooltip not working with OHLC and candlestick charts.
+* Added additional marker styles: plus, X and dash.
+
+
+0.9.5:
+
+* Implemented "zoomProxy".  zoomProxy allows zooming one plot from another 
+  such as an overview plot.
+* Zooming can now be constrained to just x or y axis.
+* Enhanced cursor plugin with vertical "dataTracking" line.  This is a line
+  at the cursor location with a readout of data points at the line location
+  which are displayed in the chart legend.
+* Changed cursor tooltip format string.  Now one format string is used for
+  entire tooptip.
+* Added mechanisms to specify plot size when plot target is hidden or plot
+  height/width otherwise cannot be determined from markup.
+* Added $.jqplot.config object to specify jqplot wide configuraiton options.
+  These include enablePlugins to globally set the default plugin state on/off
+  and defaultHeight/defaultWidth to specify default plot height/width.
+* Added fillToZero option which forces filled charts to fill to zero as opposed
+  to axis minimum.  Thus negative filled bar/line values will fill upwards to
+  zero axis value.
+* Added option to disable stacking on individual lines.
+* Changed targetId property of the plot object so it now includes a "#" before
+  the id string.
+* Improved tick and body sizing of Open Hi Low Close and candlestick charts.
+* Removed lots of web site related files from the repository.  This means that,
+  if working from the sources, user's won't be able to build the jqplot web
+  site and the docs/tests that are hosted on that site.  The minified and
+  compressed  distribution packages will build fine.
+* Lots of examples were added to a separate examples directory to better show
+  functionality of jqPlot for local testing with the distribution.
+* Many various bug fixes and other minor enhancements.
+
+
+0.9.4:
+
+* Implemented axis labels.  Labels can be rendered in div tags or as canvas 
+  elements supporting rotated text.
+* Improved rotated axis label positioning so labels will start or end at a
+  tick position.
+* Fixed bug where an empty data series would hang plot rendering.
+* completed issue #66 for misc. improvements to documentation.
+* Fixed issue #64 where the same ID's were assigned to cursor and highlighter
+  elements.
+* Added option to legend to encode special HTML characters.
+* Fixed undesirable behavior where point labels for points off the plot
+  were being rendered.
+* Added edgeTolerance option to point label renderer to control rendering of 
+  labels near plot edges.
+
+
+0.9.3:
+
+* Preliminary support for axis labels.  Currently rendered into DIV tags,
+  so no ratated label support.  This feature is currently expreimental.
+* Fixed bug #52, needed space in tick div tag between style and class declarations 
+  or plot failed in certain application doctypes.
+* Fixed issue #54, miter style line join for chart lines causing spikes at steep 
+  changes in slope.  Changed miter style to round.
+* Added examples for new autoscaling algorithm.
+* Fixed bug #57, category axis labels disappear on redraw()
+* Improved algorithm which controlled maximum number of labels that would display
+  on a category axis.
+* Fixed bug #45 where null values causing errors in plotData and gridData.
+* Fixed issue #60 where seriesColors option was not working.
+
+
+0.9.2:
+
+* Fixed bug #45 where a plot could crash if series had different numbers of points.
+* Fixed issue #50, added option to turn off sorting of series data. 
+* Fixed issue #31, implemented a better axis autoscaling algorithm and added an autoscale option.
+
+0.9.1:
+
+* Fixed bug #40, when axis pad, padMax, padMin set to 0, graph would fail to render.
+* Fixed bug #41 where pie and bar charts not rendered correctly on redraw().
+* Fixed bug #11, filled stacked line plots not rendering correctly in IE.
+* Fixed bug #42 where stacked charts not rendering with string date axis ticks.
+* Fixed bug in redraw() method where axes ticks were not reset.
+* Fixed "jqplotPreRedrawEvent" that should have been named "jqplotPostRedraw" event.
+
+0.9.0:
+
+* Added Open Hi Low Close charts, Candlestick charts and Hi Low Close charts.
+* Added support for arbitrary labels on the data points.
+* Enhanced highlighter plugin to allow custom formatting control of entire tooltip.
+* Enhanced highlighter to support multiple y values in a data point.
+* Fixed bug #38 where series with a single point with a negative value would fail.
+* Improvements to examples to show what plugins to include.
+* Expanded documentation for some of the plugins.
+
+0.8.5:
+
+* Added zooming ability with double click or single click options to reset zoom.
+* Modified default tick spacing algorithm for date axes to give more space to ticks.
+* Fixed bug #2 where tickInterval wasn't working properly.
+* Added neighborThreshold option to control how close mouse must be to 
+  point to trigger neighbor detection.
+* Added double click event handler on plot.
+
+0.8.0:
+
+* Support for up to 9 y axes.
+* Added option to control padding at max/min bounds of axes separately.
+* Closed issue #21, added options to control grid line color and width.
+* Closed issue #20, added options to filled line charts to stoke above 
+  fill and customize fill color and transparency.
+* Improved structure of on line documentation to make usage and options 
+  docs default.
+* Added much documentation on options and css styling.
+
+0.7.1:
+
+* Bug fix release
+* Fixed bug #6, missing semi-colons messing up some javascript compressors.
+* Fixed bug #13 where 2D ticks array of [values, labels] would fail to 
+  renderer with DateAxisRenderer.
+* Fixes bug #16 where pie renderer overwriting options for all plot types 
+  and crashing non pie plots.
+* Fixes bug #17 constrainTo dragable option mispelled as "contstrainTo".  
+  Fixed dragable color issue when used with trend lines.
+
+0.7.0:
+
+* Pie chart support
+* Enabled tooltipLocation option in highlighter. 
+* Highlighter Tooltip will account for mark size and highlight size when 
+  positioning itself. 
+* Added ability to show just x, y or both axes in highlighter tooltip.
+* Added customization of separator between axes values in highlighter tooltip.
+* Modified how shadows are drawn for lines, bars and markers.  Now drawn first, 
+  so they are always behind the object.
+* Adjustments to shadow parameters on lines to account for new shadow positioning.
+* Added a ColorGenerator class to robustly return next available color 
+  for a plot with wrap around to first color at end.
+* Udates to docs about css file.
+* Fixed bug with String x values in series and IE error on sorting (Category Axis).
+* Added cursor changes in dragable plugin when cursor near dragable point.
+
+0.6.6b:
+
+* Added excanvas.js and excanvas.min.js to compressed distributions.
+* Added example/test html pages I had locally into repository and to 
+  compressed distributions.
+
+0.6.6a:
+
+* Removed absolute positioning from dom element and put back into css file.
+* Duplicate of 0.6.6 with a suffix to unambiguously differentiate between 
+  previously posted 0.6.6 release.
+
+0.6.6:
+
+* Fixed bug #5, trend line plugin failing when no trend line options specified.
+* Added absolute position css spec to axis tick dom element.
+* Enhancement to category axes, more intuitive handling of series with 
+  missing data values.
+
+0.6.5:
+
+* Fixed bug #4, series of unequal data length not rendering correctly.  
+  This is a bugfix release only.
+
+0.6.4:
+
+* Fixed bug (issue #1 in tracker) where flat line data series (all x and/or y 
+  values are euqal) or single value data series would crash.
+
+0.6.3:
+
+* Support for stacked line (a.k.a. area) and stacked bar (horizontal and 
+  vertical) charts.
+* Refactored barRenderer to use default shape and shadow renderers.
+* Added info (contacts & support information) page to web site.
+
+0.6.2:
+
+* This is a minor upgrade to docs and build only.  No functionality has changed.
+* Ant build script generates entire site, examples, tests and distribution.
+* Improvements to documentation.
+
+0.6.1:
+
+* New sprintf implementation from Ash Searle that implements %g.
+* Fix to sprintf e/f formats.
+* Created new format specifier, %p and %P to preserve significance.
+* Modified p/P format to better display larger numbers.
+* Fixed and simplified significant digits calculation for sprintf.
+* Added option to have cursor tooltip follow the mouse or not.
+* Added options to change size of highlight.
+* Updates to handle dates like '6-May-09'.
+* Mods to improve look of web site.
+* Updates to documentation.
+* Added license and copyright statement to source files.
+
+0.6.0:
+
+* Added rotated text support.  Uses native canvas text functionality in 
+  browsers that support it or draws text on canvas with Hershey font
+* metrics for non-supporting browsers.
+* Removed lots of lint in js code.
+* Moved tick css from js code into css file.
+* Fix to tick positioning css.  y axis ticks were positioned to wrong side of axis div.
+* Refactored axis tick renderer instantiation into the axes renderers themselves.
+
+
+For chnages prior to 0.6.0 release, please see change log at http://bitbucket.org/cleonello/jqplot/changesets/

File tw2/jqplugins/jqplot/static/jquery/plugins/jqplot/0.9.7r635/copyright.txt

+/**
+ * Copyright (c) 2009 - 2010 Chris Leonello
+ * jqPlot is currently available for use in all personal or commercial projects 
+ * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL 
+ * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can 
+ * choose the license that best suits your project and use it accordingly. 
+ *
+ * Although not required, the author would appreciate an email letting him 
+ * know of any substantial use of jqPlot.  You can reach the author at: 
+ * chris at jqplot  or see http://www.jqplot.com/info.php .
+ *
+ * If you are feeling kind and generous, consider supporting the project by
+ * making a donation at: http://www.jqplot.com/donate.php .
+ *
+ * jqPlot includes date instance methods and printf/sprintf functions by other authors:
+ *
+ * Date instance methods contained in jqplot.dateMethods.js:
+ *
+ *     author Ken Snyder (ken d snyder at gmail dot com)
+ *     date 2008-09-10
+ *     version 2.0.2 (http://kendsnyder.com/sandbox/date/)     
+ *     license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)
+ *
+ * JavaScript printf/sprintf functions contained in jqplot.sprintf.js:
+ *
+ *     version 2007.04.27
+ *     author Ash Searle
+ *     http://hexmen.com/blog/2007/03/printf-sprintf/
+ *     http://hexmen.com/js/sprintf.js
+ *     The author (Ash Searle) has placed this code in the public domain:
+ *     "This code is unrestricted: you are free to use it however you like."
+ * 
+ */

File tw2/jqplugins/jqplot/static/jquery/plugins/jqplot/0.9.7r635/docs/files/MIT-LICENSE-txt.html

+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>MIT License</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><div class="CTitle logo"><div class="nav"><a class="nav" href="../../index.php"><span>&gt;</span>Home</a><a class="nav"  href="../../tests/"><span>&gt;</span>Examples</a><a class="nav"  href="../../docs/"><span>&gt;</span>Docs</a><a class="nav"  href="http://bitbucket.org/cleonello/jqplot/downloads/"><span>&gt;</span>Download</a><a class="nav" href="../../info.php"><span>&gt;</span>Info</a><a class="nav"  href="../../donate.php"><span>&gt;</span>Donate</a></div><a name="MIT_License"></a>MIT License</div><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Copyright &copy; 2009</td><td class=CDLDescription>2010 Chris Leonello</td></tr></table><p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &ldquo;Software&rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p><p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p><p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.&nbsp; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer>Copyright &copy; 2009 - 2010 Chris Leonello&nbsp; &middot;&nbsp; Updated November 4th, 2010&nbsp; &middot;&nbsp; <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Usage and Options</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="usage-txt.html">Usage</a></div></div><div class=MEntry><div class=MFile><a href="jqPlotOptions-txt.html">jqPlot Options</a></div></div><div class=MEntry><div class=MFile><a href="optionsTutorial-txt.html">Options Tutorial</a></div></div><div class=MEntry><div class=MFile><a href="jqPlotCssStyling-txt.html">jqPlot CSS Customization</a></div></div><div class=MEntry><div class=MFile><a href="changes-txt.html">Change Log</a></div></div><div class=MEntry><div class=MLink><a href="../../tests/">Examples</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">API Documentation</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="jqplot-core-js.html">jqPlot Charts</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Core Renderers</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="jqplot-axisTickRenderer-js.html">AxisTickRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-canvasGridRenderer-js.html">CanvasGridRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-divTitleRenderer-js.html">DivTitleRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-linearAxisRenderer-js.html">LinearAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-markerRenderer-js.html">MarkerRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-shapeRenderer-js.html">ShapeRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-shadowRenderer-js.html">ShadowRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-lineRenderer-js.html">Line Renderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-axisLabelRenderer-js.html">AxisLabelRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-themeEngine-js.html">ThemeEngine</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Plugins</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="plugins/jqplot-barRenderer-js.html">BarRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-BezierCurveRenderer-js.html">BezierCurveRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-blockRenderer-js.html">BlockRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-bubbleRenderer-js.html">BubbleRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-canvasAxisLabelRenderer-js.html">CanvasAxisLabelRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-canvasAxisTickRenderer-js.html">CanvasAxisTickRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-categoryAxisRenderer-js.html">CategoryAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-ciParser-js.html">ciParser</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-cursor-js.html">Cursor</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-dateAxisRenderer-js.html">DateAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-donutRenderer-js.html">DonutRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-dragable-js.html">Dragable</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-enhancedLegendRenderer-js.html">EnhancedLegendRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-funnelRenderer-js.html">FunnelRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-highlighter-js.html">Highlighter</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-logAxisRenderer-js.html">LogAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-mekkoAxisRenderer-js.html">MekkoAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-mekkoRenderer-js.html">MekkoRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-meterGaugeRenderer-js.html">MeterGaugeRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-ohlcRenderer-js.html">OHLCRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-pieRenderer-js.html">PieRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-pointLabels-js.html">PointLabels</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-trendline-js.html">Trendline</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gpl-2-0-txt.html">GPL License</a></div></div><div class=MEntry><div class=MFile id=MSelected>MIT License</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Index</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Properties.html">Properties</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Hooks.html">Hooks</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Hooks">Hooks</option><option value="Properties">Properties</option></select></div><script language=JavaScript><!--
+HideAllBut([1, 4, 5], 6);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>

File tw2/jqplugins/jqplot/static/jquery/plugins/jqplot/0.9.7r635/docs/files/changes-txt.html

+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Change Log</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!--  Generated by Natural Docs, version 1.4 -->
+<!--  http://www.naturaldocs.org  -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><div class="CTitle logo"><div class="nav"><a class="nav" href="../../index.php"><span>&gt;</span>Home</a><a class="nav"  href="../../tests/"><span>&gt;</span>Examples</a><a class="nav"  href="../../docs/"><span>&gt;</span>Docs</a><a class="nav"  href="http://bitbucket.org/cleonello/jqplot/downloads/"><span>&gt;</span>Download</a><a class="nav" href="../../info.php"><span>&gt;</span>Info</a><a class="nav"  href="../../donate.php"><span>&gt;</span>Donate</a></div><a name="Change_Log"></a>Change Log</div><div class=CBody><h4 class=CHeading>0.9.7</h4><ul><li>Added Mekko chart plot type with enhanced legend and axes support.</li><li>Implemented vertical waterfall charts.&nbsp;  Can create waterfall plot as option to bar chart.&nbsp;  See examples folder of distribution.</li><li>Enhanced plot labels for waterfall style.</li><li>Enhanced bar plots so you can now color each bar of a series independently with the &ldquo;varyBarColor&rdquo; option.</li><li>Refactored series drawing so that each series and series shadow drawn on it&rsquo;s own canvas.&nbsp;  Allows series to be redrawn independently of each other.</li><li>Added additional default series colors.</li><li>Aded useNegativeColors option to turn off negative color array and use only seriesColors array to define all bar/filled line colors.</li><li>Fix css for cursor legend.</li><li>Modified shape renderer so rectangles can be stroked and filled.</li><li>Refactored date methods out of dateAxisRenderer so that date formatter and methods can be accesses outside of dateAxisRenderer plugin.</li><li>Fixed #132, now trigger series change event on plot target instead of drag canvas.</li><li>Fixes issue #116 where some source files had mix of tabs and spaces for indentation.&nbsp;  Should have been all spaces.</li><li>Fixed issue #126, some links broken in docs section of web site.</li><li>Fixed issue #90, trendline plugin incompatibility with pie renderer.</li><li>Updated samples in examples folder of distribution to include navigation links if web server is set up to process .html files with php.</li></ul><h4 class=CHeading>0.9.6</h4><ul><li>New, easier to use, replot() method for placing plots in tabs, accordions, resizable containers or for changing plot parameters programmatically.</li><li>Updated legend renderer for pie charts to draw swatches which will print correctly.</li><li>Fixed issue #118 with patch from taum so autoscale option will honor tickInterval and numberTicks options</li><li>Fix to plot diameter calculation for initially hidden plots.</li><li>Added examples for making plots in jQuery UI tabs and accordions.</li><li>Fixed issue #120 where pie chart with single slice not displaying correctly in IE and Chrome</li></ul><h4 class=CHeading>0.9.5.2</h4><ul><li>Fixed #102 where double clicking on plot that has zoom enabled, but has not been zoomed resulted in error.</li><li>Fixed bug where candlestick coloring options not working.</li><li>Added option to turn individual series labels off in the legend.</li></ul><h4 class=CHeading>0.9.5.1</h4><ul><li>Fixed bug where tooltip not working with OHLC and candlestick charts.</li><li>Added additional marker styles: plus, X and dash.</li></ul><h4 class=CHeading>0.9.5</h4><ul><li>Implemented &ldquo;zoomProxy&rdquo;.&nbsp;  zoomProxy allows zooming one plot from another such as an overview plot.</li><li>Zooming can now be constrained to just x or y axis.</li><li>Enhanced cursor plugin with vertical &ldquo;dataTracking&rdquo; line.&nbsp;  This is a line at the cursor location with a readout of data points at the line location which are displayed in the chart legend.</li><li>Changed cursor tooltip format string.&nbsp;  Now one format string is used for entire tooptip.</li><li>Added mechanisms to specify plot size when plot target is hidden or plot height/width otherwise cannot be determined from markup.</li><li>Added $.jqplot.config object to specify jqplot wide configuraiton options.&nbsp; These include enablePlugins to globally set the default plugin state on/off and defaultHeight/defaultWidth to specify default plot height/width.</li><li>Added fillToZero option which forces filled charts to fill to zero as opposed to axis minimum.&nbsp;  Thus negative filled bar/line values will fill upwards to zero axis value.</li><li>Added option to disable stacking on individual lines.</li><li>Changed targetId property of the plot object so it now includes a &ldquo;#&rdquo; before the id string.</li><li>Improved tick and body sizing of Open Hi Low Close and candlestick charts.</li><li>Removed lots of web site related files from the repository.&nbsp;  This means that, if working from the sources, user&rsquo;s won&rsquo;t be able to build the jqplot web site and the docs/tests that are hosted on that site.&nbsp;  The minified and compressed  distribution packages will build fine.</li><li>Lots of examples were added to a separate examples directory to better show functionality of jqPlot for local testing with the distribution.</li><li>Many various bug fixes and other minor enhancements.</li></ul><h4 class=CHeading>0.9.4</h4><ul><li>Implemented axis labels.&nbsp;  Labels can be rendered in div tags or as canvas elements supporting rotated text.</li><li>Improved rotated axis label positioning so labels will start or end at a tick position.</li><li>Fixed bug where an empty data series would hang plot rendering.</li><li>completed issue #66 for misc. improvements to documentation.</li><li>Fixed issue #64 where the same ID&rsquo;s were assigned to cursor and highlighter elements.</li><li>Added option to legend to encode special HTML characters.</li><li>Fixed undesirable behavior where point labels for points off the plot were being rendered.</li><li>Added edgeTolerance option to point label renderer to control rendering of labels near plot edges.</li></ul><h4 class=CHeading>0.9.3</h4><ul><li>Preliminary support for axis labels.&nbsp;  Currently rendered into DIV tags, so no ratated label support.&nbsp;  This feature is currently expreimental.</li><li>Fixed bug #52, needed space in tick div tag between style and class declarations or plot failed in certain application doctypes.</li><li>Fixed issue #54, miter style line join for chart lines causing spikes at steep changes in slope.&nbsp;  Changed miter style to round.</li><li>Added examples for new autoscaling algorithm.</li><li>Fixed bug #57, category axis labels disappear on redraw()</li><li>Improved algorithm which controlled maximum number of labels that would display on a category axis.</li><li>Fixed bug #45 where null values causing errors in plotData and gridData.</li><li>Fixed issue #60 where seriesColors option was not working.</li></ul><h4 class=CHeading>0.9.2</h4><ul><li>Fixed bug #45 where a plot could crash if series had different numbers of points.</li><li>Fixed issue #50, added option to turn off sorting of series data.</li><li>Fixed issue #31, implemented a better axis autoscaling algorithm and added an autoscale option.</li></ul><h4 class=CHeading>0.9.1</h4><ul><li>Fixed bug #40, when axis pad, padMax, padMin set to 0, graph would fail to render.</li><li>Fixed bug #41 where pie and bar charts not rendered correctly on redraw().</li><li>Fixed bug #11, filled stacked line plots not rendering correctly in IE.</li><li>Fixed bug #42 where stacked charts not rendering with string date axis ticks.</li><li>Fixed bug in redraw() method where axes ticks were not reset.</li><li>Fixed &ldquo;jqplotPreRedrawEvent&rdquo; that should have been named &ldquo;jqplotPostRedraw&rdquo; event.</li></ul><h4 class=CHeading>0.9.0</h4><ul><li>Added Open Hi Low Close charts, Candlestick charts and Hi Low Close charts.</li><li>Added support for arbitrary labels on the data points.</li><li>Enhanced highlighter plugin to allow custom formatting control of entire tooltip.</li><li>Enhanced highlighter to support multiple y values in a data point.</li><li>Fixed bug #38 where series with a single point with a negative value would fail.</li><li>Improvements to examples to show what plugins to include.</li><li>Expanded documentation for some of the plugins.</li></ul><h4 class=CHeading>0.8.5</h4><ul><li>Added zooming ability with double click or single click options to reset zoom.</li><li>Modified default tick spacing algorithm for date axes to give more space to ticks.</li><li>Fixed bug #2 where tickInterval wasn&rsquo;t working properly.</li><li>Added neighborThreshold option to control how close mouse must be to point to trigger neighbor detection.</li><li>Added double click event handler on plot.</li></ul><h4 class=CHeading>0.8.0</h4><ul><li>Support for up to 9 y axes.</li><li>Added option to control padding at max/min bounds of axes separately.</li><li>Closed issue #21, added options to control grid line color and width.</li><li>Closed issue #20, added options to filled line charts to stoke above fill and customize fill color and transparency.</li><li>Improved structure of on line documentation to make usage and options docs default.</li><li>Added much documentation on options and css styling.</li></ul><h4 class=CHeading>0.7.1</h4><ul><li>Bug fix release</li><li>Fixed bug #6, missing semi-colons messing up some javascript compressors.</li><li>Fixed bug #13 where 2D ticks array of [values, labels] would fail to renderer with DateAxisRenderer.</li><li>Fixes bug #16 where pie renderer overwriting options for all plot types and crashing non pie plots.</li><li>Fixes bug #17 constrainTo dragable option mispelled as &ldquo;contstrainTo&rdquo;.&nbsp; Fixed dragable color issue when used with trend lines.</li></ul><h4 class=CHeading>0.7.0</h4><ul><li>Pie chart support</li><li>Enabled tooltipLocation option in highlighter.</li><li>Highlighter Tooltip will account for mark size and highlight size when positioning itself.</li><li>Added ability to show just x, y or both axes in highlighter tooltip.</li><li>Added customization of separator between axes values in highlighter tooltip.</li><li>Modified how shadows are drawn for lines, bars and markers.&nbsp;  Now drawn first, so they are always behind the object.</li><li>Adjustments to shadow parameters on lines to account for new shadow positioning.</li><li>Added a ColorGenerator class to robustly return next available color for a plot with wrap around to first color at end.</li><li>Udates to docs about css file.</li><li>Fixed bug with String x values in series and IE error on sorting (Category Axis).</li><li>Added cursor changes in dragable plugin when cursor near dragable point.</li></ul><h4 class=CHeading>0.6.6b</h4><ul><li>Added excanvas.js and excanvas.min.js to compressed distributions.</li><li>Added example/test html pages I had locally into repository and to compressed distributions.</li></ul><h4 class=CHeading>0.6.6a</h4><ul><li>Removed absolute positioning from dom element and put back into css file.</li><li>Duplicate of 0.6.6 with a suffix to unambiguously differentiate between previously posted 0.6.6 release.</li></ul><h4 class=CHeading>0.6.6</h4><ul><li>Fixed bug #5, trend line plugin failing when no trend line options specified.</li><li>Added absolute position css spec to axis tick dom element.</li><li>Enhancement to category axes, more intuitive handling of series with missing data values.</li></ul><h4 class=CHeading>0.6.5</h4><ul><li>Fixed bug #4, series of unequal data length not rendering correctly.&nbsp; This is a bugfix release only.</li></ul><h4 class=CHeading>0.6.4</h4><ul><li>Fixed bug (issue #1 in tracker) where flat line data series (all x and/or y values are euqal) or single value data series would crash.</li></ul><h4 class=CHeading>0.6.3</h4><ul><li>Support for stacked line (a.k.a. area) and stacked bar (horizontal and vertical) charts.</li><li>Refactored barRenderer to use default shape and shadow renderers.</li><li>Added info (contacts &amp; support information) page to web site.</li></ul><h4 class=CHeading>0.6.2</h4><ul><li>This is a minor upgrade to docs and build only.&nbsp;  No functionality has changed.</li><li>Ant build script generates entire site, examples, tests and distribution.</li><li>Improvements to documentation.</li></ul><h4 class=CHeading>0.6.1</h4><ul><li>New sprintf implementation from Ash Searle that implements %g.</li><li>Fix to sprintf e/f formats.</li><li>Created new format specifier, %p and %P to preserve significance.</li><li>Modified p/P format to better display larger numbers.</li><li>Fixed and simplified significant digits calculation for sprintf.</li><li>Added option to have cursor tooltip follow the mouse or not.</li><li>Added options to change size of highlight.</li><li>Updates to handle dates like &lsquo;6-May-09&rsquo;.</li><li>Mods to improve look of web site.</li><li>Updates to documentation.</li><li>Added license and copyright statement to source files.</li></ul><h4 class=CHeading>0.6.0</h4><ul><li>Added rotated text support.&nbsp;  Uses native canvas text functionality in browsers that support it or draws text on canvas with Hershey font</li><li>metrics for non-supporting browsers.</li><li>Removed lots of lint in js code.</li><li>Moved tick css from js code into css file.</li><li>Fix to tick positioning css.&nbsp;  y axis ticks were positioned to wrong side of axis div.</li><li>Refactored axis tick renderer instantiation into the axes renderers themselves.</li></ul><p>For chnages prior to 0.6.0 release, please see change log at <a href="http://bitbucket.org/cleonello/jqplot/changesets/" class=LURL target=_top>http://bitbucket.org/cleonello/jqplot/changesets/</a></p></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer>Copyright &copy; 2009 - 2010 Chris Leonello&nbsp; &middot;&nbsp; Updated November 4th, 2010&nbsp; &middot;&nbsp; <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Usage and Options</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="usage-txt.html">Usage</a></div></div><div class=MEntry><div class=MFile><a href="jqPlotOptions-txt.html">jqPlot Options</a></div></div><div class=MEntry><div class=MFile><a href="optionsTutorial-txt.html">Options Tutorial</a></div></div><div class=MEntry><div class=MFile><a href="jqPlotCssStyling-txt.html">jqPlot CSS Customization</a></div></div><div class=MEntry><div class=MFile id=MSelected>Change Log</div></div><div class=MEntry><div class=MLink><a href="../../tests/">Examples</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">API Documentation</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="jqplot-core-js.html">jqPlot Charts</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Core Renderers</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="jqplot-axisTickRenderer-js.html">AxisTickRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-canvasGridRenderer-js.html">CanvasGridRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-divTitleRenderer-js.html">DivTitleRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-linearAxisRenderer-js.html">LinearAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-markerRenderer-js.html">MarkerRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-shapeRenderer-js.html">ShapeRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-shadowRenderer-js.html">ShadowRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-lineRenderer-js.html">Line Renderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-axisLabelRenderer-js.html">AxisLabelRenderer</a></div></div><div class=MEntry><div class=MFile><a href="jqplot-themeEngine-js.html">ThemeEngine</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Plugins</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="plugins/jqplot-barRenderer-js.html">BarRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-BezierCurveRenderer-js.html">BezierCurveRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-blockRenderer-js.html">BlockRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-bubbleRenderer-js.html">BubbleRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-canvasAxisLabelRenderer-js.html">CanvasAxisLabelRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-canvasAxisTickRenderer-js.html">CanvasAxisTickRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-categoryAxisRenderer-js.html">CategoryAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-ciParser-js.html">ciParser</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-cursor-js.html">Cursor</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-dateAxisRenderer-js.html">DateAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-donutRenderer-js.html">DonutRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-dragable-js.html">Dragable</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-enhancedLegendRenderer-js.html">EnhancedLegendRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-funnelRenderer-js.html">FunnelRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-highlighter-js.html">Highlighter</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-logAxisRenderer-js.html">LogAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-mekkoAxisRenderer-js.html">MekkoAxisRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-mekkoRenderer-js.html">MekkoRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-meterGaugeRenderer-js.html">MeterGaugeRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-ohlcRenderer-js.html">OHLCRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-pieRenderer-js.html">PieRenderer</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-pointLabels-js.html">PointLabels</a></div></div><div class=MEntry><div class=MFile><a href="plugins/jqplot-trendline-js.html">Trendline</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gpl-2-0-txt.html">GPL License</a></div></div><div class=MEntry><div class=MFile><a href="MIT-LICENSE-txt.html">MIT License</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Index</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Properties.html">Properties</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Hooks.html">Hooks</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Hooks">Hooks</option><option value="Properties">Properties</option></select></div><script language=JavaScript><!--
+HideAllBut([1, 4, 5], 6);// --></script></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>