/
activeroutelistitem.cpp
117 lines (98 loc) · 2.28 KB
/
activeroutelistitem.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include "activeroutelistitem.h"
#include "tea.h"
ActiveRouteListItem::ActiveRouteListItem(const QString &newName, int newAuid, bool mod, QListWidget *parent) : QListWidgetItem(newName,parent)
{
colors << Qt::darkBlue << Qt::darkRed
<< Qt::darkGreen << Qt::darkCyan
<< Qt::darkMagenta << Qt::darkYellow;
//initialise pointers to null
Curve = 0;
Path = 0;
PathOutline = 0;
setTextColor(Qt::black);
setModified(mod);
setName(newName);
setAuid(newAuid);
setCheckState(Qt::Checked);
setFlags( Qt::ItemIsEditable | flags() );
}
ActiveRouteListItem::~ActiveRouteListItem()
{
//The QGraphicsScene deletes all items on it, and the QwtPlot too.
}
QGraphicsPathItem* ActiveRouteListItem::path() const
{
if (Path != 0)
{
QPen pen;
pen.setBrush(this->textColor());
Path->setPen(pen);
}
return Path;
}
QGraphicsPathItem* ActiveRouteListItem::pathOutline() const
{
return PathOutline;
}
QString ActiveRouteListItem::auid() const
{
return QString::number(Auid);
}
void ActiveRouteListItem::setPath( QGraphicsPathItem *newPath)
{
Path = newPath;
}
void ActiveRouteListItem::setPathOutline(QGraphicsPathItem *newPathOutline)
{
PathOutline = newPathOutline;
}
void ActiveRouteListItem::setAuid(int newAuid)
{
Auid = newAuid;
QColor color = colors.at(Auid%colors.count());
setTextColor(color);
}
void ActiveRouteListItem::setModified(bool mod)
{
/*
m M = Action
0 0 0 do Nothing
1 0 1 append *
0 1 0 chop *
1 1 1 do nothing
*/
if (mod!=Modified)
{
if (mod) setText(Name+"*");
else setText(Name);
}
Modified = mod;
}
void ActiveRouteListItem::setName(QString newName)
{
Name = newName;
if (Modified) newName.append("*");
setText(newName);
}
QString ActiveRouteListItem::name() const
{
return Name;
}
bool ActiveRouteListItem::isModified() const
{
return Modified;
}
void ActiveRouteListItem::setCurve(QwtPlotCurve *newCurve)
{
Curve=newCurve;
}
QwtPlotCurve* ActiveRouteListItem::curve() const
{
if (Curve != 0)
{
QPen pen;
pen.setBrush(textColor());
Curve->setPen(pen);
}
return Curve;
}