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;
}
1.7.2