Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-28 09:24:49

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QWIDGETACTION_H
0006 #define QWIDGETACTION_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtGui/qaction.h>
0010 
0011 QT_REQUIRE_CONFIG(action);
0012 
0013 QT_BEGIN_NAMESPACE
0014 
0015 class QWidgetActionPrivate;
0016 
0017 class Q_WIDGETS_EXPORT QWidgetAction : public QAction
0018 {
0019     Q_OBJECT
0020     Q_DECLARE_PRIVATE(QWidgetAction)
0021 
0022 public:
0023     explicit QWidgetAction(QObject *parent);
0024     virtual ~QWidgetAction();
0025 
0026     void setDefaultWidget(QWidget *w);
0027     QWidget *defaultWidget() const;
0028 
0029     QWidget *requestWidget(QWidget *parent);
0030     void releaseWidget(QWidget *widget);
0031 
0032 protected:
0033     virtual bool event(QEvent *) override;
0034     virtual bool eventFilter(QObject *, QEvent *) override;
0035     virtual QWidget *createWidget(QWidget *parent);
0036     virtual void deleteWidget(QWidget *widget);
0037     QList<QWidget *> createdWidgets() const;
0038 
0039 private:
0040     Q_DISABLE_COPY(QWidgetAction)
0041     friend class QToolBar;
0042 };
0043 
0044 QT_END_NAMESPACE
0045 
0046 #endif // QWIDGETACTION_H