bool CoreWindow::removeClick() { Data::Graph * currentGraph = Manager::GraphManager::getInstance()->getActiveGraph(); QLinkedList<osg::ref_ptr<Data::Edge> > * selectedEdges = viewerWidget->getPickHandler()->getSelectedEdges(); while (selectedEdges->size () > 0) { osg::ref_ptr<Data::Edge> existingEdge1 = (* (selectedEdges->constBegin())); currentGraph->removeEdge(existingEdge1); selectedEdges->removeFirst (); } currentGraph = Manager::GraphManager::getInstance()->getActiveGraph(); QLinkedList<osg::ref_ptr<Data::Node> > * selectedNodes = viewerWidget->getPickHandler()->getSelectedNodes(); while (selectedNodes->size () > 0) { osg::ref_ptr<Data::Node> existingNode1 = (* (selectedNodes->constBegin())); if (existingNode1->isRemovableByUser()) currentGraph->removeNode(existingNode1); selectedNodes->removeFirst (); } int NodesCount=currentGraph->getNodes()->size(); cout<<NodesCount; if (isPlaying) layout->play(); return true; }
void RemoveEdgeExecutor::execute_server() { int id; *stream >> id; Data::Graph* currentGraph = Manager::GraphManager::getInstance()->getActiveGraph(); QMap<qlonglong, osg::ref_ptr<Data::Edge> >* edges = currentGraph -> getEdges(); if ( edges->contains( id ) ) { Data::Edge* edge = *edges->find( id ); if ( edge != NULL ) { currentGraph->removeEdge( edge ); } } Server* server = Server::getInstance(); server->sendRemoveEdge( id ); if ( ( ( QOSG::CoreWindow* )server->getCoreWindowReference() )->playing() ) { server->getLayoutThread()->play(); } }