-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathIOverlayModel.cpp
92 lines (78 loc) · 2.22 KB
/
IOverlayModel.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
/*
* This file is part of Foren6, a 6LoWPAN Diagnosis Tool
* Copyright (C) 2013, CETIC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* \file
* Visual Effects for Overlays
* \author
* Foren6 Team <foren6@cetic.be>
* http://cetic.github.io/foren6/credits.html
*/
#include "IOverlayModel.h"
#include "rpl/rplNode.h"
#include "rpl/rplLink.h"
#include <QApplication>
bool
IOverlayModel::nodeCirclePen(rpl::Node * node, QPen * newPen, QBrush * newBrush)
{
if(!newPen || !newBrush)
return false;
if(!node->getNodeData())
return false;
if(node->isSelected())
*newPen = QPen(QColor(Qt::darkBlue));
else {
*newPen = QPen(QColor(Qt::black));
}
if(node_get_rank(node->getNodeData()) == 256) {
newPen->setWidth(3);
} else {
newPen->setWidth(2);
}
newBrush->setStyle(Qt::SolidPattern);
newBrush->setColor(Qt::white);
return true;
}
bool
IOverlayModel::nodeTextPen(rpl::Node * node, QFont * newFont, QColor * newColor)
{
Q_UNUSED(node);
Q_UNUSED(newColor);
if(newFont) {
*newFont = QApplication::font();
newFont->setPointSize(8);
}
return true;
}
bool
IOverlayModel::linkPen(rpl::Link * link, QPen * newPen)
{
if(link_get_deprecated(link->getLinkData())) {
*newPen = QPen(Qt::lightGray, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
} else {
*newPen = QPen(Qt::black, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
}
return true;
}
bool
IOverlayModel::nodeInfoText(rpl::Node * node, QString * infoText)
{
Q_UNUSED(node);
Q_UNUSED(infoText);
return false;
}