summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/q3dwindow.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-20 10:56:59 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-07 08:10:13 +0200
commitaa842c39480aa5b95f704c97b8b3acc821144883 (patch)
tree8a1e90e1fe1d6d85054286e655cb2e1722d758eb /src/datavisualization/engine/q3dwindow.h
parent91a94a743b4cfd30ef77aa73837050d44620469b (diff)
Fix theme ownership
Theme ownership now uses similar model as axis and inputhandler ownership: Graph can own multiple themes, but only one is active at the time. Task-number: QTRD-2623 Change-Id: I7134384df6f8cc465cc28fbebb454b7d2e254f83 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/q3dwindow.h')
-rw-r--r--src/datavisualization/engine/q3dwindow.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/datavisualization/engine/q3dwindow.h b/src/datavisualization/engine/q3dwindow.h
index cdffc6b9..18542868 100644
--- a/src/datavisualization/engine/q3dwindow.h
+++ b/src/datavisualization/engine/q3dwindow.h
@@ -32,10 +32,12 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
class Q3DWindowPrivate;
class Abstract3DController;
class QAbstract3DInputHandler;
+class Q3DTheme;
class QT_DATAVISUALIZATION_EXPORT Q3DWindow : public QWindow, protected QOpenGLFunctions
{
Q_OBJECT
+ Q_PROPERTY(Q3DTheme* activeTheme READ activeTheme WRITE setActiveTheme NOTIFY activeThemeChanged)
protected:
explicit Q3DWindow(Q3DWindowPrivate *d, QWindow *parent = 0);
@@ -47,11 +49,20 @@ public:
void setActiveInputHandler(QAbstract3DInputHandler *inputHandler);
QAbstract3DInputHandler *activeInputHandler();
+ void addTheme(Q3DTheme *theme);
+ void releaseTheme(Q3DTheme *theme);
+ void setActiveTheme(Q3DTheme *theme);
+ Q3DTheme *activeTheme() const;
+ QList<Q3DTheme *> themes() const;
+
protected:
bool event(QEvent *event);
void resizeEvent(QResizeEvent *event);
void exposeEvent(QExposeEvent *event);
+signals:
+ void activeThemeChanged(Q3DTheme *theme);
+
private:
QScopedPointer<Q3DWindowPrivate> d_ptr;