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
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
43
private
:
44
SimpleTextItem
() =
delete
;
45
SimpleTextItem
(
const
SimpleTextItem
&) =
delete
;
46
SimpleTextItem
(
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
58
class
SCORE_LIB_BASE_EXPORT
ClickableTextItem
final :
public
score::SimpleTextItem
59
{
60
W_OBJECT(
ClickableTextItem
)
61
public
:
62
ClickableTextItem
(
const
score::BrushSet
& brush, QGraphicsItem* parent);
63
64
void
clicked() E_SIGNAL(SCORE_LIB_BASE_EXPORT, clicked)
65
protected
:
66
void
mousePressEvent(QGraphicsSceneMouseEvent* event)
override
;
67
void
mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
override
;
68
};
69
}
score::ClickableTextItem
Definition
TextItem.hpp:59
score::SimpleTextItem
Definition
TextItem.hpp:28
score::TextItem
Definition
TextItem.hpp:13
score
Base toolkit upon which the software is built.
Definition
Application.cpp:113
score::BrushSet
Definition
Skin.hpp:19