Skip to content

Commit 7e9053f

Browse files
author
Sergey Agafonov
committed
added method clearView
1 parent 3c99472 commit 7e9053f

3 files changed

Lines changed: 34 additions & 7 deletions

File tree

src/nodeitem.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,14 +179,12 @@ void NodeItem::updateSize()
179179
foreach (PortItem *port, m_portList)
180180
{
181181
if (port->portType() == PortItem::TypeIn)
182-
port->setPos(0, (port->posY() + m_indentSize.height() + m_titleSize.height()) - port->size().height() / 2);
182+
port->setPos(0, (port->posY() + m_indentSize.height() +
183+
m_titleSize.height()) - port->size().height() / 2);
183184
else
184-
{
185-
qDebug() << "pos y:" << (port->posY() + m_indentSize.height() + m_titleSize.height()) - port->size().height() / 2;
186-
187185
port->setPos(m_size.width() - port->size().width(),
188-
(port->posY() + m_indentSize.height() + m_titleSize.height()) - port->size().height() / 2);
189-
}
186+
(port->posY() + m_indentSize.height() +
187+
m_titleSize.height()) - port->size().height() / 2);
190188
}
191189

192190
prepareGeometryChange();

src/nodeview.cpp

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ void NodeView::mousePressEvent(QMouseEvent *e)
127127
NodeItem *node = checkNodeHit(mapToScene(e->pos()));
128128

129129
if (node)
130-
emit calledMenuNode(node);
130+
emit calledMenuNode(node);
131131
else emit calledMenuView();
132132
}
133133

@@ -397,13 +397,17 @@ void NodeView::removeNode(NodeItem *node)
397397
m_ropeList.removeOne(rope);
398398
m_scene->removeItem(rope);
399399
}
400+
401+
port->disconnect();
402+
port->deleteLater();
400403
}
401404

402405
foreach(GroupItem *group, m_groupList)
403406
group->removeNode(node);
404407

405408
m_nodeList.removeOne(node);
406409
m_scene->removeItem(node);
410+
node->deleteLater();
407411
}
408412

409413
NodeItem *NodeView::nodeAt(const QUuid &uuid)
@@ -484,6 +488,29 @@ void NodeView::removePortConnections(PortItem *port)
484488
}
485489
}
486490

491+
void NodeView::clearView()
492+
{
493+
foreach (NodeItem *node, m_nodeList)
494+
{
495+
if(node->widget())
496+
node->widget()->deleteLater();
497+
498+
removeNode(node);
499+
}
500+
501+
foreach (GroupItem *group, m_groupList)
502+
{
503+
m_scene->removeItem(group);
504+
group->deleteLater();
505+
}
506+
507+
m_groupList.clear();
508+
m_nodeList.clear();
509+
m_ropeList.clear();
510+
m_selectedNodes.clear();
511+
m_scene->clear();
512+
}
513+
487514
bool NodeView::isPortFree(PortItem *port)
488515
{
489516
bool result = true;

src/nodeview.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ public slots:
7272
bool createConnection(PortItem *portOut, PortItem *portIn);
7373
void removePortConnections(PortItem *port);
7474

75+
void clearView();
76+
7577
QList<NodeItem*> nodeList(){return m_nodeList;}
7678
QList<RopeItem*> ropeList(){return m_ropeList;}
7779
QList<GroupItem*> groupList(){return m_groupList;}

0 commit comments

Comments
 (0)