COMP: Update Slicer packaging code to support CMake 3.0

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23186 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix unused variable in vtkMRMLNode::PrintSelf

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23187 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Remove unused composite node "Grid" attribute

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23188 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Remove unused Set/Get*Opacity method from slice logic

Following the introduction of the composite node (r175) that is able to
store the opacity information, these methods originally introduced
by r129 are now redundant and unused.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23189 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Re-factor and rename some of MRMLReference tests

This commit add convenience function allowing to systematically test
the different cases.

It also renames test functions to better represent the purpose of the
test:
  TestAddReferenceNodeID ->  TestSetAndObserveNodeReferenceID
  TestReferenceNodeNoObservers -> TestSetNodeReferenceID

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23190 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify MRMLReferences using smart pointers

* Use of smart pointer in vtkMRMLReference allows us to remove
the complicated code manually managing the calls to Register/UnRegister

* function "SetNthNodeReferenceID" and "SetAndObserveNthNodeReferenceID"
have been updated to have similar code (at the exception of the
code setting the observation events). The second will consist in factoring
code common code to avoid code duplication.

* SetNthNodeReferenceID/SetAndObserveNthNodeReferenceID have also
been fixed to work properly in case the reference doesn't exist
and referencedNodeID is null.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23191 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix behavior of "Set(AndObserve)NthNodeReference" function

This commit now ensures that if a reference is set to position N,
it can later be obtain given N.

The issue is illustrated below:

 SetNthNodeReferenceID("MyRole", /* n= */ 1, "ID2")
 GetNthNodeReferenceID("MyRole", /* n= */ 1)  => return NULL
 GetNthNodeReferenceID("MyRole", /* n= */ 0)  => return "ID2"

 => Getting reference N=1 should return ID2

For reference, the proposed change has also been discussed on the mailing
list. See [1]

[1] http://slicer-devel.65872.n3.nabble.com/MRML-References-update-proposal-tt4031425.html

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23192 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Better readability of MRML node reference function

This basically improve the readabitliy of the code by changing:

  (*referencedNodesIt) -> reference
  references[n] -> reference

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23193 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update CTK projects to include include directories tweaks

$ git shortlog 8a17c216..fdc47ec --no-merges
Jean-Christophe Fillion-Robin (5):
      Simplify system and remove variable CTK_BASE_INCLUDE_DIRS
      Do not set unused CMake build function parameter INCLUDE_DIRECTORIES
      Fix ctkSimplePythonShell build error supporting optional dependencies
      Fix export of CTKTesting include directories
      Fix build of ctkQtTesting application and  CTKConfig include directory export.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23194 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix build error related to missing 'ctkTest.h'

$ git shortlog fdc47ec..cd344ef --no-merges
Jean-Christophe Fillion-Robin (1):
      Fix export of CTKTesting in CTKConfig

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23195 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure any Nth reference can be set to 0

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23196 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: use Slicer system fonts in Scene Views

To bring the Scene Views module into alignment with
the Slicer system fonts, propagate the application
settings fonts to the QWebView used to display the
scene views.

Issue #1299



git-svn-id: http://svn.slicer.org/Slicer4/trunk@23197 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #1696 LabelStatics regenerates plot on each SetParameter call

Added calls to StartModify()/EndModify() to limit the regeneration
of the plot until after the node is fully populated.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23198 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Use a delegate to control extension icon

Change how we manage icons in the extension manager to always set a
'normal' icon on the list item, and to use a delegate to override
whether the item is drawn 'disabled'. This allows us to set an
unchanging icon on the item, and take advantage of the normal drawing
code to draw a disabled icon when appropriate, rather than having to
reset the icon. Right now there is no visible change, but this will
simplify things significantly when we start using 'real' extension icons
rather than the default icon.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23199 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add icon URL to extension metadata

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23200 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Load extension icon from disk

Change extension manager to attempt to load the icon for the extension
from disk, given the URL (which serves to provide a reasonable file
type, hopefully). For now this assumes that the icon already exists;
next, we'll want to try to download it if not.

Note that, rather than using the icon image directly, we render it as a
rounded rectangle in order to apply some rounding to the icon's corners,
for consistency with the web view which does something similar.

Issue #1907

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23201 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Implement downloading of extension icons

Change qSlicerExtensionsManageWidget to attempt to download icons for
extensions that don't already have an icon on disk. On successful
download, the icon is saved and applied to the extension list item.

Note that we will retry downloads for missing icons on first showing of
the extension manager. This seems like reasonable behavior. Missing
icons fall back to the default icon as before, and download errors are
silent.

Issue #1907

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23202 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Remove extension icon on uninstall

Tweak the extension uninstall logic to also find and remove the
extension icon, if any.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23203 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Always use same size for extension icon

Change how we generate extension icons to first resize the raw icon to
the list icon size (and then adjust the rounding radius accordingly).
While not strictly necessary for "normal" sized (128x128) icons, doing
the resize up front saves doing it on each paint, and also gives a more
consistent result for icons of other than the "normal" size. (In
particular, it fixes the text being misaligned in case of smaller icons,
which previously would not be upscaled.)

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23204 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Remove qMRMLSliderWidget MinimumValue and MaximumValue by default

Closes #3661

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