#include <QmitkToolRoiDataSelectionBox.h>

Signals | |
| void | RoiDataSelected (const mitk::DataNode *node) |
Public Member Functions | |
| QmitkToolRoiDataSelectionBox (QWidget *parent=0, mitk::DataStorage *storage=0) | |
| virtual | ~QmitkToolRoiDataSelectionBox () |
| mitk::DataStorage * | GetDataStorage () |
| void | SetDataStorage (mitk::DataStorage &storage) |
| mitk::ToolManager * | GetToolManager () |
| void | SetToolManager (mitk::ToolManager &manager) |
| void | OnToolManagerRoiDataModified () |
| mitk::ToolManager::DataVectorType | GetSelection () |
| void | UpdateComboBoxData () |
| void | setEnabled (bool) |
Protected Slots | |
| void | OnRoiDataSelectionChanged (const QString &name) |
Protected Attributes | |
| QmitkBoundingObjectWidget * | m_boundingObjectWidget |
| QComboBox * | m_segmentationComboBox |
| mitk::ToolManager::Pointer | m_ToolManager |
| bool | m_SelfCall |
| mitk::DataNode::Pointer | m_lastSelection |
| QString | m_lastSelectedName |
Definition at line 9 of file QmitkToolRoiDataSelectionBox.h.
| QmitkToolRoiDataSelectionBox::QmitkToolRoiDataSelectionBox | ( | QWidget * | parent = 0, |
| mitk::DataStorage * | storage = 0 |
||
| ) |
Definition at line 6 of file QmitkToolRoiDataSelectionBox.cpp.
References m_boundingObjectWidget, m_segmentationComboBox, m_ToolManager, mitk::ToolManager::New(), OnRoiDataSelectionChanged(), and OnToolManagerRoiDataModified().
:QWidget(parent), m_SelfCall(false), m_lastSelection(NULL), m_lastSelectedName(tr("none")) { QBoxLayout* mainLayout = new QVBoxLayout(this); m_segmentationComboBox = new QComboBox(this); QLabel* label = new QLabel("region of interest:", this); m_boundingObjectWidget = new QmitkBoundingObjectWidget(); mainLayout->addWidget(label); mainLayout->addWidget(m_segmentationComboBox); mainLayout->addWidget(m_boundingObjectWidget); //connect signals connect(m_segmentationComboBox, SIGNAL(activated(const QString&)), this, SLOT(OnRoiDataSelectionChanged(const QString&)) ); connect(m_boundingObjectWidget, SIGNAL(BoundingObjectsChanged(const QString&)), this, SLOT(OnRoiDataSelectionChanged(const QString&)) ); //create ToolManager m_ToolManager = mitk::ToolManager::New(storage); //setup message delegates m_ToolManager->RoiDataChanged += mitk::MessageDelegate<QmitkToolRoiDataSelectionBox> (this, &QmitkToolRoiDataSelectionBox::OnToolManagerRoiDataModified); }
| QmitkToolRoiDataSelectionBox::~QmitkToolRoiDataSelectionBox | ( | ) | [virtual] |
Definition at line 34 of file QmitkToolRoiDataSelectionBox.cpp.
{
}
| mitk::DataStorage * QmitkToolRoiDataSelectionBox::GetDataStorage | ( | ) |
Definition at line 45 of file QmitkToolRoiDataSelectionBox.cpp.
References m_ToolManager.
{
return m_ToolManager->GetDataStorage();
}
| mitk::ToolManager::DataVectorType QmitkToolRoiDataSelectionBox::GetSelection | ( | ) |
| mitk::ToolManager * QmitkToolRoiDataSelectionBox::GetToolManager | ( | ) |
Definition at line 60 of file QmitkToolRoiDataSelectionBox.cpp.
References m_ToolManager.
{
return m_ToolManager;
}
| void QmitkToolRoiDataSelectionBox::OnRoiDataSelectionChanged | ( | const QString & | name ) | [protected, slot] |
Definition at line 72 of file QmitkToolRoiDataSelectionBox.cpp.
References QmitkBoundingObjectWidget::GetAllBoundingObjects(), m_boundingObjectWidget, m_lastSelectedName, m_lastSelection, m_SelfCall, m_ToolManager, and QmitkBoundingObjectWidget::setEnabled().
Referenced by QmitkToolRoiDataSelectionBox(), setEnabled(), and UpdateComboBoxData().
{
if (name.compare(tr("")) == 0)
return;
m_lastSelectedName = name;
m_boundingObjectWidget->setEnabled(false);
mitk::DataNode::Pointer selection = NULL;
if ( name.compare(tr("none"))==0);
else if (name.compare(tr("bounding objects"))==0)
{
m_boundingObjectWidget->setEnabled(true);
selection = m_boundingObjectWidget->GetAllBoundingObjects();
}
else
{
selection = m_ToolManager->GetDataStorage()->GetNamedNode(name.toLocal8Bit().data());
}
if (selection == m_lastSelection)
return;
m_lastSelection = selection;
m_SelfCall = true;
m_ToolManager->SetRoiData(selection);
m_SelfCall = false;
}
| void QmitkToolRoiDataSelectionBox::OnToolManagerRoiDataModified | ( | ) |
Definition at line 65 of file QmitkToolRoiDataSelectionBox.cpp.
References m_SelfCall.
Referenced by QmitkToolRoiDataSelectionBox(), and SetToolManager().
{
if (m_SelfCall)
return;
//UpdateComboBoxData();
}
| void QmitkToolRoiDataSelectionBox::RoiDataSelected | ( | const mitk::DataNode * | node ) | [signal] |
| void QmitkToolRoiDataSelectionBox::SetDataStorage | ( | mitk::DataStorage & | storage ) |
Definition at line 38 of file QmitkToolRoiDataSelectionBox.cpp.
References m_boundingObjectWidget, m_ToolManager, QmitkBoundingObjectWidget::SetDataStorage(), and UpdateComboBoxData().
{
m_ToolManager->SetDataStorage(storage);
m_boundingObjectWidget->SetDataStorage(&storage);
UpdateComboBoxData();
}
| void QmitkToolRoiDataSelectionBox::setEnabled | ( | bool | flag ) |
Definition at line 140 of file QmitkToolRoiDataSelectionBox.cpp.
References m_segmentationComboBox, and OnRoiDataSelectionChanged().
{
if (!flag)
this->OnRoiDataSelectionChanged(tr("none"));
m_segmentationComboBox->setEnabled(flag);
}| void QmitkToolRoiDataSelectionBox::SetToolManager | ( | mitk::ToolManager & | manager ) |
Definition at line 50 of file QmitkToolRoiDataSelectionBox.cpp.
References m_ToolManager, and OnToolManagerRoiDataModified().
{
//remove old messagedelegates
m_ToolManager->RoiDataChanged -= mitk::MessageDelegate<QmitkToolRoiDataSelectionBox> (this, &QmitkToolRoiDataSelectionBox::OnToolManagerRoiDataModified);
//set new toolmanager
m_ToolManager = &manager;
//add new message delegates
m_ToolManager->RoiDataChanged += mitk::MessageDelegate<QmitkToolRoiDataSelectionBox> (this, &QmitkToolRoiDataSelectionBox::OnToolManagerRoiDataModified);
}
| void QmitkToolRoiDataSelectionBox::UpdateComboBoxData | ( | ) |
Definition at line 101 of file QmitkToolRoiDataSelectionBox.cpp.
References m_lastSelectedName, m_segmentationComboBox, m_ToolManager, mitk::NodePredicateAnd::New(), mitk::NodePredicateNot::New(), mitk::NodePredicateDataType::New(), mitk::BoolProperty::New(), mitk::NodePredicateProperty::New(), and OnRoiDataSelectionChanged().
Referenced by SetDataStorage().
{
m_segmentationComboBox->clear();
m_segmentationComboBox->addItem(tr("none"));
m_segmentationComboBox->insertSeparator(1);
//predicates for combobox
mitk::NodePredicateProperty::Pointer isBinary= mitk::NodePredicateProperty::New("binary", mitk::BoolProperty::New(true));
mitk::NodePredicateDataType::Pointer isImage= mitk::NodePredicateDataType::New("Image");
mitk::NodePredicateProperty::Pointer isHelperObject= mitk::NodePredicateProperty::New("helper object", mitk::BoolProperty::New(true));
mitk::NodePredicateNot::Pointer isNotHelperObject = mitk::NodePredicateNot::New(isHelperObject);
mitk::NodePredicateAnd::Pointer segmentationPredicate = mitk::NodePredicateAnd::New(isImage, isBinary, isNotHelperObject);
mitk::DataStorage::SetOfObjects::ConstPointer allSegmentations = m_ToolManager->GetDataStorage()->GetSubset(segmentationPredicate);
QStringList names;
for (mitk::DataStorage::SetOfObjects::const_iterator it = allSegmentations->begin(); it != allSegmentations->end(); ++it)
{
mitk::DataNode::Pointer node = *it;
QString name = QString::fromLocal8Bit(node->GetName().c_str());
names.append(name);
}
if (names.length() > 0)
{
m_segmentationComboBox->addItems(names);
m_segmentationComboBox->insertSeparator(names.length()+2);
}
m_segmentationComboBox->addItem(tr("bounding objects"));
int id = m_segmentationComboBox->findText(m_lastSelectedName);
if (id < 0)
this->OnRoiDataSelectionChanged(tr("none"));
else
m_segmentationComboBox->setCurrentIndex(id);
}
Definition at line 39 of file QmitkToolRoiDataSelectionBox.h.
Referenced by OnRoiDataSelectionChanged(), QmitkToolRoiDataSelectionBox(), and SetDataStorage().
QString QmitkToolRoiDataSelectionBox::m_lastSelectedName [protected] |
Definition at line 46 of file QmitkToolRoiDataSelectionBox.h.
Referenced by OnRoiDataSelectionChanged(), and UpdateComboBoxData().
Definition at line 45 of file QmitkToolRoiDataSelectionBox.h.
Referenced by OnRoiDataSelectionChanged().
QComboBox* QmitkToolRoiDataSelectionBox::m_segmentationComboBox [protected] |
Definition at line 40 of file QmitkToolRoiDataSelectionBox.h.
Referenced by QmitkToolRoiDataSelectionBox(), setEnabled(), and UpdateComboBoxData().
bool QmitkToolRoiDataSelectionBox::m_SelfCall [protected] |
Definition at line 43 of file QmitkToolRoiDataSelectionBox.h.
Referenced by OnRoiDataSelectionChanged(), and OnToolManagerRoiDataModified().
Definition at line 42 of file QmitkToolRoiDataSelectionBox.h.
Referenced by GetDataStorage(), GetToolManager(), OnRoiDataSelectionChanged(), QmitkToolRoiDataSelectionBox(), SetDataStorage(), SetToolManager(), and UpdateComboBoxData().
1.7.2