mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
Element editor: introduced CustomElementPart::sceneGeometricRect(), which provides a margin-less equivalent to sceneBoundingRect().
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2035 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
parent
cbee08b115
commit
ec6ea11d0d
@ -73,6 +73,7 @@ class CustomElementPart {
|
|||||||
Typically, useless primitives are discarded when saving the element.
|
Typically, useless primitives are discarded when saving the element.
|
||||||
*/
|
*/
|
||||||
virtual bool isUseless() const = 0;
|
virtual bool isUseless() const = 0;
|
||||||
|
virtual QRectF sceneGeometricRect() const = 0;
|
||||||
/**
|
/**
|
||||||
Inform this part a user-induced transformation is about to begin. This method can be used to save data required by handleUserTransformation().
|
Inform this part a user-induced transformation is about to begin. This method can be used to save data required by handleUserTransformation().
|
||||||
*/
|
*/
|
||||||
|
@ -256,6 +256,16 @@ bool PartArc::isUseless() const {
|
|||||||
return(rect().isNull() || !angle());
|
return(rect().isNull() || !angle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartArc::sceneGeometricRect() const {
|
||||||
|
return(mapToScene(rect()).boundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -60,6 +60,7 @@ class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart {
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
|
@ -199,6 +199,16 @@ bool PartCircle::isUseless() const {
|
|||||||
return(rect().isNull());
|
return(rect().isNull());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartCircle::sceneGeometricRect() const {
|
||||||
|
return(mapToScene(rect()).boundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -52,6 +52,7 @@ class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
|
@ -189,6 +189,16 @@ bool PartEllipse::isUseless() const {
|
|||||||
return(rect().isNull());
|
return(rect().isNull());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartEllipse::sceneGeometricRect() const {
|
||||||
|
return(mapToScene(rect()).boundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -51,6 +51,7 @@ class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
|
@ -476,6 +476,16 @@ bool PartLine::isUseless() const {
|
|||||||
return(sceneP1() == sceneP2());
|
return(sceneP1() == sceneP2());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartLine::sceneGeometricRect() const {
|
||||||
|
return(QRectF(sceneP1(), sceneP2()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -68,6 +68,7 @@ class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart {
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
virtual void setFirstEndType(const QET::EndType &);
|
virtual void setFirstEndType(const QET::EndType &);
|
||||||
|
@ -163,6 +163,16 @@ bool PartPolygon::isUseless() const {
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartPolygon::sceneGeometricRect() const {
|
||||||
|
return(mapToScene(polygon().boundingRect()).boundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -56,6 +56,7 @@ class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart
|
|||||||
void setProperty(const QString &, const QVariant &);
|
void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
|
@ -196,6 +196,16 @@ bool PartRectangle::isUseless() const {
|
|||||||
return(rect().isNull());
|
return(rect().isNull());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartRectangle::sceneGeometricRect() const {
|
||||||
|
return(mapToScene(rect()).boundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -51,6 +51,7 @@ class PartRectangle : public QGraphicsRectItem, public CustomElementGraphicPart
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
|
@ -220,6 +220,16 @@ bool PartTerminal::isUseless() const {
|
|||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartTerminal::sceneGeometricRect() const {
|
||||||
|
return(sceneBoundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -57,6 +57,7 @@ class PartTerminal : public CustomElementPart, public QGraphicsItem {
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
|
@ -303,6 +303,16 @@ bool PartText::isUseless() const {
|
|||||||
return(toPlainText().isEmpty());
|
return(toPlainText().isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartText::sceneGeometricRect() const {
|
||||||
|
return(sceneBoundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a rect bounding rectangle.
|
within the \a rect bounding rectangle.
|
||||||
|
@ -56,6 +56,7 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0 );
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0 );
|
||||||
|
@ -346,6 +346,16 @@ bool PartTextField::isUseless() const {
|
|||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the minimum, margin-less rectangle this part can fit into, in scene
|
||||||
|
coordinates. It is different from boundingRect() because it is not supposed
|
||||||
|
to imply any margin, and it is different from shape because it is a regular
|
||||||
|
rectangle, not a complex shape.
|
||||||
|
*/
|
||||||
|
QRectF PartTextField::sceneGeometricRect() const {
|
||||||
|
return(sceneBoundingRect());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the user-induced transformation, provided this primitive is contained
|
Start the user-induced transformation, provided this primitive is contained
|
||||||
within the \a initial_selection_rect bounding rectangle.
|
within the \a initial_selection_rect bounding rectangle.
|
||||||
|
@ -62,6 +62,7 @@ class PartTextField : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
virtual void setProperty(const QString &, const QVariant &);
|
virtual void setProperty(const QString &, const QVariant &);
|
||||||
virtual QVariant property(const QString &);
|
virtual QVariant property(const QString &);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0 );
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0 );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user