summaryrefslogtreecommitdiff
path: root/src/diagramdocument.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/diagramdocument.cpp')
-rw-r--r--src/diagramdocument.cpp15
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]);