Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
infinitegrid_p.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
6#ifndef QQUICK3DINFINITEGRID_H
7#define QQUICK3DINFINITEGRID_H
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists for the convenience
14// of other Qt classes. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20#include <QtQuick3DHelpers/qtquick3dhelpersexports.h>
21#include <QQuick3DObject>
22
23QT_BEGIN_NAMESPACE
24
25class QQuick3DSceneEnvironment;
26
27class Q_QUICK3DHELPERS_EXPORT QQuick3DInfiniteGrid : public QObject, public QQmlParserStatus
28{
29 Q_OBJECT
30 Q_INTERFACES(QQmlParserStatus)
31
32 QML_NAMED_ELEMENT(InfiniteGrid)
33 Q_PROPERTY(bool visible READ visible WRITE setVisible NOTIFY visibleChanged)
34 Q_PROPERTY(float gridInterval READ gridInterval WRITE setGridInterval NOTIFY gridIntervalChanged)
35 Q_PROPERTY(bool gridAxes READ gridAxes WRITE setGridAxes NOTIFY gridAxesChanged)
36
37public:
38 QQuick3DInfiniteGrid();
39 ~QQuick3DInfiniteGrid() override;
40 bool visible() const;
41 void setVisible(bool newVisible);
42 float gridInterval() const;
43 void setGridInterval(float newGridInterval);
44 void componentComplete() override;
45 void classBegin() override;
46
47 bool gridAxes() const;
48 void setGridAxes(bool newGridAxes);
49
50signals:
51 void visibleChanged();
52 void gridIntervalChanged();
53
54 void gridAxesChanged();
55
56private:
57 void updateGridFlags();
58 bool m_visible = true;
59 float m_gridInterval = 1.0f;
60 QQuick3DSceneEnvironment *m_sceneEnv = nullptr;
61 bool m_componentComplete = false;
62 bool m_gridAxes = true;
63};
64
65QT_END_NAMESPACE
66
67#endif // QQUICK3DINFINITEGRID_H
Combined button and popup list for selecting options.