BUG: Make sure the node is present before saving in a collection

While updating the scene, the tree view hierarchy was being saved. This causes
segfaults when updateScene is called after closing the scene or deleting nodes.
Check if the nodes are still present before saving them to collection.
Fixes issue 2557.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21880 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Save tree before the batch processing starts and restore after it ends

Saving the tree expansion state now happens before batch processing starts and
the consequent restoration happens after batch processing ends. This prevents
handling tree when the scene is in an inconsistent state during the batch
processing task.

BUG: Make sure scene tree save/restore happens during lazy update only

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21881 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Implement feature #2918, fiducial projection on 2D slice plane

From: Laurent Chauvin <lchauvin@bwh.harvard.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21882 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: avoid print out of nodes not found on start up

Took out the call to update the widget from mrml on init, 
it gets called from setMRMLScene which is when it should be
updated.
Swapped warning for debug print outs as not having interaction
or selection nodes is not an error case.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@21883 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3060. Replaced the use of vtkMRMLDisplayableNode::DisplayNodes with vtkMRMLDisplayableNode::GetDisplayNodes()


git-svn-id: http://svn.slicer.org/Slicer4/trunk@21884 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fixed compile error from the previous commit.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21885 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: adding a new markups module, work in progress

TODO: sort out the placing toolbar, the GUI, displayable mananagers.
STYLE: hide debugging print outs
BUG: hook up events so that the GUI updates when a list is added, markups are added to the list, and positions of markups change
ENH: hook up the table to the node so that changes propagate.

Check to make sure that there are changes before setting the table or the
node so that don't trigger more settings.
ENH: splitting the displayable managers into 2d and 3d.
BUG: set the default new markup to a fiducial and set the default name
ENH: add and use a flag to name new markups using the list name as a prefix
ENH: add a check box to expose using the list name as a markup prefix.

Use the 1 based number of the markup in the list as the suffix
ENH: scroll to the row containing the new markup when it's added
ENH: add methods to jump to slice location

Provide a method to jump to the first point in the nth markup in a list.
Uses the new method to jump the slices to a xyz location.
ENH: on click in the name column, jump slices to that point location

Use the logic methods to jump the slices after extracting
the location from the item clicked on.
For now, clicking in the name column triggers the jump slices.
Set selection mode to row and allow multi select for future
mass operations.

TODO: make a new column to click in for jump or implement righ click
on the row.
STYLE: comment out debugging comments
ENH: don't respond to the seed widget unless it's moving

BUG: not using the check in 2d as it disables the widgets somehow
ENH: first pass at adding in better support for light box mode