BUG: add missing StartPlaceMode method

Laurent's extension was using the Annotation module logic
StartPlaceMode call and it wasn't working. Added it to
Markups logic and debugged it to work to set the mouse
mode to place Markup fiducials. Added a return boolean
to check success. Updated testing.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22431 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: finish steps for the Neurosurgical Planning Tutorial

Added the editor steps and label map seeding.
Added the screen capture functionality to the template file.

Issue #3328



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22432 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix error on start up from SurfaceToolbox

Add in import string to fix start up error when 
trying to load the SurfaceToolbox scriptable module:

Traceback (most recent call last):
  File "/projects/birn/nicole/Slicer42/Slicer4-SuperBuild-Debug/Slicer-build/lib/Slicer-4.3/qt-scripted-modules/SurfaceToolbox.py", line 11, in __init__
    parent.helpText = string.Template("""
NameError: global name 'string' is not defined



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22433 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix CTKConfig.cmake to properly set _{LIBRARY,INCLUDE}_DIRS variable

For example, within CTKConfig.cmake:

* Before this commit:

[...]
set(CTKVisualizationVTKCore_LIBRARY_DIRS "VTK_LIBRARY_DIRS;/path/to/VTK-build/bin")
[...]

set(CTKVisualizationVTKWidgets_INCLUDE_DIRS
  [...]
  "/path/to/CTK-build/Libs/Core;"
  "/path/to/CTK/Libs/Visualization/VTK/Core;
  "/path/to/CTK-build/CTK-build/Libs/Visualization/VTK/Core;"
  "VTK_INCLUDE_DIRS;"
  "/path/to/VTK-build;"
  "/path/to/VTK-build/Common;"
  [...]
  )

* After this commit:

[...]
set(CTKVisualizationVTKCore_LIBRARY_DIRS "/path/to/VTK-build/bin")
[...]

set(CTKVisualizationVTKWidgets_INCLUDE_DIRS
  [...]
  "/path/to/CTK-build/Libs/Core;"
  "/path/to/CTK/Libs/Visualization/VTK/Core;
  "/path/to/CTK-build/CTK-build/Libs/Visualization/VTK/Core;"
  "/path/to/VTK-build;"
  "/path/to/VTK-build/Common;"
  [...]
  )

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22434 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix EMSegment test "EMSeg_MRML_DiffReadWriteNodes"

Update EMSegment project to account for backward incompatible changes
made in r22310

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22435 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix Slicer crash on DTIVolume reload after scene is closed.

Handle the case when newVolumeDispalyNode is NULL in setMRMLVolumeNode().
Fixes #3380

From: Yuzheng Zhou <yuzheng.zhou@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22436 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix superbuild when using Xcode 5.0 or Xcode 5.0 command line tools

Xcode no longer ships with MacOSX10.7.sdk (or earlier) from version 5.0,
which is the most recent version specified in
CMake/SlicerBlockSetCMakeOSXVariables.cmake. Therefore the superbuild
fails when attempted to build Python and NumPy due to a missing version
number or SDK location. Manually setting CMAKE_OSX_DEPLOYMENT_TARGET
to 10.8 and CMAKE_OSX_SYSROOT to ${SDK_ROOT}/MacOSX10.8.sdk or
editing SlicerBlockSetCMakeOSXVariables.cmake fixes the issue.

Fixes #3402

From: Jamie Snape <jamie.snape@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22454 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix launch of Slicer-real on MacOSX adding rpath to libarchive

Fixes #3189

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22455 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: All my tests now pass and resolves #3381 

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22456 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Easier extension build checking environment for midas_package_* vars

When doing extension experimental build, having to systematically passing
the option -DMIDAS_PACKAGE_EMAIL:STRING=<email> and
-DMIDAS_PACKAGE_API_KEY:STRING=<api_key> was tedious.

After this commit, the build system will first check if corresponding
variables are set in the environment.

On unix system, the variables could be set in the ~/.bash_aliases file
using the following syntax:

export MIDAS_PACKAGE_EMAIL=YOUR_EMAIL
export MIDAS_PACKAGE_API_KEY=YOUR_API_KEY

On windows, you could follow these instructions:
http://www.nextofwindows.com/how-to-addedit-environment-variables-in-windows-7/

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22457 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix crash on exit for py_MarkupsSceneViewRestoreTestManyLists

On some runs of the py_MarkupsSceneViewRestoreTestManyLists test, the
volume rendering displayable manager would trigger a segmentation
fault when it was being deleted on exit. It came from requesting
a render after setting and observing the NULL displayable node.
Added a test for a null node and if true don't request a render.
Tested via the GUI and ran the volume rendering tests.
 


git-svn-id: http://svn.slicer.org/Slicer4/trunk@22458 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: added new functionality - see detailed message in Slicer3 commit r17037

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22459 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3403. Fixed logic for AND operation in FiberBundleLabelSelect module

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22460 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3404. Check invalid label range in the Logic that seeds fibers rather than in the parameter node.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22461 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: avoid python error messages when path is not yet set in Endoscopy

This is triggered by some signals being emitted during the building
of the module widget.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22462 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Skip loading of loadable python module if loadable module are disabled

Before this commit even after disabling the loading of loadable module
the python module corresponding to "logic", "Widgets, "displayable
manager" and "mrml" where still imported. This commit prevent this.

Note that if a given loadable module is disabled with the application
settings the associated python modules will still be imported.

Ideally python module should be imported on a per module basis as it is
done for extension. This will be possible only after python module specific
to a loadable module are located in dedicated directory. This is
somewhat related to issue #1365

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22463 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix crash in CLIModuleFactoryHelper when used without SlicerApp

The "isInstalled" method will alaways return false if no Slicer
application has been instantiated.

Ideally the application home should be externally set. This is
tracked by issue #3411

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22464 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add option to disable loading of either any module or only the builtin

Before this commit, starting slicer with option
like --disable-{cli|loadable|scripted-loadable}-modules was preventing
the registration of the associated factories. It means that even if
an additional path was provided, it wasn't possible for the user to
disable the loading of the builtin module and enabling only the loading
of modules associated with the provided path.

This commit differentiate the concept of "any modules" vs "built-in" modules
by adding new command line options:

 disable-builtin-cli-modules

 disable-builtin-loadable-modules

 disable-builtin-scripted-loadable-modules

 disable-builtin-modules  (disable loading of all builtin modules)

 disable-modules (disable loading of any modules)

The modules settings panel has also been updated, it is now possible
to selectively disable the loading of either any modules or only the
built-in ones.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22465 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Simplify Qt version requirement rules

As explained in issue #3325, on linux to prevent a crash occurring when
a page is loaded in a QWebView, at least Qt 4.8.1 is needed
on Ubuntu 13.04. Alberto also reported it is crashing when using
Ubuntu 12.04 (see #3394).

To prevent developer from having to explicitly pass
the Slicer_REQUIRED_QT_VERSION option, the requirement scheme
has been simplified.

Removed non working option "Slicer_EXPERIMENTAL_QT_VERSION" and requires
at least Qt 4.7.4 on all platform.

This revert commit r21743 and partially revert r21727

We will discuss with the community if it makes sens to required Qt >= 4.8.1
on all platform. On MacOSX, this implies that Leopard won't be supported
anymore.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22466 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #3412 fix crash when no tensors on fiber label select

When the input fiber bundles have no tensors, we don't want to create
an output array.  When and empty tensor array was passed to the vtk
xml reader it crashed.

Now, don't create an output tensor array if there is not one on the input.

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