Files
qelectrotech-source-mirror/sources/qetgraphicsitem/qetshapeitem.cpp
abhishekm71 b0e9e7efc1 Basic Primitive shapes added (line,rectangle,ellipse). Default style dashed.
Pending work:
1. DXF Export
2. XML Import / Export
3. Properties Edit option (line style/colour/weight)
4. Debugging required



git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2873 bfdf4180-ca20-0410-9c96-a3a8aa849046
2014-02-23 18:55:26 +00:00

46 lines
973 B
C++

#include "qetshapeitem.h"
QetShapeItem::QetShapeItem(QPointF p1, QPointF p2, ShapeType type, bool lineAngle,QGraphicsItem *parent) :
QetGraphicsItem(parent),
_shapeStyle(Qt::DashLine),
_lineAngle(lineAngle)
{
_shapeType = type;
_boundingRect = QRectF(p1, p2);
}
QetShapeItem::~QetShapeItem()
{
}
void QetShapeItem::setStyle(Qt::PenStyle newStyle)
{
_shapeStyle = newStyle;
}
QRectF QetShapeItem::boundingRect() const
{
return _boundingRect;
}
void QetShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QRectF rec = boundingRect();
QPen pen(Qt::black);
pen.setStyle(_shapeStyle);
painter->setPen(pen);
switch(_shapeType) {
case Line:
if (_lineAngle)
painter -> drawLine(rec.topRight(), rec.bottomLeft());
else
painter -> drawLine(rec.topLeft(), rec.bottomRight());
break;
case Rectangle:
painter -> drawRect(rec);
break;
default: //(case Ellipse:)
painter ->drawEllipse(rec);
}
}