diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-06-17 12:06:23 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-06-17 12:12:41 +0300 |
commit | 271cb84942640411eed217c2fa6cfbcb69008355 (patch) | |
tree | 39c0c2945150ad6069b3b18137faa5e8cdc2a0a2 /src/datavis3dqml2/declarativebars.cpp | |
parent | c428d88f5f2fa1026b6cf6d847a5162b12092b9f (diff) |
Passing QML ListModel to C++ QAbstractItemModel works partially
Setting ListModel to setData works.
Adding custom type (DataItem) to ListElement does not work.
Change-Id: I98f333367a37cc28fe9443e83f3b5d7647233ab6
Change-Id: I98f333367a37cc28fe9443e83f3b5d7647233ab6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3dqml2/declarativebars.cpp')
-rw-r--r-- | src/datavis3dqml2/declarativebars.cpp | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/datavis3dqml2/declarativebars.cpp b/src/datavis3dqml2/declarativebars.cpp index 3e781059..f29d98f7 100644 --- a/src/datavis3dqml2/declarativebars.cpp +++ b/src/datavis3dqml2/declarativebars.cpp @@ -72,6 +72,16 @@ DeclarativeBars::~DeclarativeBars() delete m_shared; } +void DeclarativeBars::classBegin() +{ + qDebug() << "classBegin"; +} + +void DeclarativeBars::componentComplete() +{ + qDebug() << "componentComplete"; +} + QSGNode *DeclarativeBars::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) { qDebug() << "Enter DeclarativeBars::updatePaintNode"; @@ -105,6 +115,11 @@ QSGNode *DeclarativeBars::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData m_cachedState->m_dataRow = 0; } + if (m_cachedState->m_dataSet) { + m_shared->addDataSet(m_cachedState->m_dataSet); + m_cachedState->m_dataSet = 0; + } + if (m_cachedState->m_isSelectionModeSet) { m_shared->setSelectionMode(m_cachedState->m_selectionMode); m_cachedState->m_isSelectionModeSet = false; @@ -237,17 +252,18 @@ void DeclarativeBars::setTickCount(GLint tickCount, GLfloat step, GLfloat minimu void DeclarativeBars::setData(QAbstractItemModel *data) { + qDebug() << "setData"; QDataSet *dataset = new QDataSet(); + qDebug() << data << data->rowCount() << data->columnCount(); + // Get sample space size from data, and set it - m_shared->setupSampleSpace(data->rowCount(), data->columnCount()); + setupSampleSpace(data->rowCount(), data->columnCount()); // TODO: Maps data in QAbstractItemModel to qdatarows and qdataset - qDebug() << data; - // Add data to scene - m_shared->addDataSet(dataset); + addDataSet(dataset); } QAbstractItemModel *DeclarativeBars::data() @@ -293,7 +309,7 @@ void DeclarativeBars::addDataSet(const QVector< QVector<QDataItem*> > &data, void DeclarativeBars::addDataSet(QDataSet* dataSet) { - m_shared->addDataSet(dataSet); + m_cachedState->m_dataSet = dataSet; } void DeclarativeBars::setSelectionMode(DeclarativeBars::SelectionMode mode) @@ -395,7 +411,8 @@ DeclarativeBarsCachedStatePrivate::DeclarativeBarsCachedStatePrivate() : m_labelRow(QStringLiteral("")), m_labelColumn(QStringLiteral("")), m_labelHeight(QStringLiteral("")), - m_dataRow(0) + m_dataRow(0), + m_dataSet(0) { } |