#include "peg.h"
color = col;
ScaleFactor = 1;
}
QRectF Peg
::boundingRect() const { double Margin = 2;
return QRectF(-Margin,
-Margin,
10*ScaleFactor
+ 2*Margin,
10*ScaleFactor
+ 2*Margin
);
}
void Peg::setMoveable(bool move){
setFlag(ItemIsMovable,move);
}
void Peg::setScaleFactor(double rad){
ScaleFactor = rad;
}
painter
->setPen
(QPen(Qt
::black));
gradient.setColorAt(0.0,Qt::white);
gradient.setColorAt(0.7,color.lighter(120));
gradient.setColorAt(1.0,color);
painter->setBrush(gradient);
painter->scale(ScaleFactor,ScaleFactor);
painter->drawEllipse(0,0,10,10);
}
if (event->button() != Qt::LeftButton){
event->ignore();
return;
}
setCursor(Qt::ClosedHandCursor);
}
setCursor(Qt::OpenHandCursor);
}
#include "peg.h"
Peg::Peg(QColor col){
color = col;
ScaleFactor = 1;
}
QRectF Peg::boundingRect() const {
double Margin = 2;
return QRectF(-Margin,-Margin,10*ScaleFactor + 2*Margin,10*ScaleFactor + 2*Margin);
}
void Peg::setMoveable(bool move){
setFlag(ItemIsMovable,move);
}
void Peg::setScaleFactor(double rad){
ScaleFactor = rad;
}
void Peg::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
painter->setPen(QPen(Qt::black));
QRadialGradient gradient(3,3,9);
gradient.setColorAt(0.0,Qt::white);
gradient.setColorAt(0.7,color.lighter(120));
gradient.setColorAt(1.0,color);
painter->setBrush(gradient);
painter->scale(ScaleFactor,ScaleFactor);
painter->drawEllipse(0,0,10,10);
}
void Peg::mousePressEvent(QGraphicsSceneMouseEvent *event){
if (event->button() != Qt::LeftButton){
event->ignore();
return;
}
setCursor(Qt::ClosedHandCursor);
}
void Peg::mouseReleaseEvent(QGraphicsSceneMouseEvent *event){
setCursor(Qt::OpenHandCursor);
}
To copy to clipboard, switch view to plain text mode
Bookmarks