void ParametersPlugin_WidgetParamsMgr::updateFeaturesPart()
{
- updateItem(myFeatures, featuresItems(myParametersList));
+ QList<FeaturePtr> aFeatureList;
+ updateItem(myFeatures, featuresItems(myParametersList, aFeatureList));
}
void ParametersPlugin_WidgetParamsMgr::updateParametersPart()
QList<QStringList> ParametersPlugin_WidgetParamsMgr::
- featuresItems(const QList<FeaturePtr>& theFeatures) const
+ featuresItems(const QList<FeaturePtr>& theFeatures, QList<FeaturePtr>& theFeatureList) const
{
QList<QStringList> aItemsList;
ResultParameterPtr aParam;
- QList<FeaturePtr> aFeatures;
foreach(FeaturePtr aParameter, theFeatures) {
aParam = std::dynamic_pointer_cast<ModelAPI_ResultParameter>(aParameter->firstResult());
const std::set<std::shared_ptr<ModelAPI_Attribute>>& aRefs = aParam->data()->refsToMe();
// Find referenced feature Recursive
QList<FeaturePtr> aList;
aList.append(aReferenced);
- QList<QStringList> aItems = featuresItems(aList);
+ QList<QStringList> aItems = featuresItems(aList, theFeatureList);
aItemsList.append(aItems);
} else {
- if (!aFeatures.contains(aReferenced)) {
+ if (!theFeatureList.contains(aReferenced)) {
QStringList aValNames;
aValNames << aReferenced->data()->name().c_str();
}
}
aItemsList.append(aValNames);
- aFeatures.append(aReferenced);
+ theFeatureList.append(aReferenced);
}
}
}
aText.replace(" ", "");
}
if (hasName(aText)) {
- myMessage = tr("Name %1 already exists.").arg(aText);
+ myMessage = tr("Name '%1' already exists.").arg(aText);
QTimer::singleShot(50, this, SLOT(sendWarning()));
return;
}
aLoop->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
aLoop->flush(Events_Loop::eventByName(EVENT_OBJECT_DELETED));
- if (aColumn == Col_Equation)
+ if (aColumn != Col_Comment)
updateParametersPart();
updateFeaturesPart();
+
+ onSelectionChanged();
}
void ParametersPlugin_WidgetParamsMgr::updateItem(QTreeWidgetItem* theItem,
void ParametersPlugin_WidgetParamsMgr::onSelectionChanged()
{
+ QList<QTreeWidgetItem*> aItemsList = myTable->selectedItems();
bool isValid = checkIsValid();
if (isValid) {
- QList<QTreeWidgetItem*> aItemsList = myTable->selectedItems();
bool isParameter = false;
foreach(QTreeWidgetItem* aItem, aItemsList) {
if (aItem->parent() == myParameters) {
}
}
myInsertBtn->setEnabled(isParameter);
- myRemoveBtn->setEnabled(isParameter);
+ //myRemoveBtn->setEnabled(isParameter);
myUpBtn->setEnabled(isParameter);
myDownBtn->setEnabled(isParameter);
} else {
myInsertBtn->setEnabled(false);
- myRemoveBtn->setEnabled(false);
+ //myRemoveBtn->setEnabled(false);
myUpBtn->setEnabled(false);
myDownBtn->setEnabled(false);
}
+ myRemoveBtn->setEnabled(!aItemsList.isEmpty());
}
void ParametersPlugin_WidgetParamsMgr::enableButtons(bool theEnable)