15 #include <QStringList> 18 #include <QFileDialog> 32 m_Types(),
m_DataStorage(
nullptr), m_Predicate(
nullptr), m_TagProperty(
nullptr), m_TagPropertyName()
39 if (index.isValid() ==
false)
40 return QStyledItemDelegate::createEditor(parent, option, index);
42 switch (index.column())
46 return new QLabel(
"", parent);
50 auto c =
new QComboBox(parent);
62 return QStyledItemDelegate::createEditor(parent, option, index);
69 if (index.isValid() ==
false)
72 switch (index.column())
76 QLabel* l = qobject_cast<QLabel*>(editor);
77 if (l->text().isEmpty())
79 QString fileName = index.data().value<QString>();
80 fileName = QFileDialog::getOpenFileName(editor,
"Open SROM file", fileName,
"SROM files (*.rom)");
81 QLabel* l = qobject_cast<QLabel*>(editor);
88 QString type = index.data().value<QString>();
89 QComboBox* c = qobject_cast<QComboBox*>(editor);
90 c->setCurrentIndex(c->findText(type));
91 connect(c, SIGNAL(currentIndexChanged(
int)),
this, SLOT(ComboBoxCurrentIndexChanged(
int)));
100 dsc->setCurrentIndex(dsc->findText(QString::fromStdString(n->GetName())));
101 connect(dsc, SIGNAL(currentIndexChanged(
int)),
this, SLOT(ComboBoxCurrentIndexChanged(
int)));
109 QStyledItemDelegate::setEditorData(editor, index);
116 if (index.isValid() ==
false)
119 switch (index.column())
123 QLabel* l = qobject_cast<QLabel*>(editor);
126 model->setData(index, l->text());
131 QComboBox* c = qobject_cast<QComboBox*>(editor);
133 model->setData(index, c->currentText(), Qt::DisplayRole);
143 model->setData(index, QString::fromStdString(dsc->
GetSelectedNode()->GetName()));
144 if ((m_TagProperty.IsNotNull()) && (m_TagPropertyName.empty() ==
false))
145 dsc->
GetSelectedNode()->SetProperty(m_TagPropertyName.c_str(), m_TagProperty);
153 QStyledItemDelegate::setModelData(editor, model, index);
157 void QmitkNDIToolDelegate::commitAndCloseEditor()
174 void QmitkNDIToolDelegate::ComboBoxCurrentIndexChanged(
int )
176 if(QComboBox *comboBox = qobject_cast<QComboBox *>(sender()))
178 emit commitData(comboBox);
179 emit closeEditor(comboBox);
204 m_TagProperty = prop;
209 m_TagPropertyName = name;
virtual mitk::DataNode::Pointer GetSelectedNode() const
Returns the selected dataNode or 0 if there is none.
Data management class that handles 'was created by' relations.
Displays all or a subset (defined by a predicate) of nodes of the Data Storage.
mitk::DataStorage::Pointer m_DataStorage