/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** ** This file is part of the QtDataVisualization module. ** ** Licensees holding valid Qt Enterprise licenses may use this file in ** accordance with the Qt Enterprise License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. ** ** If you have questions regarding the use of this file, please use ** contact form at http://qt.digia.com ** ****************************************************************************/ #ifndef Q3DSCATTER_H #define Q3DSCATTER_H #include #include #include #include QT_DATAVISUALIZATION_BEGIN_NAMESPACE class Q3DScatterPrivate; class LabelItem; class Q3DValueAxis; class Q3DCategoryAxis; class QScatterDataProxy; class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public Q3DWindow { Q_OBJECT Q_PROPERTY(QtDataVisualization::QDataVis::SelectionMode selectionMode READ selectionMode WRITE setSelectionMode) Q_PROPERTY(QtDataVisualization::QDataVis::LabelStyle labelStyle READ labelStyle WRITE setLabelStyle) Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality) 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(int selectedItemIndex READ selectedItemIndex WRITE setSelectedItemIndex NOTIFY selectedItemIndexChanged) Q_PROPERTY(Q3DScene* scene READ scene) Q_ENUMS(QtDataVisualization::QDataVis::SelectionMode) Q_ENUMS(QtDataVisualization::QDataVis::ShadowQuality) Q_ENUMS(QtDataVisualization::QDataVis::LabelStyle) Q_ENUMS(QtDataVisualization::QDataVis::CameraPreset) public: explicit Q3DScatter(); ~Q3DScatter(); void setObjectType(QDataVis::MeshStyle style, bool smooth = false); void setTheme(QDataVis::Theme theme); void setObjectColor(const QColor &baseColor, bool uniform = true); QColor objectColor() const; void setMeshFileName(const QString &objFileName); QString meshFileName() const; void setSelectionMode(QDataVis::SelectionMode mode); QDataVis::SelectionMode selectionMode() const; void setFont(const QFont &font); QFont font() const; Q3DScene *scene() const; void setLabelStyle(QDataVis::LabelStyle style); QDataVis::LabelStyle labelStyle() const; void setGridVisible(bool visible); bool isGridVisible() const; void setWidth(const int width); void setHeight(const int height); void setBackgroundVisible(bool visible); bool isBackgroundVisible() const; void setSelectedItemIndex(int index); int selectedItemIndex() const; void setShadowQuality(QDataVis::ShadowQuality quality); QDataVis::ShadowQuality shadowQuality() const; void setAxisX(Q3DValueAxis *axis); Q3DValueAxis *axisX() const; void setAxisY(Q3DValueAxis *axis); Q3DValueAxis *axisY() const; void setAxisZ(Q3DValueAxis *axis); Q3DValueAxis *axisZ() const; void addAxis(Q3DValueAxis *axis); void releaseAxis(Q3DValueAxis *axis); QList axes() const; void setActiveDataProxy(QScatterDataProxy *proxy); QScatterDataProxy *activeDataProxy() const; void addDataProxy(QScatterDataProxy *proxy); void releaseDataProxy(QScatterDataProxy *proxy); QList dataProxies() const; signals: void shadowQualityChanged(QDataVis::ShadowQuality quality); void selectedItemIndexChanged(int index); protected: void mouseDoubleClickEvent(QMouseEvent *event); void touchEvent(QTouchEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void wheelEvent(QWheelEvent *event); void resizeEvent(QResizeEvent *event); private: QScopedPointer d_ptr; Q_DISABLE_COPY(Q3DScatter) }; QT_DATAVISUALIZATION_END_NAMESPACE #endif