Loading...
Searching...
No Matches
TextItem.hpp
1#pragma once
2#include <score/model/ColorReference.hpp>
3
4#include <QGraphicsSceneMouseEvent>
5#include <QGraphicsTextItem>
6
7#include <score_lib_base_export.h>
8
9#include <verdigris>
10namespace score
11{
12class SCORE_LIB_BASE_EXPORT TextItem final : public QGraphicsTextItem
13{
14 W_OBJECT(TextItem)
15public:
16 TextItem(QString text, QGraphicsItem* parent);
17
18public:
19 void focusOut() E_SIGNAL(SCORE_LIB_BASE_EXPORT, focusOut)
20
21protected:
22 void focusOutEvent(QFocusEvent* event) override;
23};
24
25class SCORE_LIB_BASE_EXPORT SimpleTextItem
26 : public QObject
27 , public QGraphicsItem
28{
29 W_OBJECT(SimpleTextItem)
30public:
31 SimpleTextItem(const score::BrushSet& col, QGraphicsItem*);
32
33 QRectF boundingRect() const final override;
34 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
35 final override;
36
37 void setFont(const QFont& f);
38 void setText(const QString& s);
39 void setText(std::string_view s);
40 void setColor(const score::BrushSet& c);
41 const QString& text() const noexcept;
42
43private:
44 SimpleTextItem() = delete;
45 SimpleTextItem(const SimpleTextItem&) = delete;
47 SimpleTextItem& operator=(const SimpleTextItem&) = delete;
48 SimpleTextItem& operator=(SimpleTextItem&&) = delete;
49 void updateImpl();
50
51 QRectF m_rect;
52 const score::BrushSet* m_color{};
53 QFont m_font;
54 QString m_string;
55 QImage m_line;
56};
57
58class SCORE_LIB_BASE_EXPORT ClickableTextItem final : public score::SimpleTextItem
59{
60 W_OBJECT(ClickableTextItem)
61public:
62 ClickableTextItem(const score::BrushSet& brush, QGraphicsItem* parent);
63
64 void clicked() E_SIGNAL(SCORE_LIB_BASE_EXPORT, clicked)
65protected:
66 void mousePressEvent(QGraphicsSceneMouseEvent* event) override;
67 void mouseReleaseEvent(QGraphicsSceneMouseEvent* event) override;
68};
69}
Definition TextItem.hpp:59
Definition TextItem.hpp:28
Definition TextItem.hpp:13
Base toolkit upon which the software is built.
Definition Application.cpp:113
Definition Skin.hpp:19