Line editor : use QPropertyUndoCommand instead of ChangePartCommand

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4068 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2015-07-23 10:52:56 +00:00
parent 65d4b08c86
commit 5b8a6a9745
5 changed files with 213 additions and 134 deletions

View File

@@ -37,24 +37,25 @@ class PartLine : public CustomElementGraphicPart
{
Q_OBJECT
Q_PROPERTY(QPointF p1 READ p1 WRITE setP1)
Q_PROPERTY(QPointF p2 READ p2 WRITE setP2)
Q_PROPERTY(Qet::EndType end1 READ firstEndType WRITE setFirstEndType)
Q_PROPERTY(Qet::EndType end2 READ secondEndType WRITE setSecondEndType)
Q_PROPERTY(qreal length1 READ firstEndLength WRITE setFirstEndLength)
Q_PROPERTY(qreal length2 READ secondEndLength WRITE setSecondEndLength)
Q_PROPERTY(QLineF line READ line WRITE setLine)
// constructors, destructor
// constructors, destructor
public:
PartLine(QETElementEditor *, QGraphicsItem * = 0);
virtual ~PartLine();
private:
PartLine(const PartLine &);
// attributes
PartLine(QETElementEditor *, QGraphicsItem * = 0);
virtual ~PartLine();
private:
PartLine(const PartLine &);
signals:
void lineChanged();
void firstEndTypeChanged();
void secondEndTypeChanged();
void firstEndLengthChanged();
void secondEndLengthChanged();
// methods
@@ -85,18 +86,14 @@ class PartLine : public CustomElementGraphicPart
QLineF line() const;
void setLine(const QLineF &line);
QPointF p1() const;
void setP1 (const QPointF &p1);
QPointF p2 () const;
void setP2 (const QPointF &p2);
Qet::EndType firstEndType() const {return first_end;}
void setFirstEndType(const Qet::EndType &et) {first_end = et;}
void setFirstEndType(const Qet::EndType &et);
Qet::EndType secondEndType() const {return second_end;}
void setSecondEndType(const Qet::EndType &et) {second_end = et;}
void setSecondEndType(const Qet::EndType &et);
qreal firstEndLength() const {return first_length;}
void setFirstEndLength(const qreal &l) {first_length = qMin(qAbs(l), m_line.length());}
void setFirstEndLength(const qreal &l);
qreal secondEndLength() const {return second_length;}
void setSecondEndLength(const qreal &l) {second_length = qMin(qAbs(l), m_line.length());}
void setSecondEndLength(const qreal &l);
protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);