BUG: fix paths for DICOM executable searches

Since the helper executables are not in the slicer bin directory
for a local build of slicer, be sure to also check in the DCMTK-build
bin directory to find the actual executable.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21870 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix sanity check associated with SlicerMacroConfigureGenericCxxModuleTests

The name of the variable and not its content was checked to be different
from an empty string.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21871 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix ExtensionsIndex experimental build error

Thanks to Chris Mullins for reporting the problem. Error is easily
reproducible when building an extensionsIndex with the option
-DSlicer_UPLOAD_EXTENSIONS:BOOL=ON. See below for detailed command
and associated error message.

Following commit r21860 ensuring target ExperimentalUpload, ExperimentalNightly,
... works as expected. The case when Slicer_UPLOAD_EXTENSIONS is ON and
the build is done manually instead of being driven by a dashboard hasn't been
tested :(

To fix the issue, we assume that by default a manual build of an
ExtensionsIndex corresponds to an Experimental build. The user can still
pass CTEST_MODEL at the command line if he wishes to change the value.

// -------------------
Error:

cmake -DSlicer_DIR:FILEPATH=/home/crmullin/Projects/Slicer4-SuperBuild-Debug/Slicer-build/ \
 -DSlicer_EXTENSION_DESCRIPTION_DIR:FILEPATH=/home/crmullin/ExtensionsIndexForTubetk/ \
 -DCMAKE_BUILD_TYPE:STRING=Release \
 -DSlicer_UPLOAD_EXTENSIONS:BOOL=ON \
 /home/crmullin/Slicer/Extensions/CMake/

[..]
Scanning dependencies of target JsonCpp
[  5%] Creating directories for 'JsonCpp'
[ 11%] Performing download step (git clone) for 'JsonCpp'
Cloning into 'JsonCpp'...
[...]
[ 16%] [ 22%] No patch step for 'JsonCpp'
Performing update step (git fetch) for 'JsonCpp'
HEAD is now at e2cfe02... Merge branch 'master' of github.com:TubeTK/jsoncpp-cmake
[ 27%] No configure step for 'JsonCpp'
[ 33%] No forcebuild step for 'JsonCpp'
[ 38%] Performing build step for 'JsonCpp'
* Extra verbosity turned on
Reading Script: /home/crmullin/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake
SetCTestConfiguration:SourceDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build/Extensions-
SetCTestConfiguration:BuildDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
Run dashboard with model TRACK
   Source directory: Extensions-
   Build directory: /home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
CMake Error at /home/crmullin/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake:90 (ctest_start):
  ctest_start given source path

    /home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build/Extensions-

  which is not an existing directory.  Set CTEST_CHECKOUT_COMMAND to a
  command line to create it.

SetCTestConfiguration:BuildDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build
SetCTestConfiguration:SourceDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
SetCTestConfiguration:ConfigureCommand:"/home/crmullin/cmake-2.8.10.2/bin/cmake" "-DCMAKE_BUILD_TYPE:STRING=Release" "-GUnix Makefiles" "/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp"
SetCTestConfiguration:BuildDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp-build
SetCTestConfiguration:SourceDirectory:/home/crmullin/Projects/SlicerExtensionsIndex-tubetk/JsonCpp
Configure project
Current Tag empty, this may mean NightlyStartTime / CTEST_NIGHTLY_START_TIME was not set correctly. Or maybe you forgot to call ctest_start() before calling ctest_configure().
Cannot open configure file
Error in read script: /home/crmullin/Slicer/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake
make[2]: *** [JsonCpp-prefix/src/JsonCpp-stamp/JsonCpp-build] Error 255
make[1]: *** [CMakeFiles/JsonCpp.dir/all] Error 2
make: *** [all] Error 2

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21872 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix macro SlicerMacroConfigureGeneric{Cxx, Python}ModuleTests sanity checks

Commit r21871 fixed the sanity check associated with macro
"SlicerMacroConfigureGenericCxxModuleTests" by testing the content of
the variable.

This approach works well for function. In case of macro, only parameter
referenced using ${argX} are replaced. It means the following code
doesn't work:

// ----------
macro(foo bar)
  set(var "foo")
  message("${var}:${${var}}")
endmacro()

foo("hello")
// ----------

It outputs:

  foo:

whereas the following is expected:

  foo:hello

This commit fix the problem by explicitly testing the parameter value.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21873 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2932, #3001, #3002 Several improvements to the editor.

#2932 - new Pixel Mode in Paint tool allows precise control when zoomed
in close to the image.

Add a set of hotkeys per #3002 for editor-wide functions, also
new +/- control on the paint brush to adjust size while it is active.

Per #3002 if a master and merge volumes already have been selected,
don't reset them when entering the editor.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21874 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: for issue #3002 fix eyedropper

Make sure all label effects have an instance of their logic class
and that the allow the superclass to optionally process keystrokes
and other events (this allows the eyedropper operation to work).

See keystroke list here:
http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor#Keystrokes

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21875 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix spurious warning message

If there had been no study added in the past month, a string format
operation would fail and generate a warning.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21876 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Enhancement to Tractography Display and ROI selection: Fiber selected by default, ROI interactive mode and visibility exposed, other minor UI improvements 

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21877 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: updated baseline, removed unnecessary files, updated CMakeLists.txt to
use the compressed baseline. See #3034.


git-svn-id: http://svn.slicer.org/Slicer4/trunk@21878 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Force python build to Release

After updating Slicer build system to use CMake'ified python (r21863), Windows
debug build started to fail complaining that there was an "Invalid solution
configuration"

Since CMake'ified python currently force its build type to Release [1], this
explained the error message.

To make sure the command associated with python external project works
as expected, this commit overwrite the value CMAKE_CFG_INTDIR before
adding the python external project and restore it afterward.

[1] https://github.com/davidsansome/python-cmake-buildsystem/commit/3bcf841e28b255e62562e1dcc93a347bdbc78f1a

See http://na-mic.org/Mantis/view.php?id=3056
Fixes #3056

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