diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-29 12:51:55 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-01-29 13:07:16 +0200 |
commit | 201a480af6ad2d36896570683ab87014827b9697 (patch) | |
tree | 3c12f6cf9c5a13a758e0e056515a05c96164b8d0 /src/datavisualization/data/qitemmodelbardataproxy.cpp | |
parent | e616a4737c932546ab5eadee8f4f766d35d260d7 (diff) |
Rotation support for item models
Task-number: QTRD-2654
Change-Id: Ie919c3032731724f750fc0ccb237379454009585
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/data/qitemmodelbardataproxy.cpp')
-rw-r--r-- | src/datavisualization/data/qitemmodelbardataproxy.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp index 97289da1..6a1e9c15 100644 --- a/src/datavisualization/data/qitemmodelbardataproxy.cpp +++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp @@ -105,6 +105,12 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ /*! + * \qmlproperty string ItemModelBarDataProxy::rotationRole + * + * Defines the rotation role for the mapping. + */ + +/*! * \qmlproperty list ItemModelBarDataProxy::rowCategories * The row categories of the mapping. Only items with row roles that are found in this list are * included when the data is resolved. The rows are ordered in the same order as they are in this list. @@ -195,6 +201,27 @@ QItemModelBarDataProxy::QItemModelBarDataProxy(const QAbstractItemModel *itemMod /*! * Constructs QItemModelBarDataProxy with \a itemModel and optional \a parent. Proxy doesn't take * ownership of the \a itemModel, as typically item models are owned by other controls. + * The role mappings are set with \a rowRole, \a columnRole, \a valueRole, and \a rotationRole. + */ +QItemModelBarDataProxy::QItemModelBarDataProxy(const QAbstractItemModel *itemModel, + const QString &rowRole, + const QString &columnRole, + const QString &valueRole, + const QString &rotationRole, + QObject *parent) + : QBarDataProxy(new QItemModelBarDataProxyPrivate(this), parent) +{ + dptr()->m_itemModelHandler->setItemModel(itemModel); + dptr()->m_rowRole = rowRole; + dptr()->m_columnRole = columnRole; + dptr()->m_valueRole = valueRole; + dptr()->m_rotationRole = rotationRole; + dptr()->connectItemModelHandler(); +} + +/*! + * Constructs QItemModelBarDataProxy with \a itemModel and optional \a parent. Proxy doesn't take + * ownership of the \a itemModel, as typically item models are owned by other controls. * The role mappings are set with \a rowRole, \a columnRole, and \a valueRole. * Row and column categories are set with \a rowCategories and \a columnCategories. * This constructor also sets autoRowCategories and autoColumnCategories to false. @@ -220,6 +247,35 @@ QItemModelBarDataProxy::QItemModelBarDataProxy(const QAbstractItemModel *itemMod } /*! + * Constructs QItemModelBarDataProxy with \a itemModel and optional \a parent. Proxy doesn't take + * ownership of the \a itemModel, as typically item models are owned by other controls. + * The role mappings are set with \a rowRole, \a columnRole, \a valueRole, and \a rotationRole. + * Row and column categories are set with \a rowCategories and \a columnCategories. + * This constructor also sets autoRowCategories and autoColumnCategories to false. + */ +QItemModelBarDataProxy::QItemModelBarDataProxy(const QAbstractItemModel *itemModel, + const QString &rowRole, + const QString &columnRole, + const QString &valueRole, + const QString &rotationRole, + const QStringList &rowCategories, + const QStringList &columnCategories, + QObject *parent) + : QBarDataProxy(new QItemModelBarDataProxyPrivate(this), parent) +{ + dptr()->m_itemModelHandler->setItemModel(itemModel); + dptr()->m_rowRole = rowRole; + dptr()->m_columnRole = columnRole; + dptr()->m_valueRole = valueRole; + dptr()->m_rotationRole = rotationRole; + dptr()->m_rowCategories = rowCategories; + dptr()->m_columnCategories = columnCategories; + dptr()->m_autoRowCategories = false; + dptr()->m_autoColumnCategories = false; + dptr()->connectItemModelHandler(); +} + +/*! * Destroys QItemModelBarDataProxy. */ QItemModelBarDataProxy::~QItemModelBarDataProxy() @@ -297,6 +353,24 @@ QString QItemModelBarDataProxy::valueRole() const } /*! + * \property QItemModelBarDataProxy::rotationRole + * + * Defines the rotation role for the mapping. + */ +void QItemModelBarDataProxy::setRotationRole(const QString &role) +{ + if (dptr()->m_rotationRole != role) { + dptr()->m_rotationRole = role; + emit rotationRoleChanged(role); + } +} + +QString QItemModelBarDataProxy::rotationRole() const +{ + return dptrc()->m_rotationRole; +} + +/*! * \property QItemModelBarDataProxy::rowCategories * * Defines the row categories for the mapping. |