Toolkit includes. More...
#include <QmitkPlanarFiguresTableModel.h>
Public Member Functions | |
QmitkPlanarFiguresTableModel (mitk::DataStorage::Pointer _DataStorage, mitk::NodePredicateBase *_Predicate=0, QObject *parent=0) | |
virtual | ~QmitkPlanarFiguresTableModel () |
QVariant | headerData (int section, Qt::Orientation orientation, int role) const |
Qt::ItemFlags | flags (const QModelIndex &index) const |
int | columnCount (const QModelIndex &parent) const |
QVariant | data (const QModelIndex &index, int role) const |
Toolkit includes.
Forward declarations.
A table model for a set of DataNodes defined by a predicate. make columns interchangeable, select which properties to show as columns
Definition at line 32 of file QmitkPlanarFiguresTableModel.h.
QmitkPlanarFiguresTableModel::QmitkPlanarFiguresTableModel | ( | mitk::DataStorage::Pointer | _DataStorage, |
mitk::NodePredicateBase * | _Predicate = 0 , |
||
QObject * | parent = 0 |
||
) |
Constructs a new QmitkPlanarFiguresTableModel and sets a predicate that defines this list.
Definition at line 23 of file QmitkPlanarFiguresTableModel.cpp.
: QmitkDataStorageTableModel(_DataStorage, _Predicate, parent) { }
QmitkPlanarFiguresTableModel::~QmitkPlanarFiguresTableModel | ( | ) | [virtual] |
Standard dtor. Delete predicate, disconnect from DataStorage.
Definition at line 29 of file QmitkPlanarFiguresTableModel.cpp.
{ }
int QmitkPlanarFiguresTableModel::columnCount | ( | const QModelIndex & | parent ) | const [virtual] |
Overridden from QAbstractTableModel. Returns the number of features (columns) to display.
Reimplemented from QmitkDataStorageTableModel.
Definition at line 68 of file QmitkPlanarFiguresTableModel.cpp.
{
return 2;
}
QVariant QmitkPlanarFiguresTableModel::data | ( | const QModelIndex & | index, |
int | role | ||
) | const [virtual] |
Overridden from QAbstractTableModel. Returns the data at index for given role.
Reimplemented from QmitkDataStorageTableModel.
Definition at line 73 of file QmitkPlanarFiguresTableModel.cpp.
References mitk::PlanarAngle::FEATURE_ID_ANGLE, QmitkNodeDescriptorManager::GetDescriptor(), mitk::PlanarFigure::GetFeatureName(), mitk::PlanarFigure::GetFeatureUnit(), QmitkNodeDescriptor::GetIcon(), QmitkNodeDescriptorManager::GetInstance(), mitk::PlanarFigure::GetNumberOfFeatures(), mitk::PlanarFigure::GetQuantity(), and QmitkDataStorageTableModel::m_NodeSet.
{ QVariant data; if(!index.isValid()) return data; mitk::DataNode::Pointer node = this->m_NodeSet.at(index.row()); if(!node) return data; if(index.column() == 0 && role == Qt::DecorationRole) { if(node) { QmitkNodeDescriptor* nodeDescriptor = QmitkNodeDescriptorManager::GetInstance()->GetDescriptor(node); data = nodeDescriptor->GetIcon(); } } else if(index.column() == 1) { if(role == Qt::DisplayRole || role == Qt::ToolTipRole) { QString info; mitk::PlanarFigure* planarFigure = dynamic_cast<mitk::PlanarFigure*>(node->GetData()); if(!planarFigure) return data; mitk::PlanarAngle* planarAngle = dynamic_cast<mitk::PlanarAngle*>(planarFigure); double featureQuantity; for(unsigned int i=0; i<planarFigure->GetNumberOfFeatures(); ++i) { featureQuantity = planarFigure->GetQuantity(i); if(planarAngle && i == planarAngle->FEATURE_ID_ANGLE) featureQuantity = featureQuantity * 180 / vnl_math::pi; //std::ostringstream s; s.precision(2); s << featureQuantity; info.append(QString("%1: %2 %3") .arg(QString(planarFigure->GetFeatureName(i))) .arg(featureQuantity, 0, 'f', 2) .arg(QString(planarFigure->GetFeatureUnit(i)))); if((i+1) != planarFigure->GetNumberOfFeatures()) info.append(", "); data = info; } } } else return QmitkDataStorageTableModel::data(index, role); return data; }
Qt::ItemFlags QmitkPlanarFiguresTableModel::flags | ( | const QModelIndex & | index ) | const [virtual] |
Overridden from QAbstractTableModel. Returns what can be done with an item.
Reimplemented from QmitkDataStorageTableModel.
Definition at line 59 of file QmitkPlanarFiguresTableModel.cpp.
{ // name & visibility is editable if (index.column() == 0) return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable; else return Qt::ItemIsEnabled | Qt::ItemIsSelectable; }
QVariant QmitkPlanarFiguresTableModel::headerData | ( | int | section, |
Qt::Orientation | orientation, | ||
int | role | ||
) | const [virtual] |
Overridden from QAbstractTableModel. Returns the header data at section for given orientation and role.
Reimplemented from QmitkDataStorageTableModel.
Definition at line 34 of file QmitkPlanarFiguresTableModel.cpp.
{ QVariant headerData; // show only horizontal header if ( role == Qt::DisplayRole ) { if( orientation == Qt::Horizontal ) { // first column: "Name" if(section == 0) headerData = "Name"; else if(section == 1) headerData = "Info"; } else if( orientation == Qt::Vertical ) { // show numbers for rows headerData = section+1; } } return headerData; }