diff options
Diffstat (limited to 'src/diagramdocument.cpp')
-rw-r--r-- | src/diagramdocument.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/diagramdocument.cpp b/src/diagramdocument.cpp index 1f34d9f..9df8b75 100644 --- a/src/diagramdocument.cpp +++ b/src/diagramdocument.cpp @@ -138,6 +138,19 @@ DiagramDocument::itemsByType() return result; } +QList<DiagramItem *> +DiagramDocument::selectedItems() +{ + QList<DiagramItem *> result; + foreach(QGraphicsItem *item, QGraphicsScene::selectedItems()) { + DiagramItem *typedItem = dynamic_cast<DiagramItem *>(item); + if (typedItem) { + result.append(typedItem); + } + } + return result; +} + void DiagramDocument::itemMoved(DiagramItem *item) { @@ -230,7 +243,7 @@ DiagramDocument::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) DatabaseTable * DiagramDocument::selectedTable() { - QList<QGraphicsItem *> items = selectedItems(); + QList<DiagramItem *> items = selectedItems(); if (items.size() != 1) return NULL; return qgraphicsitem_cast<DatabaseTable *>(items[0]); |