47 #include "src/internal/QmitkNodeTableViewKeyFilter.h"
48 #include "src/internal/QmitkInfoDialog.h"
49 #include "src/internal/QmitkDataManagerItemDelegate.h"
61 #include <QGridLayout>
62 #include <QHBoxLayout>
63 #include <QVBoxLayout>
69 #include <QApplication>
71 #include <QHeaderView>
73 #include <QWidgetAction>
75 #include <QPushButton>
76 #include <QFileDialog>
77 #include <QMessageBox>
81 #include <QColorDialog>
82 #include <QSizePolicy>
83 #include <QSortFilterProxyModel>
84 #include <QSignalMapper>
94 : m_GlobalReinitOnNodeDelete(true),
105 (it->first)->RemoveAction(it->second);
118 .Cast<berry::IBerryPreferences>();
128 prefs->GetBool(
"Place new nodes on top",
true) );
130 prefs->GetBool(
"Allow changing of parent node",
false));
146 m_NodeTreeView->setSelectionMode( QAbstractItemView::ExtendedSelection );
147 m_NodeTreeView->setSelectionBehavior( QAbstractItemView::SelectRows );
155 m_NodeTreeView->installEventFilter(
new QmitkNodeTableViewKeyFilter(
this));
160 QObject::connect(
m_NodeTreeView, SIGNAL(customContextMenuRequested(
const QPoint&))
162 QObject::connect(
m_NodeTreeModel, SIGNAL(rowsInserted (
const QModelIndex&,
int,
int))
164 QObject::connect(
m_NodeTreeModel, SIGNAL(rowsRemoved (
const QModelIndex&,
int,
int))
167 , SIGNAL( selectionChanged (
const QItemSelection &,
const QItemSelection & ) )
176 QList<berry::IEditorDescriptor::Pointer> editors = editorRegistry->
GetEditors(
"*.mitk");
177 if (editors.size() > 1)
182 QAction* action =
new QAction(descriptor->GetLabel(),
this);
190 auto unknownDataNodeDescriptor =
193 auto imageDataNodeDescriptor =
196 auto multiComponentImageDataNodeDescriptor =
199 auto diffusionImageDataNodeDescriptor =
202 auto surfaceDataNodeDescriptor =
205 auto labelSetImageDataNodeDescriptor =
208 auto pointSetNodeDescriptor =
211 auto planarLineNodeDescriptor =
213 auto planarCircleNodeDescriptor =
215 auto planarEllipseNodeDescriptor =
217 auto planarAngleNodeDescriptor =
219 auto planarFourPointAngleNodeDescriptor =
221 auto planarRectangleNodeDescriptor =
223 auto planarPolygonNodeDescriptor =
225 auto planarPathNodeDescriptor =
227 auto planarDoubleEllipseNodeDescriptor =
229 auto planarBezierCurveNodeDescriptor =
231 auto planarSubdivisionPolygonNodeDescriptor =
234 QAction* globalReinitAction =
new QAction(QIcon(
":/org.mitk.gui.qt.datamanager/Refresh_48.png"), tr(
"Global Reinit"),
this);
235 QObject::connect( globalReinitAction, SIGNAL( triggered(
bool) )
237 unknownDataNodeDescriptor->AddAction(globalReinitAction);
238 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor, globalReinitAction));
240 QAction* saveAction =
new QmitkFileSaveAction(QIcon(
":/org.mitk.gui.qt.datamanager/Save_48.png"),
241 this->
GetSite()->GetWorkbenchWindow());
242 unknownDataNodeDescriptor->AddAction(saveAction);
243 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor,saveAction));
245 QAction* removeAction =
new QAction(QIcon(
":/org.mitk.gui.qt.datamanager/Remove_48.png"), tr(
"Remove"),
this);
246 QObject::connect( removeAction, SIGNAL( triggered(
bool) )
248 unknownDataNodeDescriptor->AddAction(removeAction);
249 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor,removeAction));
251 QAction* reinitAction =
new QAction(QIcon(
":/org.mitk.gui.qt.datamanager/Refresh_48.png"), tr(
"Reinit"),
this);
252 QObject::connect( reinitAction, SIGNAL( triggered(
bool) )
254 unknownDataNodeDescriptor->AddAction(reinitAction);
255 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor,reinitAction));
259 QList<berry::IConfigurationElement::Pointer> cmActions(
261 QList<berry::IConfigurationElement::Pointer>::iterator cmActionsIt;
264 QAction* contextMenuAction;
265 QVariant cmActionDataIt;
269 for (cmActionsIt = cmActions.begin()
270 ; cmActionsIt != cmActions.end()
273 QString cmNodeDescriptorName = (*cmActionsIt)->GetAttribute(
"nodeDescriptorName");
274 QString cmLabel = (*cmActionsIt)->GetAttribute(
"label");
275 QString cmClass = (*cmActionsIt)->GetAttribute(
"class");
276 if(!cmNodeDescriptorName.isEmpty() &&
277 !cmLabel.isEmpty() &&
280 QString cmIcon = (*cmActionsIt)->GetAttribute(
"icon");
285 MITK_WARN <<
"cannot add action \"" << cmLabel <<
"\" because descriptor " << cmNodeDescriptorName <<
" does not exist";
289 if ( !cmIcon.isEmpty() )
291 contextMenuAction =
new QAction( QIcon(cmIcon), cmLabel, parent);
295 contextMenuAction =
new QAction( cmLabel, parent);
297 tmpDescriptor->
AddAction(contextMenuAction);
298 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(tmpDescriptor,contextMenuAction));
301 cmActionDataIt.setValue<
int>(i);
302 contextMenuAction->setData( cmActionDataIt );
315 QLabel* _OpacityLabel =
new QLabel(tr(
"Opacity: "));
316 QHBoxLayout* _OpacityWidgetLayout =
new QHBoxLayout;
317 _OpacityWidgetLayout->setContentsMargins(4,4,4,4);
318 _OpacityWidgetLayout->addWidget(_OpacityLabel);
320 QWidget* _OpacityWidget =
new QWidget;
321 _OpacityWidget->setLayout(_OpacityWidgetLayout);
323 QWidgetAction* opacityAction =
new QWidgetAction(
this);
324 opacityAction ->setDefaultWidget(_OpacityWidget);
325 QObject::connect( opacityAction , SIGNAL( changed() )
327 unknownDataNodeDescriptor->AddAction(opacityAction ,
false);
328 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor,opacityAction));
331 m_ColorButton->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum);
336 QLabel* _ColorLabel =
new QLabel(tr(
"Color: "));
337 _ColorLabel->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
338 QHBoxLayout* _ColorWidgetLayout =
new QHBoxLayout;
339 _ColorWidgetLayout->setContentsMargins(4,4,4,4);
340 _ColorWidgetLayout->addWidget(_ColorLabel);
342 QWidget* _ColorWidget =
new QWidget;
343 _ColorWidget->setLayout(_ColorWidgetLayout);
345 QWidgetAction* colorAction =
new QWidgetAction(
this);
346 colorAction->setDefaultWidget(_ColorWidget);
347 QObject::connect( colorAction, SIGNAL( changed() )
351 if (imageDataNodeDescriptor != NULL)
353 imageDataNodeDescriptor->AddAction(colorAction,
false);
355 std::pair<QmitkNodeDescriptor *, QAction *>(imageDataNodeDescriptor, colorAction));
357 if (multiComponentImageDataNodeDescriptor != NULL)
359 multiComponentImageDataNodeDescriptor->AddAction(colorAction,
false);
361 std::pair<QmitkNodeDescriptor *, QAction *>(multiComponentImageDataNodeDescriptor, colorAction));
363 if (diffusionImageDataNodeDescriptor != NULL)
365 diffusionImageDataNodeDescriptor->AddAction(colorAction,
false);
367 std::pair<QmitkNodeDescriptor *, QAction *>(diffusionImageDataNodeDescriptor, colorAction));
369 if (surfaceDataNodeDescriptor != NULL)
371 surfaceDataNodeDescriptor->AddAction(colorAction,
false);
373 std::pair<QmitkNodeDescriptor *, QAction *>(surfaceDataNodeDescriptor, colorAction));
375 if (pointSetNodeDescriptor != NULL)
377 pointSetNodeDescriptor->AddAction(colorAction,
false);
379 std::pair<QmitkNodeDescriptor *, QAction *>(pointSetNodeDescriptor, colorAction));
382 if (planarLineNodeDescriptor != NULL)
384 planarLineNodeDescriptor->AddAction(colorAction,
false);
386 std::pair<QmitkNodeDescriptor *, QAction *>(planarLineNodeDescriptor, colorAction));
389 if (planarCircleNodeDescriptor != NULL)
391 planarCircleNodeDescriptor->AddAction(colorAction,
false);
393 std::pair<QmitkNodeDescriptor *, QAction *>(planarCircleNodeDescriptor, colorAction));
396 if (planarEllipseNodeDescriptor != NULL)
398 planarEllipseNodeDescriptor->AddAction(colorAction,
false);
400 std::pair<QmitkNodeDescriptor *, QAction *>(planarEllipseNodeDescriptor, colorAction));
403 if (planarAngleNodeDescriptor != NULL)
405 planarAngleNodeDescriptor->AddAction(colorAction,
false);
407 std::pair<QmitkNodeDescriptor *, QAction *>(planarAngleNodeDescriptor, colorAction));
410 if (planarFourPointAngleNodeDescriptor != NULL)
412 planarFourPointAngleNodeDescriptor->AddAction(colorAction,
false);
414 std::pair<QmitkNodeDescriptor *, QAction *>(planarFourPointAngleNodeDescriptor, colorAction));
417 if (planarRectangleNodeDescriptor != NULL)
419 planarRectangleNodeDescriptor->AddAction(colorAction,
false);
421 std::pair<QmitkNodeDescriptor *, QAction *>(planarRectangleNodeDescriptor, colorAction));
424 if (planarPolygonNodeDescriptor != NULL)
426 planarPolygonNodeDescriptor->AddAction(colorAction,
false);
428 std::pair<QmitkNodeDescriptor *, QAction *>(planarPolygonNodeDescriptor, colorAction));
431 if (planarPathNodeDescriptor != NULL)
433 planarPathNodeDescriptor->AddAction(colorAction,
false);
435 std::pair<QmitkNodeDescriptor *, QAction *>(planarPathNodeDescriptor, colorAction));
438 if (planarDoubleEllipseNodeDescriptor != NULL)
440 planarDoubleEllipseNodeDescriptor->AddAction(colorAction,
false);
442 std::pair<QmitkNodeDescriptor *, QAction *>(planarDoubleEllipseNodeDescriptor, colorAction));
445 if (planarBezierCurveNodeDescriptor != NULL)
447 planarBezierCurveNodeDescriptor->AddAction(colorAction,
false);
449 std::pair<QmitkNodeDescriptor *, QAction *>(planarBezierCurveNodeDescriptor, colorAction));
452 if (planarSubdivisionPolygonNodeDescriptor != NULL)
454 planarSubdivisionPolygonNodeDescriptor->AddAction(colorAction,
false);
456 std::pair<QmitkNodeDescriptor *, QAction *>(planarSubdivisionPolygonNodeDescriptor, colorAction));
465 QLabel* _ComponentLabel =
new QLabel(tr(
"Component: "));
466 QHBoxLayout* _ComponentWidgetLayout =
new QHBoxLayout;
467 _ComponentWidgetLayout->setContentsMargins(4,4,4,4);
468 _ComponentWidgetLayout->addWidget(_ComponentLabel);
470 QLabel* _ComponentValueLabel =
new QLabel();
471 _ComponentWidgetLayout->addWidget(_ComponentValueLabel);
472 connect(
m_ComponentSlider, SIGNAL(valueChanged(
int)), _ComponentValueLabel, SLOT(setNum(
int)));
473 QWidget* _ComponentWidget =
new QWidget;
474 _ComponentWidget->setLayout(_ComponentWidgetLayout);
476 QWidgetAction* componentAction =
new QWidgetAction(
this);
477 componentAction->setDefaultWidget(_ComponentWidget);
478 QObject::connect( componentAction , SIGNAL( changed() )
480 multiComponentImageDataNodeDescriptor->AddAction(componentAction,
false);
481 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(multiComponentImageDataNodeDescriptor,componentAction));
482 if (diffusionImageDataNodeDescriptor!=NULL)
484 diffusionImageDataNodeDescriptor->AddAction(componentAction,
false);
485 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(diffusionImageDataNodeDescriptor,componentAction));
496 if (diffusionImageDataNodeDescriptor!=NULL)
508 if (diffusionImageDataNodeDescriptor!=NULL)
521 QAction* showOnlySelectedNodes
522 =
new QAction(QIcon(
":/org.mitk.gui.qt.datamanager/ShowSelectedNode_48.png")
523 , tr(
"Show only selected nodes"),
this);
524 QObject::connect( showOnlySelectedNodes, SIGNAL( triggered(
bool) )
526 unknownDataNodeDescriptor->AddAction(showOnlySelectedNodes);
527 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor, showOnlySelectedNodes));
529 QAction* toggleSelectedVisibility
530 =
new QAction(QIcon(
":/org.mitk.gui.qt.datamanager/InvertShowSelectedNode_48.png")
531 , tr(
"Toggle visibility"),
this);
532 QObject::connect( toggleSelectedVisibility, SIGNAL( triggered(
bool) )
534 unknownDataNodeDescriptor->AddAction(toggleSelectedVisibility);
535 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor,toggleSelectedVisibility));
537 QAction* actionShowInfoDialog
538 =
new QAction(QIcon(
":/org.mitk.gui.qt.datamanager/ShowDataInfo_48.png")
539 , tr(
"Details..."),
this);
540 QObject::connect( actionShowInfoDialog, SIGNAL( triggered(
bool) )
542 unknownDataNodeDescriptor->AddAction(actionShowInfoDialog);
543 m_DescriptorActionList.push_back(std::pair<QmitkNodeDescriptor*, QAction*>(unknownDataNodeDescriptor,actionShowInfoDialog));
545 QGridLayout* _DndFrameWidgetLayout =
new QGridLayout;
547 _DndFrameWidgetLayout->setContentsMargins(0,0,0,0);
552 QVBoxLayout* layout =
new QVBoxLayout(parent);
554 layout->setContentsMargins(0,0,0,0);
565 QAction* action = qobject_cast<QAction*> ( sender() );
567 std::map<QAction*, berry::IConfigurationElement::Pointer>::iterator it
571 MITK_WARN <<
"associated conf element for action " << action->text().toStdString() <<
" not found";
577 QString className = confElem->GetAttribute(
"class");
578 QString smoothed = confElem->GetAttribute(
"smoothed");
582 if(className ==
"QmitkCreatePolygonModelAction")
584 if(smoothed ==
"false")
594 else if(className ==
"QmitkStatisticsAction")
607 bool hideHelperObjects = !prefs->
GetBool(
"Show helper objects",
false);
610 if (hideHelperObjects)
619 bool hideNodesWithNoData = !prefs->
GetBool(
"Show nodes containing no data",
false);
623 if (hideNodesWithNoData)
640 prefs->
GetBool(
"Allow changing of parent node",
false));
650 QModelIndex selected =
m_FilterModel->mapToSource(selectedProxy);
654 if(!selectedNodes.isEmpty())
657 QList<QAction*> actions;
658 if(selectedNodes.size() == 1 )
662 for(QList<QAction*>::iterator it = actions.begin(); it != actions.end(); ++it)
664 (*it)->setData(QVariant::fromValue(node.GetPointer()));
672 QMenu* showInMenu =
m_NodeMenu->addMenu(tr(
"Show In"));
685 float opacity =
static_cast<float>(value)/100.0f;
708 int numComponents = 0;
719 if (componentProperty && numComponents > 1)
739 if(colorProp.IsNull())
741 color = colorProp->GetValue();
742 QColor initial(color.GetRed()*255,color.GetGreen()*255,color.GetBlue()*255);
743 QColor qcolor = QColorDialog::getColor(initial,0,QString(tr(
"Change color")));
744 if (!qcolor.isValid())
748 if (node->
GetProperty(
"binaryimage.selectedcolor"))
764 if(colorProp.IsNull())
766 color = colorProp->GetValue();
768 QString styleSheet =
"background-color:rgb(";
769 styleSheet.append(QString::number(color[0]*255));
770 styleSheet.append(
",");
771 styleSheet.append(QString::number(color[1]*255));
772 styleSheet.append(
",");
773 styleSheet.append(QString::number(color[2]*255));
774 styleSheet.append(
")");
784 bool textureInterpolation =
false;
809 if (!lookupTableProperty)
812 QAction* senderAction = qobject_cast<QAction*>(QObject::sender());
816 std::string activatedItem = senderAction->text().toStdString();
822 lookupTable->SetType(activatedItem);
823 lookupTableProperty->SetValue(lookupTable);
838 if (!lookupTableProperty)
842 lookupTableProperty->SetLookupTable(mitkLut);
843 node->
SetProperty(
"LookupTable", lookupTableProperty);
854 std::string lutType = lookupTable->typenameList[i];
856 while (lutType !=
"END_OF_ARRAY")
859 tmp->setCheckable(
true);
861 if (lutType == lookupTable->GetActiveTypeAsString())
863 tmp->setChecked(
true);
868 lutType = lookupTable->typenameList[++i];
880 if(!representationProp)
892 tmp->setCheckable(
true);
896 tmp->setChecked(
true);
899 QObject::connect( tmp, SIGNAL( triggered(
bool) )
912 if(!representationProp)
915 QAction* senderAction = qobject_cast<QAction*> ( QObject::sender() );
920 std::string activatedItem = senderAction->text().toStdString();
926 representationProp->
SetValue( activatedItem );
927 representationProp->InvokeEvent( itk::ModifiedEvent() );
928 representationProp->Modified();
940 if (renderWindow == NULL)
941 renderWindow = this->OpenRenderWindowPart(
false);
948 if ( basedata.IsNotNull() &&
949 basedata->GetTimeGeometry()->IsValid() )
959 QModelIndexList indexesOfSelectedRowsFiltered =
m_NodeTreeView->selectionModel()->selectedRows();
960 QModelIndexList indexesOfSelectedRows;
961 for (
int i = 0; i < indexesOfSelectedRowsFiltered.size(); ++i)
963 indexesOfSelectedRows.push_back(
m_FilterModel->mapToSource(indexesOfSelectedRowsFiltered[i]));
965 if(indexesOfSelectedRows.size() < 1)
969 std::vector<mitk::DataNode::Pointer> selectedNodes;
972 QString question = tr(
"Do you really want to remove ");
974 for (QModelIndexList::iterator it = indexesOfSelectedRows.begin()
975 ; it != indexesOfSelectedRows.end(); it++)
979 if ( node.IsNotNull() )
981 selectedNodes.push_back(node);
982 question.append(QString::fromStdString(node->GetName()));
983 question.append(
", ");
987 question = question.remove(question.size()-2, 2);
988 question.append(tr(
" from data storage?"));
990 QMessageBox::StandardButton answerButton = QMessageBox::question(
m_Parent
993 , QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
995 if(answerButton == QMessageBox::Yes)
997 for (std::vector<mitk::DataNode::Pointer>::iterator it = selectedNodes.begin()
998 ; it != selectedNodes.end(); it++)
1014 node->SetVisibility(
false);
1026 node->SetVisibility(selectedNodes.contains(node));
1035 bool isVisible =
false;
1039 node->GetBoolProperty(
"visible", isVisible);
1040 node->SetVisibility(!isVisible);
1049 QmitkInfoDialog _QmitkInfoDialog(selectedNodes, this->
m_Parent);
1050 _QmitkInfoDialog.exec();
1057 QMetaObject::invokeMethod(
m_FilterModel,
"invalidate", Qt::QueuedConnection );
1060 QItemSelectionModel *QmitkDataManagerView::GetDataNodeSelectionModel()
const
1069 if (renderWindow == NULL)
1070 renderWindow = this->OpenRenderWindowPart(
false);
1073 if (renderWindow == NULL)
return;
1079 const QModelIndex & ,
int ,
int )
1085 QModelIndex viewIndex =
m_FilterModel->mapFromSource(parent);
1091 this->OpenRenderWindowPart();
1102 if ( node.IsNotNull() )
1103 node->SetBoolProperty(
"selected",
false);
1111 if ( node.IsNotNull() )
1112 node->SetBoolProperty(
"selected",
true);
1127 if (activatedEditor)
QmitkNodeDescriptor * GetUnknownDataNodeDescriptor() const
QSignalMapper * m_ShowInMapper
Maps "Show in" actions to editor ids.
virtual bool SetValue(const std::string &name)
mitk::IRenderWindowPart * GetRenderWindowPart(IRenderWindowPartStrategies strategies=NONE) const
virtual void CreateQtPartControl(QWidget *parent) override
Create the view here.
virtual std::string GetValueAsString() const override
QAction * m_ColormapAction
Lookuptable selection action.
virtual ~QmitkDataManagerView()
Standard dtor.
void ShowIn(const QString &editorId)
Opens the editor with the given id using the current data storage.
mitk::NodePredicateBase::Pointer m_NodeWithNoDataFilterPredicate
void OpacityChanged(int value)
QPushButton * m_ColorButton
button to change the color of a node
virtual bool IsValidEnumerationValue(const IdType &val) const
QmitkNodeQmitkNodeDescriptor is Decorator class for the mitk::DataNode which enhances certain mitk::D...
void MakeAllNodesInvisible(bool checked=false)
Invoked when the visibility of the selected nodes should be toggled.
vcl_size_t m_CurrentRowCount
saves the current amount of rows shown in the datamanager
virtual mitk::IRenderingManager * GetRenderingManager() const =0
bool m_GlobalReinitOnNodeDelete
if true, GlobalReinit() is called if a node is deleted
QmitkDataStorageTreeModel * m_NodeTreeModel
A plain widget as the base pane.
void SetAllowHierarchyChange(bool allowHierarchyChange)
Set whether to allow hierarchy changes by dragging and dropping.
bool GetBoolProperty(const char *propertyKey, bool &boolValue, const mitk::BaseRenderer *renderer=nullptr) const
Convenience access method for bool properties (instances of BoolProperty)
Interface for a MITK Workbench Part providing a render window.
void ComponentActionChanged()
QmitkDataManagerItemDelegate * m_ItemDelegate
virtual SmartPointer< IPreferences > GetSystemPreferences()=0
BaseData * GetData() const
Get the data object (instance of BaseData, e.g., an Image) managed by this DataNode.
void NodeTableViewContextMenuRequested(const QPoint &index)
Shows a node context menu.
QmitkDataStorageFilterProxyModel * m_FilterModel
void OpacityActionChanged()
std::vector< std::pair< QmitkNodeDescriptor *, QAction * > > m_DescriptorActionList
A list of ALL actions for the Context Menu
mitk::BaseProperty * GetProperty(const char *propertyKey, const mitk::BaseRenderer *renderer=nullptr) const
Get the property (instance of BaseProperty) with key propertyKey from the PropertyList of the rendere...
virtual bool InitializeViews(const BaseGeometry *geometry, RenderingManager::RequestType type=RenderingManager::REQUEST_UPDATE_ALL, bool preserveRoughOrientationInWorldSpace=false)=0
QmitkNumberPropertySlider * m_ComponentSlider
A Slider widget to change the rendered vector component of an image.
virtual bool GetBool(const QString &key, bool def) const =0
QSlider * m_OpacitySlider
A Slider widget to change the opacity of a node.
mitk::NodePredicateBase::Pointer m_HelperObjectFilterPredicate
static const QString VIEW_ID
std::map< QAction *, berry::IConfigurationElement::Pointer > m_ConfElements
void SetPlaceNewNodesOnTop(bool _PlaceNewNodesOnTop)
QAction * m_SurfaceRepresentation
SurfaceRepresentation action.
void OnPreferencesChanged(const berry::IBerryPreferences *) override
void ColormapActionToggled(bool)
changes the active colormap
void SetProperty(mitk::IntProperty *property)
QList< QAction * > m_ShowInActions
A list of "Show in" actions.
void SetFloatProperty(const char *propertyKey, float floatValue, const mitk::BaseRenderer *renderer=nullptr)
Convenience method for setting float properties (instances of FloatProperty)
void NodeTreeViewRowsInserted(const QModelIndex &parent, int start, int end)
When rows are inserted auto expand them.
QmitkDnDFrameWidget * m_DndFrameWidget
QAction * m_TextureInterpolation
TextureInterpolation action.
mitk::IDataStorageReference::Pointer GetDataStorageReference() const
The LookupTableProperty class Property to associate mitk::LookupTable to an mitk::DataNode.
void TextureInterpolationToggled(bool checked)
A View class that can show all data tree nodes of a certain DataStorage.
static Pointer New(mitk::BaseData *_arg)
virtual QList< IEditorDescriptor::Pointer > GetEditors(const QString &fileName)=0
static RenderingManager * GetInstance()
bool GetFloatProperty(const char *propertyKey, float &floatValue, const mitk::BaseRenderer *renderer=nullptr) const
Convenience access method for float properties (instances of FloatProperty)
void ColorActionChanged()
void SurfaceRepresentationActionToggled(bool checked)
EnumIdsContainerType::const_iterator EnumConstIterator
Image class for storing images.
virtual QList< SmartPointer< IConfigurationElement > > GetConfigurationElementsFor(const QString &extensionPointId) const =0
QMenu * m_NodeMenu
The context menu that shows up when right clicking on a node.
int rowCount(const QModelIndex &parent=QModelIndex()) const override
void TextureInterpolationChanged()
bool HasFilterPredicate(mitk::NodePredicateBase::Pointer pred)
bool RemoveFilterPredicate(mitk::NodePredicateBase::Pointer pred)
mitk::DataNode::Pointer GetNode(const QModelIndex &index) const
const mitk::PixelType GetPixelType(int n=0) const
Returns the PixelType of channel n.
QmitkNodeDescriptor * GetDescriptor(const mitk::DataNode *_Node) const
static Pointer New(const char *_arg)
itk::RGBPixel< float > Color
Color Standard RGB color typedef (float)
void RemoveSelectedNodes(bool checked=false)
Invoked when an element should be removed.
void AddFilterPredicate(mitk::NodePredicateBase::Pointer pred)
void ColormapMenuAboutToShow()
Agreggates available colormaps.
void SetBoolProperty(const char *propertyKey, bool boolValue, const mitk::BaseRenderer *renderer=nullptr)
Convenience method for setting boolean properties (instances of BoolProperty)
virtual EnumConstIterator End() const
QTreeView * m_NodeTreeView
The Table view to show the selected nodes.
virtual QList< mitk::DataNode::Pointer > GetNodeSet() const
virtual void NodeChanged(const mitk::DataNode *) override
virtual EnumConstIterator Begin() const
void NodeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Whenever the selection changes set the "selected" property respectively.
void ReinitSelectedNodes(bool checked=false)
Invoked when an element should be reinitiliased.
vcl_size_t GetNumberOfComponents() const
Get the number of components of which each element consists.
void ShowOnlySelectedNodes(bool checked=false)
Makes all selected nodes visible, all other nodes invisible.
void SurfaceRepresentationMenuAboutToShow()
void ShowInfoDialogForSelectedNodes(bool checked=false)
Invoked when infos of the selected nodes should be shown in a dialog.
MITKMATCHPOINTREGISTRATION_EXPORT ResultImageType::Pointer map(const InputImageType *input, const RegistrationType *registration, bool throwOnOutOfInputAreaError=false, const double &paddingValue=0, const ResultImageGeometryType *resultGeometry=NULL, bool throwOnMappingError=true, const double &errorValue=0, mitk::ImageMappingInterpolator::Type interpolatorType=mitk::ImageMappingInterpolator::Linear)
bool GetPlaceNewNodesOnTopFlag()
QList< QAction * > GetActions(const mitk::DataNode *_Node) const
bool m_SurfaceDecimation
flag indicating whether a surface created from a selected decimation is decimated with vtkQuadricDeci...
void SetProperty(const char *propertyKey, BaseProperty *property, const mitk::BaseRenderer *renderer=nullptr)
Set the property (instance of BaseProperty) with key propertyKey in the PropertyList of the renderer ...
void NodeTreeViewRowsRemoved(const QModelIndex &parent, int start, int end)
will setup m_CurrentRowCount
QmitkDataManagerView()
Standard ctor.
void ToggleVisibilityOfSelectedNodes(bool checked=false)
Invoked when the visibility of the selected nodes should be toggled.
mitk::DataStorage::Pointer GetDataStorage() const
virtual void InitializeViewsByBoundingObjects(const DataStorage *)
Initializes the renderwindows by the aggregated geometry of all objects that are held in the data sto...
virtual IEditorRegistry * GetEditorRegistry() const =0
QList< mitk::DataNode::Pointer > GetCurrentSelection() const
static const int MATCH_ID
void GlobalReinit(bool checked=false)
Reinits everything.
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)
static QmitkNodeDescriptorManager * GetInstance()
virtual void AddAction(QAction *action, bool isBatchAction=true)
Class for nodes of the DataTree.
IWorkbenchPartSite::Pointer GetSite() const override
void ContextMenuActionTriggered(bool)
will be toggled when a extension point context menu action is toggled this is a proxy method which wi...