00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #include "QmitkDataNodeSelectionProvider.h" 00019 #include "internal/QmitkDataNodeSelection.h" 00020 00021 QmitkDataNodeSelectionProvider::QmitkDataNodeSelectionProvider() 00022 : berry::QtSelectionProvider() 00023 { 00024 00025 } 00026 00027 berry::ISelection::ConstPointer QmitkDataNodeSelectionProvider::GetSelection() const 00028 { 00029 return this->GetDataNodeSelection(); 00030 } 00031 00032 mitk::DataNodeSelection::ConstPointer 00033 QmitkDataNodeSelectionProvider::GetDataNodeSelection() const 00034 { 00035 if (qSelectionModel) 00036 { 00037 QmitkDataNodeSelection::ConstPointer sel(new QmitkDataNodeSelection( 00038 qSelectionModel->selection())); 00039 return sel; 00040 } 00041 00042 return QmitkDataNodeSelection::ConstPointer(new QmitkDataNodeSelection()); 00043 } 00044 00045 void QmitkDataNodeSelectionProvider::FireSelectionChanged( 00046 const QItemSelection& /*selected*/, const QItemSelection& /*deselected*/) 00047 { 00048 berry::ISelection::ConstPointer sel(this->GetDataNodeSelection()); 00049 berry::SelectionChangedEvent::Pointer event(new berry::SelectionChangedEvent( 00050 berry::ISelectionProvider::Pointer(this), sel)); 00051 selectionEvents.selectionChanged(event); 00052 }