MCPcopy Create free account
hub / github.com/BehaviorTree/Groot / onNodeContextMenu

Method onNodeContextMenu

bt_editor/graphic_container.cpp:353–386  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

351}
352
353void GraphicContainer::onNodeContextMenu(Node &node, const QPointF &)
354{
355 QMenu* node_menu = new QMenu(_view);
356 //--------------------------------
357 createMorphSubMenu(node, node_menu);
358 //--------------------------------
359 auto remove = node_menu->addAction("Remove");
360
361 connect( remove, &QAction::triggered,
362 this, [this, &node]()
363 {
364 {
365 const QSignalBlocker blocker(this);
366 _scene->removeNode(node);
367 }
368 emit undoableChange();
369 });
370 //--------------------------------
371 createSmartRemoveAction(node, node_menu);
372 //--------------------------------
373 if(auto bt_node = dynamic_cast<BehaviorTreeDataModel*>(node.nodeDataModel()))
374 {
375 auto subtree = node_menu->addAction("Create SubTree here");
376 auto type = bt_node->nodeType();
377 subtree->setEnabled( type == NodeType::DECORATOR || type == NodeType::CONTROL);
378
379 connect( subtree, &QAction::triggered, this, [this, &node]()
380 {
381 createSubtree(node);
382 });
383 }
384 //--------------------------------
385 node_menu->exec( QCursor::pos() );
386}
387
388QtNodes::Node* GraphicContainer::substituteNode(Node *old_node, const QString& new_node_ID)
389{

Callers

nothing calls this directly

Calls 1

nodeTypeMethod · 0.80

Tested by

no test coverage detected