##// END OF EJS Templates
QSplineSeries calculateControlPoints moved to splinechartitem. This way we don't need to deal with controlPoints on logaritmic scale
QSplineSeries calculateControlPoints moved to splinechartitem. This way we don't need to deal with controlPoints on logaritmic scale

File last commit:

r2102:f689de612f59
r2372:d6a999e30ac3
Show More
customtablemodel.cpp
107 lines | 3.0 KiB | text/x-c | CppLexer
Marek Rosa
Added barmodelmapper example
r1367 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
#include "customtablemodel.h"
#include <QVector>
#include <QTime>
#include <QRect>
#include <QColor>
CustomTableModel::CustomTableModel(QObject *parent) :
QAbstractTableModel(parent)
{
Jani Honkonen
coding style fixes for examples
r2098 qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime()));
Marek Rosa
Added barmodelmapper example
r1367
m_columnCount = 6;
Marek Rosa
Added documentation for BarModelMapper example
r1369 m_rowCount = 12;
Marek Rosa
Added barmodelmapper example
r1367
// m_data
Jani Honkonen
coding style fixes for examples
r2098 for (int i = 0; i < m_rowCount; i++) {
Marek Rosa
Added barmodelmapper example
r1367 QVector<qreal>* dataVec = new QVector<qreal>(m_columnCount);
Jani Honkonen
coding style fixes for examples
r2098 for (int k = 0; k < dataVec->size(); k++) {
if (k % 2 == 0)
dataVec->replace(k, i * 50 + qrand() % 20);
Marek Rosa
Added barmodelmapper example
r1367 else
Jani Honkonen
coding style fixes for examples
r2098 dataVec->replace(k, qrand() % 100);
Marek Rosa
Added barmodelmapper example
r1367 }
m_data.append(dataVec);
}
}
Jani Honkonen
more coding style fixes for examples...
r2102 int CustomTableModel::rowCount(const QModelIndex &parent) const
Marek Rosa
Added barmodelmapper example
r1367 {
Q_UNUSED(parent)
return m_data.count();
}
Jani Honkonen
more coding style fixes for examples...
r2102 int CustomTableModel::columnCount(const QModelIndex &parent) const
Marek Rosa
Added barmodelmapper example
r1367 {
Q_UNUSED(parent)
return m_columnCount;
}
Jani Honkonen
coding style fixes for examples
r2098 QVariant CustomTableModel::headerData(int section, Qt::Orientation orientation, int role) const
Marek Rosa
Added barmodelmapper example
r1367 {
if (role != Qt::DisplayRole)
return QVariant();
if (orientation == Qt::Horizontal)
return QString("201%1").arg(section);
else
Marek Rosa
Added documentation for BarModelMapper example
r1369 return QString("%1").arg(section + 1);
Marek Rosa
Added barmodelmapper example
r1367 }
Jani Honkonen
more coding style fixes for examples...
r2102 QVariant CustomTableModel::data(const QModelIndex &index, int role) const
Marek Rosa
Added barmodelmapper example
r1367 {
Jani Honkonen
coding style fixes for examples
r2098 if (role == Qt::DisplayRole) {
Marek Rosa
Added barmodelmapper example
r1367 return m_data[index.row()]->at(index.column());
Jani Honkonen
coding style fixes for examples
r2098 } else if (role == Qt::EditRole) {
Marek Rosa
Added barmodelmapper example
r1367 return m_data[index.row()]->at(index.column());
Jani Honkonen
coding style fixes for examples
r2098 } else if (role == Qt::BackgroundRole) {
Marek Rosa
Added barmodelmapper example
r1367 QRect rect;
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (rect, m_mapping)
Jani Honkonen
coding style fixes for examples
r2098 if (rect.contains(index.column(), index.row()))
return QColor(m_mapping.key(rect));
Marek Rosa
Added barmodelmapper example
r1367
// cell not mapped return white color
return QColor(Qt::white);
}
return QVariant();
}
Jani Honkonen
more coding style fixes for examples...
r2102 bool CustomTableModel::setData(const QModelIndex &index, const QVariant &value, int role)
Marek Rosa
Added barmodelmapper example
r1367 {
Jani Honkonen
coding style fixes for examples
r2098 if (index.isValid() && role == Qt::EditRole) {
Marek Rosa
Added barmodelmapper example
r1367 m_data[index.row()]->replace(index.column(), value.toDouble());
emit dataChanged(index, index);
return true;
}
return false;
}
Jani Honkonen
more coding style fixes for examples...
r2102 Qt::ItemFlags CustomTableModel::flags(const QModelIndex &index) const
Marek Rosa
Added barmodelmapper example
r1367 {
return QAbstractItemModel::flags(index) | Qt::ItemIsEditable;
}
void CustomTableModel::addMapping(QString color, QRect area)
{
m_mapping.insertMulti(color, area);
}