libkpl
5.0
A Library for Graphical Presentation of Data Sets and Functions
lib
textitem.h
1
/***************************************************************************
2
textitem.h - description
3
-------------------
4
begin : Wed Apr 18 2001
5
copyright : (C) 2017 by Werner Stille
6
email : kpl@werner-stille.de
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef TEXTITEM_H
19
#define TEXTITEM_H
20
21
#include <QGraphicsItem>
22
#include <QTextDocument>
23
#include "decoitem.h"
24
29
class
Q_DECL_EXPORT
TextItem
:
public
DecoItem
,
public
QGraphicsItem
30
{
31
public
:
33
enum
Alignment
{
34
AlignLeft = 1,
35
AlignCentered,
36
AlignRight
37
};
39
enum
{Type = UserType + Text
41
};
54
TextItem
(
double
x0 = 0,
double
y0 = 0,
unsigned
color = 0,
55
QGraphicsItem* parent = 0,
const
QString& text =
""
,
56
bool
visible =
true
,
Alignment
alignment = AlignLeft,
57
double
relSize = 1,
double
dir = 0);
64
TextItem
(
const
KConfigGroup* plo,
unsigned
color = 0,
65
QGraphicsItem* parent = 0);
70
TextItem
(
const
TextItem
& a);
72
virtual
~
TextItem
();
74
inline
Alignment
alignment()
const
{
return
m_alignment; };
76
virtual
QRectF boundingRect()
const
;
78
inline
double
dir()
const
{
return
m_dir; };
80
virtual
void
paint(QPainter* painter,
const
QStyleOptionGraphicsItem* option,
81
QWidget* widget = 0);
86
inline
void
setAlignment(
Alignment
alignment) { m_alignment = alignment; };
91
inline
void
setDir(
double
dir) { m_dir =
dir
; };
96
void
setProperties(
const
QTransform& m);
98
void
setSize();
103
inline
void
setText(
const
QString& text) { m_text = text; };
110
static
void
setText(QTextDocument& doc,
const
QString& text,
111
unsigned
color = 0);
113
inline
QString text()
const
{
return
m_text; };
115
virtual
int
type()
const
{
return
Type; };
117
void
update();
122
void
writePlo
(KConfigGroup* plo)
const
;
123
124
protected
:
126
void
init();
128
virtual
void
mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
130
void
setProperties();
131
Alignment
m_alignment;
132
double
m_dir;
133
QString m_text;
134
QTextDocument m_doc;
135
};
136
137
#endif
DecoItem
Decoration item class.
Definition:
decoitem.h:35
TextItem::dir
double dir() const
Returns rotation angle in deg.
Definition:
textitem.h:91
DecoItem::writePlo
void writePlo(KConfigGroup *plo, bool visible) const
Writes into plot file.
TextItem::Alignment
Alignment
Text alignment.
Definition:
textitem.h:46
TextItem
Text item class.
Definition:
textitem.h:29
Generated by
1.8.17