summaryrefslogtreecommitdiffstats
path: root/src/datavis3dqml2/declarativebars.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-06-17 12:06:23 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-06-17 12:12:41 +0300
commit271cb84942640411eed217c2fa6cfbcb69008355 (patch)
tree39c0c2945150ad6069b3b18137faa5e8cdc2a0a2 /src/datavis3dqml2/declarativebars.cpp
parentc428d88f5f2fa1026b6cf6d847a5162b12092b9f (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.cpp29
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)
{
}