void Widget::on_deleteButton_clicked() { NodeShape *node = new NodeShape(200,30); node->setValue(ui->lineEdit->text()); node = cDoubleList->find(node); if(node){ QList<LinkShape*> listNodeShapes= node->getLinkShapes(); if(listNodeShapes.size()>0){ int x=0; foreach (LinkShape *_linkShape, listNodeShapes){ scene->removeItem(_linkShape); x++; } node->getLinkShapes().clear(); if(x>1){ NodeShape *node1=cDoubleList->findPrev(node); NodeShape *node2=cDoubleList->findNext(node); node1->setLink2(node2->getLink1()); node2->setLink1(node1->getLink2()); scene->addItem(new LinkShape( node1, node2)); scene->update(); } }
void Widget::on_addButton_clicked() { NodeShape *node = new NodeShape(200,30); node->setValue(ui->lineEdit->text()); QString link2=QString::fromStdString(cDoubleList->insert(node)); if(cDoubleList->Size()==1){ node->setLink1("0"); node->setLink2(link2); scene->addItem(node); }else if(cDoubleList->Size()>1){ node->setLink1(nodeTemp->getLink2()); node->setLink2(link2); scene->addItem(node); scene->addItem(new LinkShape(nodeTemp,node)); } nodeTemp=node; }