bool CAlgorithmSettingsModel::setData(const QModelIndex& index, const QVariant& value, int role) { if(CQJsonModel::setData(index, value,role)) { CQJsonTreeItem* parentItem = backtrack(index); QJsonObject params; IPlugin* plugin = workflow->getStep(parentItem->row()); CQJsonTreeItem* tempItem; int size = parentItem->getChilds()->size(); for(int i = 0; i < size; i++) { tempItem = parentItem->getChilds()->value(i); QJsonObject o = tempItem->toJson(); QString key = o.keys().at(0); params.insert(key, o.take(key)); } if(plugin->ValidateParameters(¶ms)) { plugin->getAlgorithm()->setParameters(params); }else{ QString pluginM = plugin->Name(); pluginM.append(" parameter not Valid!"); CLogController::instance().frameworkMessage(pluginM); } return true; } return false; }