summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine/bars3dcontroller_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-07-03 15:12:34 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-07-04 13:08:51 +0300
commit0963cf7feda67225700f4291264e68c9060046f6 (patch)
tree7a3e03f116e5ff2466c6e1311c9d3de4ed4f8034 /src/datavis3d/engine/bars3dcontroller_p.h
parent28ed69c2f6ba8520dc0202b94a4a3f8260ccda7e (diff)
Data proxy implementation for bars.
Old QDataSet can be used with custom QOldDataProxy. This will be removed entirely once we have a viable variant based proxy to use, as it provides no real additional value over just using default proxy directly. Change-Id: Iee492152eec5d33b7a488053447fae6027409d71 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavis3d/engine/bars3dcontroller_p.h')
-rw-r--r--src/datavis3d/engine/bars3dcontroller_p.h35
1 files changed, 13 insertions, 22 deletions
diff --git a/src/datavis3d/engine/bars3dcontroller_p.h b/src/datavis3d/engine/bars3dcontroller_p.h
index 24407591..0fa00ea0 100644
--- a/src/datavis3d/engine/bars3dcontroller_p.h
+++ b/src/datavis3d/engine/bars3dcontroller_p.h
@@ -58,7 +58,6 @@
#include "abstract3dcontroller_p.h"
#include "datavis3dglobal_p.h"
-#include "qdataset_p.h"
//#define DISPLAY_RENDER_SPEED
@@ -69,10 +68,8 @@ class QSizeF;
QT_DATAVIS3D_BEGIN_NAMESPACE
class Bars3dRenderer;
-class QDataItem;
-class QDataRow;
-class QDataSet;
class LabelItem;
+class QBarDataProxy;
class QT_DATAVIS3D_EXPORT Bars3dController : public Abstract3DController
{
@@ -90,7 +87,6 @@ private:
bool m_isInitialized;
// Data
- QDataSet *m_dataSet;
int m_rowCount;
int m_columnCount;
@@ -114,6 +110,7 @@ private:
GLfloat m_tickMinimum;
Bars3dRenderer *m_renderer;
+ QBarDataProxy *m_data;
public:
explicit Bars3dController(QRect rect);
@@ -133,22 +130,6 @@ public:
QMatrix4x4 calculateViewMatrix(int zoom, int viewPortWidth, int viewPortHeight, bool showUnder = false);
- // Add a row of data. Each new row is added to the front of the sample space, moving previous
- // rows back (if sample space is more than one row deep)
- void addDataRow(const QVector<GLfloat> &dataRow);
- // ownership of dataItems is transferred
- void addDataRow(const QVector<QDataItem*> &dataRow);
- // ownership of dataRow is transferred
- void addDataRow(QDataRow *dataRow);
-
- // Add complete data set at a time, as a vector of data rows
- void addDataSet(const QVector< QVector<GLfloat> > &data);
-
- // ownership of dataItems is transferred
- void addDataSet(const QVector< QVector<QDataItem*> > &data);
- // ownership of dataSet is transferred
- void addDataSet(QDataSet* dataSet);
-
QPair<GLfloat, GLfloat> limits();
// bar thickness, spacing between bars, and is spacing relative to thickness or absolute
@@ -210,10 +191,20 @@ public:
// TODO: abstract renderer should have accessor for Drawer instead
virtual Drawer *drawer();
+ // Sets the data proxy. Assumes ownership of the data proxy. Deletes old proxy.
+ void setDataProxy(QBarDataProxy *proxy);
+ QBarDataProxy *dataProxy();
+
+public slots:
+ void handleArrayReset();
+ void handleRowsAdded(int startIndex, int count);
+ void handleRowsChanged(int startIndex, int count);
+ void handleRowsRemoved(int startIndex, int count);
+ void handleRowsInserted(int startIndex, int count);
+
signals:
void selectionModeChanged(SelectionMode mode);
void slicingActiveChanged(bool isSlicing);
- void dataSetChanged(QDataSetPrivate *dataSet);
void limitsChanged(QPair<GLfloat, GLfloat> limits);
void sampleSpaceChanged(int samplesRow, int samplesColumn);
void barSpecsChanged(QSizeF thickness, QSizeF spacing, bool relative);