-// Copyright (C) 2006-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2006-2019 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
DEBTRACE("GuiEditor::CreateContainer");
SubjectProc *sproc = QtGuiContext::getQtCurrent()->getSubjectProc();
YASSERT(sproc);
- SubjectContainer *scont = 0;
+ SubjectContainerBase *scont = 0;
while (!scont)
{
std::stringstream name;
}
}
+void GuiEditor::CreateHPContainer()
+{
+ DEBTRACE("GuiEditor::CreateHPContainer");
+ SubjectProc *sproc = QtGuiContext::getQtCurrent()->getSubjectProc();
+ YASSERT(sproc);
+ SubjectContainerBase *scont = 0;
+ while (!scont)
+ {
+ std::stringstream name;
+ long newid = GuiContext::getCurrent()->getNewId();
+ if (newid > 100000) break;
+ name.str("");
+ name << "container" << newid;
+ scont = sproc->addHPContainer(name.str());
+ }
+}
+
void GuiEditor::CreateComponentInstance()
{
DEBTRACE("GuiEditor::CreateComponentInstance");
/*!
* Subject shrink or expand, command from popup menu: needs a valid selection
*/
-void GuiEditor::shrinkExpand() {
+void GuiEditor::shrinkExpand(Qt::KeyboardModifiers kbModifiers) {
DEBTRACE("GuiEditor::shrinkExpand");
Subject* sub = QtGuiContext::getQtCurrent()->getSelectedSubject();
return;
};
- if (sni->isExpanded()) {
- sni->setExpanded(false);
- } else {
- sni->setExpanded(true);
- };
- sni->reorganizeShrinkExpand();
+ ShrinkMode aShrinkMode = CurrentNode;
+ if (kbModifiers == Qt::ControlModifier) {
+ aShrinkMode = ElementaryNodes;
+ } else if (kbModifiers == (Qt::ShiftModifier|Qt::ControlModifier)) {
+ aShrinkMode = ChildrenNodes;
+ }
+
+ sni->reorganizeShrinkExpand(aShrinkMode);
sni->showOutScopeLinks();
sni->updateLinks();
}
toRemove->askRegisterUndoDestroy();
if(!parent->destroy(toRemove))
Message mess;
+ // Empty the clipboard in order to avoid the copy of a destroyed object.
+ QtGuiContext::getQtCurrent()->setSubjectToCopy(NULL);
}
void GuiEditor::CutSubject()
QString GuiEditor::asciiFilter(const QString & name)
{
DEBTRACE(name.toStdString());
- string aName = name.toAscii().data();
+ string aName = name.toLatin1().data();
DEBTRACE(aName);
for (int i=0; i < aName.size(); i++)
{