ENH: Simplify logic for pushing sitk objects to slicer

After reviewing the SimpleFilters code a simpler and
more robust methods of pushing SimpleITK images to
slicer was identified.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23258 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update CTK to fix windows build error.

//---------------------------------
Fix windows build errors related to relocation of classes

This commit update the export macro according to accommodate the
relocation of the classes done in commit 448aaf3

Error were similar to the report below:

.\moc_ctkHistogram.cxx(40) : error C2491: 'ctkHistogram::staticMetaObject' : definition of dllimport static data member not allowed
//---------------------------------

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23259 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Update CTK to include python console tweaks.

$ git shortlog c117a00..dc9fd8167 --no-merges
Julien Finet (2):
      Ensure edit line in ctkConsole is always visible
      Add open file dialog and print help message actions

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23260 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Add VTKv6 Python path to launcher

It appears that the way VTKv6 chooses the location to which to install
its Python bindings has changed. As obtaining the Python version early
enough to override the path with the new VTKv6 mechanism appears to be
non-obvious/non-trivial, we instead punt, and add the location that is
now being used to the launcher's PYTHONPATH's.

Also, remove specification of VTK_INSTALL_PYTHON_USING_CMAKE, which no
longer exists in VTKv6.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23261 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update CTK - Fixes windows build error

Error that will be fixed:

31>6>4>..\..\..\..\CTK\Libs\Widgets\ctkTestApplication.cpp(129) : error C2228: left of '.toLocal8Bit' must have class/struct/union
31>6>4>        type is 'const char *'


All other changes:

$ git shortlog dc9fd81..383c477 --no-merges
Andreas Fetzer (6):
      Added support for modification time in xnat
      Adaptions to changes in qRestAPI
      Cleanup
      Added support for resources for all levels of the xnat data hierachy
      Fixed reconstruction to diplay content properly
      Cleanup

Jean-Christophe Fillion-Robin (1):
      Fix build of ctkTestApplication.cpp with Qt4. Fixes #482

Sascha Zelzer (7):
      Always use brackets for if statements.
      Fix unused parameter warning.
      qRegisterMetaType ctkServiceReference and QSharedPointer<ctkPlugin>, because the weakness of Qt MetaType system, we need to     register type early.
      Break the #include <QtSql> into     #include <QLibrary>     #include <QSqlQuery>     #include <QDebug>     #include <QSqlError>     #include <QPluginLoader>     #include <QDirIterator>     because Qt
      Work around different wchar_t settings.
      Use ascii ' instead unicode ‘’
      Fix ctkConsoleTest for Qt5.

Yonggang Luo (6):
      Move the REGISTERED macro check to the front of the ctkServiceEvent file.
      It's should return T() but QVariant().
      Add the lost Q_D(const PluginTracker); in ctkPluginTracker<T>::isEmpty()
      Use unicode version FormatMessageW in ctkPluginFrameworkLauncher::appendPathEnv
      Use ascii ' instead of unicode ’ in file ctkEventAdmin.h
      use GetProcAddress to safe calling to RtlCaptureStackBackTrace in ctkBackTrace.cpp

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

Add rules to install the SlicerWizard modules. This gets us one step
closer to having the extension wizard available from an install tree,
and also makes the SlicerWizard package available from within Slicer
itself.

Note that installation of the SlicerWizard modules is conditional on
Slicer_BUILD_EXTENSIONMANAGER_SUPPORT being enabled.
ENH: Add "introspection" to TemplateManager

Add new methods to TemplateManager to get the list of known categories
and available templates (the latter taking an optional category). These
are helpful for allowing the user to select from available templates in
cases where listTemplates() is not optimal (e.g. from a GUI).
ENH: Create in-Slicer Extension Wizard (skeleton)

Create the initial skeleton of the in-Slicer Extension Wizard. This will
provide a graphical front-end to (some of) the Extension Wizard
functions. Right now, only creation is implemented.

Issue #3603
BUG: Fix TemplateManager unicode support

Add a helper function (in SlicerWizard.Utilities) to detect the
character encoding of an input byte sequence. Use this in
TemplateManager to correctly handle encoding conversion of template
files in case the replacement text is a unicode, rather than a str
(which otherwise results in an exception when automatic conversion tries
to convert non-ASCII files).
ENH: Add python-chardet external project

Add external project for chardet Python module used in the previous
commit, so that we have actual detection available and not just ASCII
vs. "don't know". Like GitPython and friends, this is only enabled if
Python and extension manager support are enabled, and system Python is
not used.
ENH: Improve styling of wizard actions

Replace the QPushButton extension wizard actions with "flat"
QToolButton's, using (for now) a forward-arrow icon. This gives a
cleaner look than the odd stack of unusually wide buttons, that is
loosely based on Windows wizards (which were the only example of a
list-of-possible-actions - as opposed to list-of-steps - type wizard I
could find).
ENH: More work on in-Slicer Extension Wizard

Add some widgets to the 'edit extension' section to show basic
information about the selected extension, and hook up the ability to
select an extension. There is a not-yet-implemented 'edit metadata'
action that will likely be joined eventually by other actions.

Issue #3603
BUG: Improve ExtensionDescription robustness

Fix ExtensionDescription to not fail in case of a git repository with no
commits, and/or a local git repository with no remotes.
STYLE: Use properties in CreateExtensionDialog

Change CreateExtensionDialog classes to subclass object, which is needed
to give them properties (they weren't originally as there seems to be
some problem if a module's primary classes derive from object). Change
accessor methods of the same to Python properties, which are slightly
more convenient and "more Pythonic".
ENH: Create editable tree widget

Create utility widget class EditableTreeWidget, for extension wizard
module. This will be useful for editing extension metadata that takes
the form of lists, e.g. contributors.
BUG: More unicode support fixes

Add support for conversion-to-unicode to CMakeParser. Fix str conversion
to more explicitly avoid having unicode in the results. Add encoding
detection and support to ExtensionProject. This should make it possible
to work with non-ASCII unicode in an ExtensionProject.
ENH: Make ExtensionProject.project writable

Add a setter for the ExtensionProject.project property, allowing users
to change the name given to the project() call of a corresponding build
script (CMakeLists.txt).
ENH: Implement editing of extension metadata

Create dialog for editing extension metadata and hook up to necessary
bi-directional manipulation of the same in the extension project and
description classes.

Issue #3603
ENH: Use I-beam cursor for information fields

Tweak the read only line edits used to show information about the
currently selected extension in the Extension Wizard module to use the
I-beam cursor, to make it more obvious that the text can be selected.
ENH: Select from location of selected extension

Change extension selection in the extension wizard module to use the
location of the currently selected extension (when applicable) as the
initial directory for choosing another extension.

Issue #3603