BUG 2783. Replaced _ with spaces in color names on reading external files.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21517 3bd1e089-480b-0410-8dfb-8563597acbee
BUG 1916. Added reading of ROI annotation data files

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21518 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Issue 2240. Added mount Volumes to sidebar

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21519 3bd1e089-480b-0410-8dfb-8563597acbee
BUG 2759. Fixed camera and camera node observers, made unique node names.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21520 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Issue 2240. Removed code repetition.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21521 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix the disable-python command line option

By some oversight this feature wasn't working before.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21522 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Tree view expansion state save/restore while updating

The expansion states of hierarchy nodes are saved and restored when the tree
view is updated.
Save weak references to expanded nodes to avoid any dangling references at the
end.
Access children using model API and not MRML API
Moved recursive children expand state save method to P-implementation.
This fixes issue 2557.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21523 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2812 start with default database directory

Use Qt to specify default location in a platform-appropriate
manner.

Also some minor style cleanups or trailing spaces.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21524 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: use correct signal for QAction

Since this is a QAction not a QPushButton, use
triggered instead of clicked.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21525 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: make sure precache tags are set for database instances

Since the precache tags are specific to the ctkDICOMDatabase,
be sure to set the correct values to both slicer.app.dicomDatabase
and the database that is internal to the ctkDICOMAppWidget.

Need to use a timer here, because we want to ensure that all plugins
(which are modules) have been discovered before we set the precache
tags.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21526 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: update to newer CTK version

Addresses:
#2839 - threading related crashes
#2015 - slow dicom parsing
#2631 - dicom initial database

See the specific commits here also refer to other issues:

https://github.com/commontk/ctk/compare/fc9a964cc9450bbbd2ec4dc6df6c7f329485ed3d...154933009ab9ed82c0ea818c962c5283e330632a

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21527 3bd1e089-480b-0410-8dfb-8563597acbee
BUG 2639. Added logic to remove display and storage nodes when displayable node is removed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21528 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Need to check if node is present in scene before referencing

While deleting a node, there could be a reference dangling in the tree view that
needs can cause issues. Check if the node being worked on is present in the MRML
scene before referencing to it.
Fixes issue 2841

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21529 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Inserting new hierarchy causes parent to lose expansion state

Fixes issue 2840

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21530 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: stop the annotation tree view from auto expanding lists 

Don't use calling setMRMLScene on the tree view to refresh the tree, 
as it resets the expand level on the tree view, only call it when 
the scene is different.
This stopped the auto added top level all annotations list and the fiducials/ruler
list nodes from expanding, so invoke an event from the logic when those default
hierarchy nodes are added to trigger the tree to expand them (using the
Expanded value on the hierarchy node).
Also expand the hierarchy node when it's added by the user via the add
hierarchy button.

Fixes issue #1735


git-svn-id: http://svn.slicer.org/Slicer4/trunk@21531 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: track/restore DICOM popup geometry

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21532 3bd1e089-480b-0410-8dfb-8563597acbee
BUG 2838. Observe only models that have display nodes, since their polydata is used in the slice models pipeline

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21533 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Minor style changes in qSlicerMouseModeToolBar

Improve readability.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21534 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add vtkMRMLDisplayNode::GetVisibility()

Displayable managers should test both GetVisiblity() and IsDisplayableInView(),
therefore we add a convenient method.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21535 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add qMRMLTreeView::showScene and qMRMLTreeView::showRootNode

Give more flexibility to decide what item is root.
A root index for QTreeView is the invisible index that is the parent of all
the top level indexes.
showScene or showRootNode give the option to decide if the root scene/node
is visible, which implies that its parent becomes the root index for QTreeView.

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