MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / copySelected

Method copySelected

src/openms_gui/source/VISUAL/TOPPASScene.cpp:315–403  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

313 }
314
315 void TOPPASScene::copySelected()
316 {
317 TOPPASScene* tmp_scene = new TOPPASScene(nullptr, this->getTempDir(), false);
318 std::map<TOPPASVertex*, TOPPASVertex*> vertex_map;
319
320 foreach(TOPPASVertex* v, vertices_)
321 {
322 if (!v->isSelected())
323 {
324 continue;
325 }
326
327 TOPPASVertex* new_v = nullptr;
328
329 TOPPASInputFileListVertex* iflv = qobject_cast<TOPPASInputFileListVertex*>(v);
330 if (iflv)
331 {
332 TOPPASInputFileListVertex* new_iflv = new TOPPASInputFileListVertex(*iflv);
333 new_v = new_iflv;
334 }
335
336 TOPPASOutputFileListVertex* oflv = qobject_cast<TOPPASOutputFileListVertex*>(v);
337 if (oflv)
338 {
339 TOPPASOutputFileListVertex* new_oflv = new TOPPASOutputFileListVertex(*oflv);
340 new_v = new_oflv;
341 }
342
343 TOPPASToolVertex* tv = qobject_cast<TOPPASToolVertex*>(v);
344 if (tv)
345 {
346 TOPPASToolVertex* new_tv = new TOPPASToolVertex(*tv);
347 new_v = new_tv;
348 }
349
350 TOPPASMergerVertex* mv = qobject_cast<TOPPASMergerVertex*>(v);
351 if (mv)
352 {
353 TOPPASMergerVertex* new_mv = new TOPPASMergerVertex(*mv);
354 new_v = new_mv;
355 }
356
357 TOPPASSplitterVertex* sv = qobject_cast<TOPPASSplitterVertex*>(v);
358 if (sv)
359 {
360 TOPPASSplitterVertex* new_sv = new TOPPASSplitterVertex(*sv);
361 new_v = new_sv;
362 }
363
364 if (!new_v)
365 {
366 std::cerr << "Unknown vertex type! Aborting." << std::endl;
367 return;
368 }
369
370 vertex_map[v] = new_v;
371 tmp_scene->addVertex(new_v);
372 }

Callers 1

keyPressEventMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected