-// Copyright (C) 2006-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2006-2016 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//#define _DEVDEBUG_
#include "YacsTrace.hxx"
+#include "chrono.hxx"
using namespace std;
using namespace YACS::HMI;
gmain->createForEachLoop(act->text().toStdString());
}
+void MenusBase::putGraphInForeachAction(QAction* act)
+{
+ DEBTRACE(act->text().toStdString());
+ GenericGui *gmain = QtGuiContext::getQtCurrent()->getGMain();
+ gmain->putGraphInForeachLoop(act->text().toStdString());
+}
+
void MenusBase::addHeader(QMenu &m, const QString &h)
{
m.addAction(_dummyAct);
m.addSeparator();
}
-void MenusBase::addForEachMenu(QMenu *m, QActionGroup* actgroup)
+void MenusBase::buildForEachMenu(QMenu *m, QActionGroup* actgroup)
{
QPixmap pixmap;
pixmap.load("icons:new_foreach_loop_node.png");
- QMenu *ForEachMenu=m->addMenu(QIcon(pixmap),"ForEachLoop");
+ QMenu *ForEachMenu=m->addMenu(QIcon(pixmap),"ForEach Loop");
Proc* proc = GuiContext::getCurrent()->getProc();
std::map<std::string, TypeCode*>::const_iterator it = proc->typeMap.begin();
act=actgroup->addAction((*it).first.c_str());
ForEachMenu->addAction(act);
}
+}
+void MenusBase::addForEachMenu(QMenu *m, QActionGroup* actgroup)
+{
+ buildForEachMenu(m, actgroup);
connect(actgroup, SIGNAL(triggered(QAction*)), this, SLOT(foreachAction(QAction*)));
+}
+void MenusBase::addForEachMenuToPutGraph(QMenu *m, QActionGroup* actgroup)
+{
+ buildForEachMenu(m, actgroup);
+ connect(actgroup, SIGNAL(triggered(QAction*)), this, SLOT(putGraphInForeachAction(QAction*)));
}
//=======================================================================================
menu.addAction(gmain->_zoomToBlocAct);
menu.addAction(gmain->_centerOnNodeAct);
menu.addAction(gmain->_shrinkExpand);
+ menu.addAction(gmain->_shrinkExpandChildren);
+ menu.addAction(gmain->_shrinkExpandElementaryRecursively);
menu.addAction(gmain->_computeLinkAct);
// menu.addAction(gmain->_toggleAutomaticComputeLinkAct);
// menu.addAction(gmain->_toggleSimplifyLinkAct);
QMenu menu(m, caller);
addHeader(menu, m);
QActionGroup actgroup(this);
+ QActionGroup actgroup2(this);
if (isEdition)
{
menu.addAction(gmain->_runLoadedSchemaAct);
menu.addSeparator();
menu.addAction(gmain->_importDataTypeAct);
menu.addAction(gmain->_newContainerAct);
+ menu.addAction(gmain->_newHPContainerAct);
QMenu *CNmenu = menu.addMenu(tr("Create Node"));
CNmenu->addAction(gmain->_nodeFromCatalogAct);
// CNmenu->addSeparator();
CNmenu->addAction(gmain->_OptimizerLoopAct);
menu.addSeparator();
menu.addAction(gmain->_pasteItemAct);
+
+ QMenu *PINmenu = menu.addMenu(tr("Put Graph Content in Node"));
+ PINmenu->addAction(gmain->_putGraphInBlocAct);
+ PINmenu->addSeparator();
+ PINmenu->addAction(gmain->_putGraphInForLoopAct);
+ addForEachMenuToPutGraph(PINmenu,&actgroup2);
+ PINmenu->addAction(gmain->_putGraphInWhileLoopAct);
+ PINmenu->addAction(gmain->_putGraphInOptimizerLoopAct);
+
menu.addSeparator();
}
menu.addAction(gmain->_getYacsContainerLogAct);
menu.addSeparator();
menu.addAction(gmain->_zoomToBlocAct);
menu.addAction(gmain->_centerOnNodeAct);
+ menu.addAction(gmain->_shrinkExpand);
+ menu.addAction(gmain->_shrinkExpandChildren);
+ menu.addAction(gmain->_shrinkExpandElementaryRecursively);
menu.addAction(gmain->_computeLinkAct);
// menu.addAction(gmain->_toggleAutomaticComputeLinkAct);
// menu.addAction(gmain->_toggleSimplifyLinkAct);
if (isEdition)
{
menu.addAction(gmain->_newContainerAct);
+ menu.addAction(gmain->_newHPContainerAct);
}
menu.exec(globalPos);
}