summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/declarativebars_p.h
diff options
context:
space:
mode:
authorKeränen Pasi <pasi.keranen@digia.com>2013-09-24 11:43:16 +0300
committerPasi Keränen <pasi.keranen@digia.com>2013-09-25 13:56:56 +0300
commit0b191307ac22b14175f846e06e3356ca00099c52 (patch)
treea972244ed315b185226a57ff69903eb2c6d9a85c /src/datavisualizationqml2/declarativebars_p.h
parentacd398f38f228960367bcccd3f2c99aca753248f (diff)
Added abstract baseclass for declarative components.
Change-Id: Icdeb487388bb9c36cfbb6d7077de052434ec3fe3 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2/declarativebars_p.h')
-rw-r--r--src/datavisualizationqml2/declarativebars_p.h94
1 files changed, 9 insertions, 85 deletions
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h
index 78223773..dfbf9934 100644
--- a/src/datavisualizationqml2/declarativebars_p.h
+++ b/src/datavisualizationqml2/declarativebars_p.h
@@ -30,6 +30,7 @@
#define DECLARATIVEBARS_P_H
#include "datavisualizationglobal_p.h"
+#include "abstractdeclarative_p.h"
#include "bars3dcontroller_p.h"
#include "declarativebars_p.h"
#include "q3dvalueaxis.h"
@@ -43,49 +44,28 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
-class DeclarativeBars : public QQuickItem
+class DeclarativeBars : public AbstractDeclarative
{
Q_OBJECT
Q_PROPERTY(QBarDataProxy *dataProxy READ dataProxy WRITE setDataProxy)
Q_PROPERTY(Q3DCategoryAxis *rowAxis READ rowAxis WRITE setRowAxis)
Q_PROPERTY(Q3DValueAxis *valueAxis READ valueAxis WRITE setValueAxis)
Q_PROPERTY(Q3DCategoryAxis *columnAxis READ columnAxis WRITE setColumnAxis)
- Q_PROPERTY(QtDataVisualization::QDataVis::SelectionMode selectionMode READ selectionMode WRITE setSelectionMode)
- Q_PROPERTY(QtDataVisualization::QDataVis::LabelTransparency labelTransparency READ labelTransparency WRITE setLabelTransparency)
- Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality)
Q_PROPERTY(QtDataVisualization::QDataVis::MeshStyle barType READ barType WRITE setBarType)
- Q_PROPERTY(QtDataVisualization::QDataVis::CameraPreset cameraPreset READ cameraPreset WRITE setCameraPreset)
- Q_PROPERTY(QtDataVisualization::QDataVis::ColorTheme theme READ theme WRITE setTheme)
Q_PROPERTY(qreal barThickness READ barThickness WRITE setBarThickness)
Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing)
Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative)
Q_PROPERTY(bool barSmoothingEnabled READ isBarSmoothingEnabled WRITE setBarSmoothingEnabled)
Q_PROPERTY(QString meshFileName READ meshFileName WRITE setMeshFileName)
- Q_PROPERTY(QFont font READ font WRITE setFont)
- Q_PROPERTY(bool gridVisible READ isGridVisible WRITE setGridVisible)
- Q_PROPERTY(bool backgroundVisible READ isBackgroundVisible WRITE setBackgroundVisible)
- Q_PROPERTY(QString itemLabelFormat READ itemLabelFormat WRITE setItemLabelFormat)
Q_PROPERTY(QPointF selectedBarPos READ selectedBarPos WRITE setSelectedBarPos NOTIFY selectedBarPosChanged)
- Q_ENUMS(QtDataVisualization::QDataVis::SelectionMode)
- Q_ENUMS(QtDataVisualization::QDataVis::ShadowQuality)
- Q_ENUMS(QtDataVisualization::QDataVis::LabelTransparency)
Q_ENUMS(QtDataVisualization::QDataVis::MeshStyle)
- Q_ENUMS(QtDataVisualization::QDataVis::CameraPreset)
- Q_ENUMS(QtDataVisualization::QDataVis::ColorTheme)
public:
explicit DeclarativeBars(QQuickItem *parent = 0);
~DeclarativeBars();
- // Set color if you don't want to use themes. Set uniform to false if you want the (height)
- // color to change from bottom to top
Q_INVOKABLE void setBarColor(const QColor &baseColor, bool uniform = true);
- // Set camera rotation if you don't want to use the presets (in horizontal (-180...180) and
- // vertical (0...90) (or (-90...90) if there are negative values) angles and distance in
- // percentage (10...500))
- Q_INVOKABLE void setCameraPosition(qreal horizontal, qreal vertical, int distance);
-
QBarDataProxy *dataProxy() const;
void setDataProxy(QBarDataProxy *dataProxy);
@@ -96,91 +76,35 @@ public:
Q3DCategoryAxis *columnAxis() const;
void setColumnAxis(Q3DCategoryAxis *axis);
- // Set bar thickness.
void setBarThickness(qreal thicknessRatio);
- qreal barThickness();
+ qreal barThickness() const;
- // Set spacing between bars. Y-component sets the spacing of Z-direction.
- // If spacing is relative, 0.0f means side-to-side and 1.0f = one thickness in between.
void setBarSpacing(QSizeF spacing);
- QSizeF barSpacing();
+ QSizeF barSpacing() const;
- // Set bar spacing relative to thickness or absolute
void setBarSpacingRelative(bool relative);
- bool isBarSpacingRelative();
+ bool isBarSpacingRelative() const;
- // Bar type
void setBarType(QDataVis::MeshStyle style);
- QDataVis::MeshStyle barType();
+ QDataVis::MeshStyle barType() const;
- // Bar smoothing
void setBarSmoothingEnabled(bool enabled);
- bool isBarSmoothingEnabled();
+ bool isBarSmoothingEnabled() const;
- // override object type with own mesh
void setMeshFileName(const QString &objFileName);
- QString meshFileName();
-
- // Select preset camera placement
- void setCameraPreset(QDataVis::CameraPreset preset);
- QDataVis::CameraPreset cameraPreset();
-
- // Set theme (object colors, shaders, window color, background colors, light intensity and text
- // colors are affected)
- void setTheme(QDataVis::ColorTheme theme);
- QDataVis::ColorTheme theme();
-
- // Change selection mode; single bar, bar and row, bar and column, or all
- void setSelectionMode(QDataVis::SelectionMode mode);
- QDataVis::SelectionMode selectionMode();
-
- // Set font
- void setFont(const QFont &font);
- QFont font();
-
- // Label transparency adjustment
- void setLabelTransparency(QDataVis::LabelTransparency transparency);
- QDataVis::LabelTransparency labelTransparency();
-
- // Enable or disable background grid
- void setGridVisible(bool visible);
- bool isGridVisible();
-
- // Enable or disable background mesh
- void setBackgroundVisible(bool visible);
- bool isBackgroundVisible();
-
- // Adjust shadow quality
- void setShadowQuality(QDataVis::ShadowQuality quality);
- QDataVis::ShadowQuality shadowQuality();
-
- void setItemLabelFormat(const QString &format);
- QString itemLabelFormat();
+ QString meshFileName() const;
void setSelectedBarPos(const QPointF &position);
QPointF selectedBarPos() const;
signals:
- // Signals shadow quality changes.
- void shadowQualityChanged(QDataVis::ShadowQuality quality);
void selectedBarPosChanged(const QPointF &position);
protected:
- Bars3DController *m_shared;
-
- // Used to detect when shadow quality changes autonomously due to e.g. resizing.
- void handleShadowQualityUpdate(QDataVis::ShadowQuality quality);
-
QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *);
- void mouseDoubleClickEvent(QMouseEvent *event);
- void touchEvent(QTouchEvent *event);
- void mousePressEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
- void wheelEvent(QWheelEvent *event);
-
private:
+ Bars3DController *m_shared;
QSize m_initialisedSize;
};