#include <QGraphicsPathItem>
class BPoint;
+class QGraphicsView;
class SplineItem : public QObject, public QGraphicsPathItem
{
Q_OBJECT
public:
- SplineItem(const QList <BPoint> &points, QGraphicsItem* parent = 0, QGraphicsScene *scene = 0);
+ explicit SplineItem(const QList <BPoint> &points, QGraphicsItem* parent = 0, QGraphicsScene *scene = 0);
enum { Type = UserType + 10 };
virtual int type() const;
- void updateSpline();
+ bool editing();
+
+ void updateSpline(bool editing = false);
QList <BPoint> getPoints();
+ void setPoints(const QList <BPoint> &points);
void removeChild(QGraphicsItem *child);
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
private:
- int getClosestPointOnCurve(QPointF point, double *tFinal);
+ int getClosestPointOnCurve(const QPointF &point, double *tFinal);
bool m_closed;
+ bool m_editing;
+ QGraphicsView *m_view;
signals:
- void changed();
+ void changed(bool editing);
};
#endif