1 // Thomas Nagy 2007-2021 GPLV3
2
3 #include <QGraphicsScene>
4 #include <QGraphicsSceneMouseEvent>
5 #include <QPainter>
6 #include <QStyleOption>
7 #include <QColor>
8 #include <QPen>
9 #include <QtDebug>
10
11 #include <math.h>
12
13 #include "con.h"
14 #include "canvas_item.h"
15 #include "canvas_sort.h"
16 #include "canvas_view.h"
17 #include "sem_mediator.h"
18
canvas_sort(canvas_view * i_oGraphWidget,canvas_item * i_oFrom)19 canvas_sort::canvas_sort(canvas_view *i_oGraphWidget, canvas_item *i_oFrom)
20 : QGraphicsEllipseItem(), m_oGraph(i_oGraphWidget)
21 {
22 m_oFrom = i_oFrom;
23
24 setZValue(123);
25 //setRect(0, 0, 20, 20);
26 //m_oColor = QColor("#FFFCD5");
27 //m_oColor = QColor("#ABFBC7");
28
29 hide();
30 QPen l_oPen;
31 l_oPen.setWidthF(0.01 + 1);
32 setPen(l_oPen);
33
34 QRectF l_oRect;
35 l_oRect.setTopLeft(QPointF(0, 0));
36 l_oRect.setWidth(20);
37 l_oRect.setHeight(20);
38 setRect(l_oRect);
39
40 setBrush(QColor(255, 255, 0));
41
42 setPos(QPointF(-30, 0));
43 setParentItem(m_oFrom);
44 }
45
paint(QPainter * i_oPainter,const QStyleOptionGraphicsItem * _option,QWidget * i_oW)46 void canvas_sort::paint(QPainter *i_oPainter, const QStyleOptionGraphicsItem *_option, QWidget * i_oW)
47 {
48 if (m_oGraph->m_oMediator->m_iSortCursor + 1 > m_oFrom->m_iNum)
49 {
50 i_oPainter->setBrush(QColor(0, 255, 0));
51 }
52 else
53 {
54 i_oPainter->setBrush(QColor(255, 255, 0));
55 }
56
57 i_oPainter->drawEllipse(boundingRect().adjusted(1, 1, -1, -1));
58 i_oPainter->drawText(boundingRect().translated(0, 1), Qt::AlignCenter, QString::number(m_oFrom->m_iNum));
59 }
60
61