File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 ();
Original file line number Diff line number Diff 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
409413NodeItem *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+
487514bool NodeView::isPortFree (PortItem *port)
488515{
489516 bool result = true ;
Original file line number Diff line number Diff 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;}
You can’t perform that action at this time.
0 commit comments