// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef GRADIENTVIEW_H #define GRADIENTVIEW_H #include #include #include "ui_qtgradientview.h" QT_BEGIN_NAMESPACE class QtGradientManager; class QListViewItem; class QAction; class QtGradientView : public QWidget { Q_OBJECT public: QtGradientView(QWidget *parent = 0); void setGradientManager(QtGradientManager *manager); QtGradientManager *gradientManager() const; void setCurrentGradient(const QString &id); QString currentGradient() const; signals: void currentGradientChanged(const QString &id); void gradientActivated(const QString &id); private slots: void slotGradientAdded(const QString &id, const QGradient &gradient); void slotGradientRenamed(const QString &id, const QString &newId); void slotGradientChanged(const QString &id, const QGradient &newGradient); void slotGradientRemoved(const QString &id); void slotNewGradient(); void slotEditGradient(); void slotRemoveGradient(); void slotRenameGradient(); void slotRenameGradientItem(QListWidgetItem *item); void slotCurrentItemChanged(QListWidgetItem *item); void slotGradientActivated(QListWidgetItem *item); private: QHash m_idToItem; QHash m_itemToId; QAction *m_newAction; QAction *m_editAction; QAction *m_renameAction; QAction *m_removeAction; QtGradientManager *m_manager; Ui::QtGradientView m_ui; }; QT_END_NAMESPACE #endif