MCPcopy Create free account
hub / github.com/MITK/MITK / setData

Method setData

Modules/RTUI/src/QmitkIsoDoseLevelSetModel.cpp:209–269  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207}
208
209bool
210 QmitkIsoDoseLevelSetModel::
211 setData(const QModelIndex &index, const QVariant &value, int role)
212{
213 if(!index.isValid() || (m_DoseSet->Size() <= static_cast<unsigned int>(index.row())) || (index.column()>3))
214 {
215 return false;
216 }
217
218 if(Qt::EditRole == role)
219 {
220 const mitk::IsoDoseLevel& level = m_DoseSet->GetIsoDoseLevel(static_cast<mitk::IsoDoseLevelSet::IsoLevelIndexType>(index.row()));
221 mitk::IsoDoseLevel::Pointer pNewLevel = level.Clone();
222 switch(index.column())
223 {
224 case 0:
225 {
226 QColor val = value.value<QColor>();
227 mitk::IsoDoseLevel::ColorType color;
228 color.SetRed(val.redF());
229 color.SetGreen(val.greenF());
230 color.SetBlue(val.blueF());
231 pNewLevel->SetColor(color);
232 emit dataChanged(index,index);
233 break;
234 }
235 case 1:
236 if (this->m_showAbsoluteDose)
237 {
238 pNewLevel->SetDoseValue(value.toDouble()/this->m_referenceDose);
239 }
240 else
241 {
242 pNewLevel->SetDoseValue(value.toDouble()/100.0);
243 }
244 emit dataChanged(index,index);
245 break;
246 case 2:
247 pNewLevel->SetVisibleIsoLine(value.toBool());
248 emit dataChanged(index,index);
249 break;
250 case 3:
251 pNewLevel->SetVisibleColorWash(value.toBool());
252 emit dataChanged(index,index);
253 break;
254 }
255
256 emit beginResetModel();
257
258 m_DoseSet->DeleteIsoDoseLevel(static_cast<mitk::IsoDoseLevelSet::IsoLevelIndexType>(index.row()));
259 m_DoseSet->SetIsoDoseLevel(pNewLevel);
260
261 m_modified = true;
262
263 emit endResetModel();
264
265 return true;
266 }

Callers

nothing calls this directly

Calls 6

DeleteIsoDoseLevelMethod · 0.80
SetIsoDoseLevelMethod · 0.80
SizeMethod · 0.45
rowMethod · 0.45
CloneMethod · 0.45
SetColorMethod · 0.45

Tested by

no test coverage detected