From 0b191307ac22b14175f846e06e3356ca00099c52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kera=CC=88nen=20Pasi?= Date: Tue, 24 Sep 2013 11:43:16 +0300 Subject: Added abstract baseclass for declarative components. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Icdeb487388bb9c36cfbb6d7077de052434ec3fe3 Reviewed-by: Tomi Korpipää --- src/datavisualizationqml2/declarativebars_p.h | 94 +++------------------------ 1 file changed, 9 insertions(+), 85 deletions(-) (limited to 'src/datavisualizationqml2/declarativebars_p.h') 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; }; -- cgit v1.2.3