diff options
Diffstat (limited to 'tests/manual/examples/widgets/widgets/charactermap/characterwidget.h')
-rw-r--r-- | tests/manual/examples/widgets/widgets/charactermap/characterwidget.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/manual/examples/widgets/widgets/charactermap/characterwidget.h b/tests/manual/examples/widgets/widgets/charactermap/characterwidget.h new file mode 100644 index 0000000000..b8aa76d111 --- /dev/null +++ b/tests/manual/examples/widgets/widgets/charactermap/characterwidget.h @@ -0,0 +1,50 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef CHARACTERWIDGET_H +#define CHARACTERWIDGET_H + +#include <QFont> +#include <QSize> +#include <QString> +#include <QWidget> + +QT_BEGIN_NAMESPACE +class QMouseEvent; +class QPaintEvent; +QT_END_NAMESPACE + +//! [0] +class CharacterWidget : public QWidget +{ + Q_OBJECT + +public: + CharacterWidget(QWidget *parent = nullptr); + QSize sizeHint() const override; + +public slots: + void updateFont(const QFont &font); + void updateSize(const QString &fontSize); + void updateStyle(const QString &fontStyle); + void updateFontMerging(bool enable); + +signals: + void characterSelected(const QString &character); + +protected: + void mouseMoveEvent(QMouseEvent *event) override; + void mousePressEvent(QMouseEvent *event) override; + void paintEvent(QPaintEvent *event) override; + +private: + void calculateSquareSize(); + + QFont displayFont; + int columns = 16; + int lastKey = -1; + int squareSize = 0; +}; +//! [0] + +#endif |