BUG: more useful error messages when dicom database cannot be used

Provide diagnostic info about missing or non-readable/non-writable
directories and files.  Also point user to directory selection button
in the dicom browser dialog to indicate where to make the fix.

Fixes issue #2715.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21322 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Simplify mechanism to ignore settings (options --testing and --disable-settings)

This commit ensure that the method instantiateSettings is called once after
the argument are parsed.

Doing so allows to avoid the following issues:

1) Settings application name after the method instantiateSettings was called
wasn't affecting the already instantiated object.

2) Side effect of (1) was the deletion of the original "Slicer.ini" settings
file

3) Creating a QSettings using the constructor taking filename as a parameter
is NOT updating the convenience QSettings singleton.


Note also that the method qSlicerCoreApplication::handlePreApplicationCommandLineArguments
is not called anymore by "qSlicerCoreApplicationPrivate::parseArguments"
but is called directly after all core objects have been instantiated.

See http://www.na-mic.org/Bug/view.php?id=2719

Fixes #2719

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21323 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: updated version of jqPlot to 1.0.4

This appears to fix bugs in zooming of bar charts.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21324 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: documentation on how dates are specified in plots

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21325 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: added date axis and boxplot

dcommit failed a pre-commit hook and unstaged a series of commits.
recommitting as a single commit

    ENH: support for dates on X-axis

    First attempt at supporting date axes.

    jqPlot date support is designed for continuous dates like in
    tracking stocks.  It allows for "gaps" in the dates, which are
    interpolated across for line plots and remain as gaps in bar plots.
    However, this scheme does not really align with our use case.

    Therefore, Slicer internally uses categorical axes when told
    to display dates.

    The logic for varyBarColor was modified so the default is off
    and it is only turned on when a lookup table is assigned to a series.

    A few method names in the private implementation were modified
    to make them consistent with new methods added.

    Slicer passes dates in the DoubleArrayNode, which stores things as
    floats.  Thus, dates must be represented as seconds since
    January 1, 1970. Fractional seconds are allowed.  Internally, these
    timestamps are converted to javascript timestamps which are in
    milliseconds.

    Date formating is currently fixed and limited to YYYY-MM-DD style.

    ENH: added boxplot

    Adapted a boxplot renderer from Joshua Bronson. https://bitbucket.org/jab/jqplot/changeset/f0f8eaa7e09e

    Added support for outliers and caching the y-axis bounds

    First version of jqplot that we are tarballing ourselves with modifications/additions from the
    main jqplot repository. Currently using a repository on github (millerjv)
    and will move to Slicer Community.  Slicer Community repository is being used for tarballs.

    Major rewrite of the qMRMLChartWidget to refactor the chart generation into separate
    routines for each chart type.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21326 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Remove unused *.tcl files from Base/Tcl

Also verified that non of these tcl modules were used in EMSegment using the
following one-liner:

cd /home/jchris/Projects/Slicer4-Superbuild-Debug/EMSegment
$ for i in `ls -1 ~/Projects/Slicer4/Base/GUI/Tcl/*.tcl`; do bn=`basename $i`; ack --no-mrml  "[^A-Za-z0-9]${bn%.tcl}"; done

See http://na-mic.org/Bug/view.php?id=2735

Fixes #2735

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21327 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Remove unused *.png files from Base/GUI/ImageData and Base/GUI/Tcl/ImageData

Also verified that non of these png module were used using the
following one-liner:

cd /home/jchris/Projects/Slicer4
for i in `ls -1 ~/Projects/Slicer4/Base/GUI/ImageData/*.png`; do bn=`basename $i`; echo "Checking for ${bn%.png}"; ack --no-mrml  "^[A-Za-z0-9]${bn%.png}"; done
for i in `ls -1 ~/Projects/Slicer4/Base/GUI/Tcl/ImageData/*.png`; do bn=`basename $i`; echo "Checking for ${bn%.png}"; ack --no-mrml  "^[A-Za-z0-9]${bn%.png}"; done

Using the one-liner ack --py "png", I found that the editor module was using the editor effect images from the
Tcl/ImageData folder. Only the effect used by the module have been kept
in the folder.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21328 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Remove unused VolumeDisplaySWidget.tcl - W/L implemented in vtkSliceViewInteractorStyle

See http://na-mic.org/Bug/view.php?id=2735

Fixes #2735

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21329 3bd1e089-480b-0410-8dfb-8563597acbee