score
Home
Classes
Namespaces
Files
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>
10
namespace
score
11
{
12
class
SCORE_LIB_BASE_EXPORT
TextItem
final :
public
QGraphicsTextItem
13
{
14
W_OBJECT(
TextItem
)
15
public
:
16
TextItem
(QString text, QGraphicsItem* parent);
17
18
public
:
19
void
focusOut() E_SIGNAL(SCORE_LIB_BASE_EXPORT, focusOut)
20
21
protected
:
22
void
focusOutEvent(QFocusEvent* event)
override
;
23
};
24
25
class
SCORE_LIB_BASE_EXPORT
SimpleTextItem
26
:
public
QObject
27
,
public
QGraphicsItem
28
{
29
W_OBJECT(
SimpleTextItem
)
30
public
:
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
39
void
setFont(
const
QFont& f);
40
void
setText(
const
QString& s);
41
void
setText(std::string_view s);
42
void
setColor(
const
score::BrushSet
& c);
43
const
QString& text()
const
noexcept
;
44
45
private
:
46
SimpleTextItem
() =
delete
;
47
SimpleTextItem
(
const
SimpleTextItem
&) =
delete
;
48
SimpleTextItem
(
SimpleTextItem
&&) =
delete
;
49
SimpleTextItem
& operator=(
const
SimpleTextItem
&) =
delete
;
50
SimpleTextItem
& operator=(
SimpleTextItem
&&) =
delete
;
51
void
updateImpl();
52
53
QRectF m_rect;
54
const
score::BrushSet
* m_color{};
56
const
QFont* m_font{};
57
60
QFont m_paintFont;
61
QString m_string;
62
QImage m_line;
63
};
64
65
class
SCORE_LIB_BASE_EXPORT
ClickableTextItem
final :
public
score::SimpleTextItem
66
{
67
W_OBJECT(
ClickableTextItem
)
68
public
:
69
ClickableTextItem
(
const
score::BrushSet
& brush, QGraphicsItem* parent);
70
71
void
clicked() E_SIGNAL(SCORE_LIB_BASE_EXPORT, clicked)
72
protected
:
73
void
mousePressEvent(QGraphicsSceneMouseEvent* event)
override
;
74
void
mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
override
;
75
};
76
}
score::ClickableTextItem
Definition
TextItem.hpp:66
score::SimpleTextItem
Definition
TextItem.hpp:28
score::TextItem
Definition
TextItem.hpp:13
score
Base toolkit upon which the software is built.
Definition
Application.cpp:83
score::BrushSet
Definition
Skin.hpp:25