2022-06-07 11:55:27 +00:00
|
|
|
// Copyright (C) 2015 The Qt Company Ltd.
|
2024-03-15 08:19:25 +00:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
#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:
|
2017-08-21 11:23:48 +00:00
|
|
|
explicit QParentWidget(QWidget *parent = nullptr);
|
2011-04-27 10:05:43 +00:00
|
|
|
|
2019-06-04 13:24:37 +00:00
|
|
|
QSize sizeHint() const override;
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
public slots:
|
2017-08-21 11:23:48 +00:00
|
|
|
void createSubWidget(const QString &name);
|
2011-04-27 10:05:43 +00:00
|
|
|
|
2017-08-21 11:23:48 +00:00
|
|
|
QSubWidget *subWidget(const QString &name);
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
private:
|
2017-08-21 11:23:48 +00:00
|
|
|
QVBoxLayout *m_vbox;
|
2011-04-27 10:05:43 +00:00
|
|
|
};
|
|
|
|
//! [0]
|
|
|
|
|
|
|
|
//! [1]
|
|
|
|
class QSubWidget : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
2017-08-21 11:23:48 +00:00
|
|
|
Q_PROPERTY(QString label READ label WRITE setLabel)
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
Q_CLASSINFO("ClassID", "{850652f4-8f71-4f69-b745-bce241ccdc30}");
|
|
|
|
Q_CLASSINFO("InterfaceID", "{2d76cc2f-3488-417a-83d6-debff88b3c3f}");
|
|
|
|
Q_CLASSINFO("ToSuperClass", "QSubWidget");
|
2014-01-15 21:17:52 +00:00
|
|
|
|
2011-04-27 10:05:43 +00:00
|
|
|
public:
|
2017-08-21 11:23:48 +00:00
|
|
|
QSubWidget(QWidget *parent = nullptr, const QString &name = QString());
|
2011-04-27 10:05:43 +00:00
|
|
|
|
2017-08-21 11:23:48 +00:00
|
|
|
void setLabel(const QString &text);
|
2011-04-27 10:05:43 +00:00
|
|
|
QString label() const;
|
|
|
|
|
2019-06-04 13:24:37 +00:00
|
|
|
QSize sizeHint() const override;
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
protected:
|
2019-06-04 13:24:37 +00:00
|
|
|
void paintEvent(QPaintEvent *e) override;
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
private:
|
2017-08-21 11:23:48 +00:00
|
|
|
QString m_label;
|
2011-04-27 10:05:43 +00:00
|
|
|
};
|
|
|
|
//! [1]
|
|
|
|
|
|
|
|
#endif // OBJECTS_H
|