Guest User

Untitled

a guest
May 22nd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. QMenu* NodeView::contextMenuFull()
  2. {
  3.     QMenu* menu=new QMenu(this);
  4.  
  5.     // Group-Nodes menu    
  6.     QSignalMapper* pSignalMapper=new QSignalMapper;
  7.                
  8.     INodeSystem *s=NodeSystem::Instance(g_typeSystem);
  9.  
  10.     int k=0;
  11.     for(int i=0;i<s->getNumGroups();i++)
  12.     {
  13.         QMenu* groupMenu=menu->addMenu(s->getGroupName(i));
  14.  
  15.         for(int j=0;j<s->getNumNodes(i);j++)
  16.         {              
  17.             // Add node
  18.             QString nodeName=s->getNodeName(i,j);
  19.             QAction *addNode=new QAction(nodeName,this);
  20.             char key=65+k;
  21.             k++;
  22.             addNode->setShortcut(QKeySequence(tr("%1").arg(key)));
  23.             addNode->setStatusTip(QString("Add new node %1").arg(nodeName));
  24.             connect(addNode,SIGNAL(triggered()),pSignalMapper,SLOT(map()));
  25.             pSignalMapper->setMapping(addNode,nodeName);
  26.             groupMenu->addAction(addNode);
  27.         }
  28.     }
  29.  
  30.     connect(pSignalMapper, SIGNAL(mapped(QString)),this, SLOT(addNewNode(QString)));
  31.    
  32.     return menu;
  33. }
Add Comment
Please, Sign In to add comment