| 207 | } |
| 208 | |
| 209 | bool |
| 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 | } |
nothing calls this directly
no test coverage detected