summaryrefslogtreecommitdiff
path: root/tests/manual/hierarchy/objects.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/hierarchy/objects.h')
-rw-r--r--tests/manual/hierarchy/objects.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/manual/hierarchy/objects.h b/tests/manual/hierarchy/objects.h
new file mode 100644
index 0000000..6b8bea6
--- /dev/null
+++ b/tests/manual/hierarchy/objects.h
@@ -0,0 +1,62 @@
+// Copyright (C) 2015 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef OBJECTS_H
+#define OBJECTS_H
+
+#include <QWidget>
+
+QT_BEGIN_NAMESPACE
+class QVBoxLayout;
+QT_END_NAMESPACE
+class QSubWidget;
+
+//! [0]
+class QParentWidget : public QWidget
+{
+ Q_OBJECT
+ Q_CLASSINFO("ClassID", "{d574a747-8016-46db-a07c-b2b4854ee75c}");
+ Q_CLASSINFO("InterfaceID", "{4a30719d-d9c2-4659-9d16-67378209f822}");
+ Q_CLASSINFO("EventsID", "{4a30719d-d9c2-4659-9d16-67378209f823}");
+public:
+ explicit QParentWidget(QWidget *parent = nullptr);
+
+ QSize sizeHint() const override;
+
+public slots:
+ void createSubWidget(const QString &name);
+
+ QSubWidget *subWidget(const QString &name);
+
+private:
+ QVBoxLayout *m_vbox;
+};
+//! [0]
+
+//! [1]
+class QSubWidget : public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY(QString label READ label WRITE setLabel)
+
+ Q_CLASSINFO("ClassID", "{850652f4-8f71-4f69-b745-bce241ccdc30}");
+ Q_CLASSINFO("InterfaceID", "{2d76cc2f-3488-417a-83d6-debff88b3c3f}");
+ Q_CLASSINFO("ToSuperClass", "QSubWidget");
+
+public:
+ QSubWidget(QWidget *parent = nullptr, const QString &name = QString());
+
+ void setLabel(const QString &text);
+ QString label() const;
+
+ QSize sizeHint() const override;
+
+protected:
+ void paintEvent(QPaintEvent *e) override;
+
+private:
+ QString m_label;
+};
+//! [1]
+
+#endif // OBJECTS_H