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