| 19 | } |
| 20 | |
| 21 | void QmitkFlatLabelInstanceProxyModel::setSourceModel(QAbstractItemModel* sourceModel) |
| 22 | { |
| 23 | auto labelModel = dynamic_cast<QmitkMultiLabelTreeModel*>(sourceModel); |
| 24 | if (nullptr == labelModel) |
| 25 | mitkThrow() << "Error. QmitkFlatLabelInstanceProxyModel only accepts QmitkMultiLabelTreeModel as source."; |
| 26 | this->beginResetModel(); |
| 27 | QAbstractProxyModel::setSourceModel(sourceModel); |
| 28 | endResetModel(); |
| 29 | |
| 30 | if (!sourceModel) |
| 31 | return; |
| 32 | |
| 33 | connect(labelModel, &QAbstractItemModel::modelReset, this, &QmitkFlatLabelInstanceProxyModel::OnSourceModelReset); |
| 34 | connect(labelModel, &QmitkMultiLabelTreeModel::modelChanged, this, &QmitkFlatLabelInstanceProxyModel::OnSourceDataChanged); |
| 35 | |
| 36 | this->RebuildMapping(); |
| 37 | } |
| 38 | |
| 39 | void QmitkFlatLabelInstanceProxyModel::RebuildMapping() |
| 40 | { |