// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include "utils_global.h" #include namespace Utils { class QTCREATOR_UTILS_EXPORT Action : public QAction { Q_PROPERTY(QString emptyText READ emptyText WRITE setEmptyText) Q_PROPERTY(QString parameterText READ parameterText WRITE setParameterText) Q_PROPERTY(EnablingMode enablingMode READ enablingMode WRITE setEnablingMode) Q_OBJECT public: enum EnablingMode { AlwaysEnabled, EnabledWithParameter }; Q_ENUM(EnablingMode) explicit Action(QObject *parent = nullptr); Action(const QString &emptyText, const QString ¶meterText, EnablingMode em = AlwaysEnabled, QObject *parent = nullptr); QString emptyText() const; void setEmptyText(const QString &); QString parameterText() const; void setParameterText(const QString &); EnablingMode enablingMode() const; void setEnablingMode(EnablingMode m); public slots: void setParameter(const QString &); private: QString m_emptyText; QString m_parameterText; EnablingMode m_enablingMode; }; } // namespace Utils