summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/data/qitemmodelsurfacedataproxy.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-26 14:53:50 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-27 11:29:30 +0200
commit7c942cc0f497fe7e61ce6a10fce45771c0858e09 (patch)
treeaab5d2285b8e583f3565e305e0818a49503cf95c /src/datavisualization/data/qitemmodelsurfacedataproxy.h
parente029d0ea1d486dd3dbbfa4519a2125da202f22e4 (diff)
Integrated item model mappings to item model proxies
Separate mapping object was redundant. Task-number: QTRD-2564 Change-Id: I6b1a23ba52dbb184f46df0fdd64184eeb145c0c3 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/data/qitemmodelsurfacedataproxy.h')
-rw-r--r--src/datavisualization/data/qitemmodelsurfacedataproxy.h70
1 files changed, 59 insertions, 11 deletions
diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.h b/src/datavisualization/data/qitemmodelsurfacedataproxy.h
index 080bf54b..843fa3af 100644
--- a/src/datavisualization/data/qitemmodelsurfacedataproxy.h
+++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.h
@@ -20,7 +20,6 @@
#define QITEMMODELSURFACEDATAPROXY_H
#include <QtDataVisualization/qsurfacedataproxy.h>
-#include <QtDataVisualization/qitemmodelsurfacedatamapping.h>
#include <QAbstractItemModel>
#include <QStringList>
@@ -31,30 +30,79 @@ class QItemModelSurfaceDataProxyPrivate;
class QT_DATAVISUALIZATION_EXPORT QItemModelSurfaceDataProxy : public QSurfaceDataProxy
{
Q_OBJECT
- Q_PROPERTY(const QAbstractItemModel* itemModel READ itemModel WRITE setItemModel)
- Q_PROPERTY(QItemModelSurfaceDataMapping* activeMapping READ activeMapping WRITE setActiveMapping)
+ Q_PROPERTY(const QAbstractItemModel* itemModel READ itemModel WRITE setItemModel NOTIFY itemModelChanged)
+ Q_PROPERTY(QString rowRole READ rowRole WRITE setRowRole NOTIFY rowRoleChanged)
+ Q_PROPERTY(QString columnRole READ columnRole WRITE setColumnRole NOTIFY columnRoleChanged)
+ Q_PROPERTY(QString valueRole READ valueRole WRITE setValueRole NOTIFY valueRoleChanged)
+ Q_PROPERTY(QStringList rowCategories READ rowCategories WRITE setRowCategories NOTIFY rowCategoriesChanged)
+ Q_PROPERTY(QStringList columnCategories READ columnCategories WRITE setColumnCategories NOTIFY columnCategoriesChanged)
+ Q_PROPERTY(bool useModelCategories READ useModelCategories WRITE setUseModelCategories NOTIFY useModelCategoriesChanged)
+ Q_PROPERTY(bool autoRowCategories READ autoRowCategories WRITE setAutoRowCategories NOTIFY autoRowCategoriesChanged)
+ Q_PROPERTY(bool autoColumnCategories READ autoColumnCategories WRITE setAutoColumnCategories NOTIFY autoColumnCategoriesChanged)
public:
- explicit QItemModelSurfaceDataProxy();
- explicit QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel,
- QItemModelSurfaceDataMapping *mapping);
+ explicit QItemModelSurfaceDataProxy(QObject *parent = 0);
+ QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, QObject *parent = 0);
+ QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, const QString &valueRole,
+ QObject *parent = 0);
+ QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, const QString &rowRole,
+ const QString &columnRole, const QString &valueRole,
+ QObject *parent = 0);
+ QItemModelSurfaceDataProxy(const QAbstractItemModel *itemModel, const QString &rowRole,
+ const QString &columnRole, const QString &valueRole,
+ const QStringList &rowCategories, const QStringList &columnCategories,
+ QObject *parent = 0);
virtual ~QItemModelSurfaceDataProxy();
void setItemModel(const QAbstractItemModel *itemModel);
const QAbstractItemModel *itemModel() const;
- void setActiveMapping(QItemModelSurfaceDataMapping *mapping);
- QItemModelSurfaceDataMapping *activeMapping() const;
- void addMapping(QItemModelSurfaceDataMapping *mapping);
- void releaseMapping(QItemModelSurfaceDataMapping *mapping);
- QList<QItemModelSurfaceDataMapping *> mappings() const;
+ void setRowRole(const QString &role);
+ QString rowRole() const;
+ void setColumnRole(const QString &role);
+ QString columnRole() const;
+ void setValueRole(const QString &role);
+ QString valueRole() const;
+
+ void setRowCategories(const QStringList &categories);
+ QStringList rowCategories() const;
+ void setColumnCategories(const QStringList &categories);
+ QStringList columnCategories() const;
+
+ void setUseModelCategories(bool enable);
+ bool useModelCategories() const;
+ void setAutoRowCategories(bool enable);
+ bool autoRowCategories() const;
+ void setAutoColumnCategories(bool enable);
+ bool autoColumnCategories() const;
+
+ void remap(const QString &rowRole, const QString &columnRole,
+ const QString &valueRole, const QStringList &rowCategories,
+ const QStringList &columnCategories);
+
+ Q_INVOKABLE int rowCategoryIndex(const QString& category);
+ Q_INVOKABLE int columnCategoryIndex(const QString& category);
+
+signals:
+ void itemModelChanged(const QAbstractItemModel* itemModel);
+ void rowRoleChanged(QString role);
+ void columnRoleChanged(QString role);
+ void valueRoleChanged(QString role);
+ void rowCategoriesChanged(QStringList categories);
+ void columnCategoriesChanged(QStringList categories);
+ void useModelCategoriesChanged(bool enable);
+ void autoRowCategoriesChanged(bool enable);
+ void autoColumnCategoriesChanged(bool enable);
protected:
QItemModelSurfaceDataProxyPrivate *dptr();
const QItemModelSurfaceDataProxyPrivate *dptrc() const;
private:
+ void connectItemModelHandler();
Q_DISABLE_COPY(QItemModelSurfaceDataProxy)
+
+ friend class SurfaceItemModelHandler;
};
QT_DATAVISUALIZATION_END_NAMESPACE