void RectObject::init(qreal x, qreal y, qreal w, qreal h, QRgb rgb, Qt::PenStyle lineType) { setData(OBJ_TYPE, type()); setData(OBJ_NAME, OBJ_NAME_RECTANGLE); //WARNING: DO NOT enable QGraphicsItem::ItemIsMovable. If it is enabled, //WARNING: and the item is double clicked, the scene will erratically move the item while zooming. //WARNING: All movement has to be handled explicitly by us, not by the scene. setFlag(QGraphicsItem::ItemIsSelectable, true); setObjectRect(x, y, w, h); setObjectColor(rgb); setObjectLineType(lineType); setObjectLineWeight(0.35); //TODO: pass in proper lineweight setPen(objectPen()); }
void EllipseObject::init(qreal centerX, qreal centerY, qreal width, qreal height, QRgb rgb, Qt::PenStyle lineType) { setData(OBJ_TYPE, type()); setData(OBJ_NAME, OBJ_NAME_ELLIPSE); //WARNING: DO NOT enable QGraphicsItem::ItemIsMovable. If it is enabled, //WARNING: and the item is double clicked, the scene will erratically move the item while zooming. //WARNING: All movement has to be handled explicitly by us, not by the scene. setFlag(QGraphicsItem::ItemIsSelectable, true); setObjectSize(width, height); setObjectCenter(centerX, centerY); setObjectColor(rgb); setObjectLineType(lineType); setObjectLineWeight(0.35); //TODO: pass in proper lineweight setPen(objectPen()); updatePath(); }
void PolygonObject::init(qreal x, qreal y, const QPainterPath& p, QRgb rgb, Qt::PenStyle lineType) { setData(OBJ_TYPE, type()); setData(OBJ_NAME, OBJ_NAME_POLYGON); //WARNING: DO NOT enable QGraphicsItem::ItemIsMovable. If it is enabled, //WARNING: and the item is double clicked, the scene will erratically move the item while zooming. //WARNING: All movement has to be handled explicitly by us, not by the scene. setFlag(QGraphicsItem::ItemIsSelectable, true); gripIndex = -1; updatePath(p); setObjectPos(x,y); setObjectColor(rgb); setObjectLineType(lineType); setObjectLineWeight(0.35); //TODO: pass in proper lineweight setPen(objectPen()); }