mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 13:30:34 +01:00
Basic Shape: qgraphicsitem_cast<> instead of dynamic_cast
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2897 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -368,7 +368,7 @@ QDomDocument Diagram::toXml(bool whole_content) {
|
||||
} else if (DiagramImageItem *dii = qgraphicsitem_cast<DiagramImageItem *>(qgi)) {
|
||||
if (whole_content) list_images << dii;
|
||||
else if (dii -> isSelected()) list_images << dii;
|
||||
} else if (QetShapeItem *dsi = dynamic_cast<QetShapeItem *>(qgi)) {
|
||||
} else if (QetShapeItem *dsi = qgraphicsitem_cast<QetShapeItem *>(qgi)) {
|
||||
if (whole_content) list_shapes << dsi;
|
||||
else if (dsi -> isSelected()) list_shapes << dsi;
|
||||
}
|
||||
|
||||
@@ -717,7 +717,7 @@ bool DiagramView::hasCopiableItems() {
|
||||
if (
|
||||
qgraphicsitem_cast<Element *>(qgi) ||
|
||||
qgraphicsitem_cast<IndependentTextItem *>(qgi) ||
|
||||
dynamic_cast<QetShapeItem *>(qgi) ||
|
||||
qgraphicsitem_cast<QetShapeItem *>(qgi) ||
|
||||
qgraphicsitem_cast<DiagramImageItem *>(qgi)
|
||||
) {
|
||||
return(true);
|
||||
@@ -736,7 +736,7 @@ bool DiagramView::hasDeletableItems() {
|
||||
qgraphicsitem_cast<Element *>(qgi) ||
|
||||
qgraphicsitem_cast<Conductor *>(qgi) ||
|
||||
qgraphicsitem_cast<IndependentTextItem *>(qgi) ||
|
||||
dynamic_cast<QetShapeItem *>(qgi) ||
|
||||
qgraphicsitem_cast<QetShapeItem *>(qgi) ||
|
||||
qgraphicsitem_cast<DiagramImageItem *>(qgi)
|
||||
) {
|
||||
return(true);
|
||||
|
||||
@@ -481,7 +481,7 @@ void ExportDialog::generateDxf(Diagram *diagram, int width, int height, bool kee
|
||||
list_texts << iti;
|
||||
} else if (DiagramImageItem *dii = qgraphicsitem_cast<DiagramImageItem *>(qgi)) {
|
||||
list_images << dii;
|
||||
} else if (QetShapeItem *dii = dynamic_cast<QetShapeItem *>(qgi)) {
|
||||
} else if (QetShapeItem *dii = qgraphicsitem_cast<QetShapeItem *>(qgi)) {
|
||||
if (dii -> getType() == QetShapeItem::Line && dii -> getLine()) {
|
||||
list_lines << dii -> getLine();
|
||||
} else if (dii -> getType() == QetShapeItem::Rectangle && dii -> getRectangle()) {
|
||||
|
||||
@@ -16,6 +16,19 @@ class QetShapeItem : public QetGraphicsItem
|
||||
QetShapeItem(QPointF, QPointF = QPointF(0,0), ShapeType = Line, bool lineAngle = false, QGraphicsItem *parent = 0);
|
||||
virtual ~QetShapeItem();
|
||||
|
||||
// attributes
|
||||
public:
|
||||
enum { Type = UserType + 1008 };
|
||||
|
||||
// methods
|
||||
public:
|
||||
/**
|
||||
Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a
|
||||
QetShapeItem
|
||||
@return the QGraphicsItem type
|
||||
*/
|
||||
virtual int type() const { return Type; }
|
||||
|
||||
void setStyle(Qt::PenStyle);
|
||||
Qt::PenStyle getStyle() const { return _shapeStyle; }
|
||||
ShapeType getType() const { return _shapeType; }
|
||||
|
||||
Reference in New Issue
Block a user