20 m_statisticsModel = model;
25 m_rootIndex = rootIndex;
30 if (m_statisticsModel ==
nullptr)
32 mitkThrow() <<
"Cannot convert TableModel to String: TableModel is nullptr";
36 int columns = m_statisticsModel->columnCount();
38 if (m_includeHeaderData)
40 for (
int i = 0; i < columns; i++)
44 textData += m_columnDelimiterWithSpace;
46 textData += m_statisticsModel->headerData(i, Qt::Horizontal).toString();
48 textData += m_lineDelimiter;
50 textData += Iterate(m_rootIndex, m_statisticsModel);
57 m_lineDelimiter = lineDelimiter;
62 m_columnDelimiterWithSpace = columnDelimiter + QString(
" ");
67 m_includeHeaderData = includeHeaderData;
70 QString QmitkStatisticsModelToStringConverter::Iterate(
const QModelIndex &index,
71 const QAbstractItemModel *model,
77 content = index.data().toString();
79 if (!model->hasChildren(index) || (index.flags() & Qt::ItemNeverHasChildren))
85 content += m_lineDelimiter;
88 auto rows = model->rowCount(index);
89 auto cols = model->columnCount(index);
90 for (
int i = 0; i < rows; ++i)
94 content += m_lineDelimiter;
96 for (
int j = 0; j < cols; ++j)
100 content += m_columnDelimiterWithSpace;
102 content += Iterate(model->index(i, j, index), model, depth + 1);
void SetTableModel(QAbstractItemModel *model)
void SetRootIndex(QModelIndex rootIndex)
void SetColumnDelimiter(QChar columnDelimiter)
QmitkStatisticsModelToStringConverter()
void SetIncludeHeaderData(bool includeHeaderData)
If header data (column/row captions) are exported.
QString GetString() const
Returns the string.
void SetRowDelimiter(QChar lineDelimiter)