1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the Qt API. It exists for the convenience
9// of Qt Designer. This header file may change from version to version
10// without notice, or even be removed.
11//
12// We mean it.
13//
14
15#ifndef QTGRADIENTSTOPSWIDGET_H
16#define QTGRADIENTSTOPSWIDGET_H
17
18#include <QtWidgets/QAbstractScrollArea>
19
20QT_BEGIN_NAMESPACE
21
22class QtGradientStopsModel;
23class QtGradientStopsWidgetPrivate;
24
25class QtGradientStopsWidget : public QAbstractScrollArea
26{
27 Q_OBJECT
28 Q_PROPERTY(bool backgroundCheckered READ isBackgroundCheckered WRITE setBackgroundCheckered)
29public:
30 QtGradientStopsWidget(QWidget *parent = 0);
31 ~QtGradientStopsWidget();
32
33 QSize minimumSizeHint() const override;
34 QSize sizeHint() const override;
35
36 bool isBackgroundCheckered() const;
37 void setBackgroundCheckered(bool checkered);
38
39 void setGradientStopsModel(QtGradientStopsModel *model);
40
41 void setZoom(double zoom);
42 double zoom() const;
43
44signals:
45 void zoomChanged(double zoom);
46
47protected:
48 void paintEvent(QPaintEvent *e) override;
49 void mousePressEvent(QMouseEvent *e) override;
50 void mouseReleaseEvent(QMouseEvent *e) override;
51 void mouseMoveEvent(QMouseEvent *e) override;
52 void mouseDoubleClickEvent(QMouseEvent *e) override;
53 void keyPressEvent(QKeyEvent *e) override;
54 void focusInEvent(QFocusEvent *e) override;
55 void focusOutEvent(QFocusEvent *e) override;
56 void contextMenuEvent(QContextMenuEvent *e) override;
57 void wheelEvent(QWheelEvent *e) override;
58#ifndef QT_NO_DRAGANDDROP
59 void dragEnterEvent(QDragEnterEvent *event) override;
60 void dragMoveEvent(QDragMoveEvent *event) override;
61 void dragLeaveEvent(QDragLeaveEvent *event) override;
62 void dropEvent(QDropEvent *event) override;
63#endif
64
65private:
66 QScopedPointer<QtGradientStopsWidgetPrivate> d_ptr;
67 Q_DECLARE_PRIVATE(QtGradientStopsWidget)
68 Q_DISABLE_COPY_MOVE(QtGradientStopsWidget)
69};
70
71QT_END_NAMESPACE
72
73#endif
74

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qttools/src/shared/qtgradienteditor/qtgradientstopswidget_p.h