void FitDialog::removeUserFunction() { if (!funcBox->currentItem()) return; QString name = funcBox->currentItem()->text(); if (d_user_function_names.contains(name)) { explainBox->setText(QString()); int index = d_user_function_names.indexOf(name); d_user_function_names.remove(name); QString f = d_user_functions[index]; d_user_functions.remove(f); f = d_user_function_params[index]; d_user_function_params.remove(f); funcBox->clear(); funcBox->addItems (d_user_function_names); funcBox->setCurrentRow (0); if (!d_user_function_names.count()) { boxUseBuiltIn->setEnabled(false); buttonClearUsrList->setEnabled(false); } emit saveFunctionsList(d_user_functions); } }
void fitDialog::removeUserFunction() { QString name = funcBox->currentText(); if (userFunctionNames.contains(name)) { explainBox->setText(QString::null); int index = userFunctionNames.findIndex(name); userFunctionNames.remove(name); QString f = userFunctions[index]; userFunctions.remove(f); f = userFunctionParams[index]; userFunctionParams.remove(f); funcBox->clear(); funcBox->insertStringList(userFunctionNames, -1); funcBox->setCurrentItem(0); if (!userFunctionNames.count()) boxUseBuiltIn->setEnabled(false); emit saveFunctionsList(userFunctions); } }
void FitDialog::saveUserFunction() { if (editBox->text().isEmpty()) { QMessageBox::critical(this, tr("Input function error"), tr("Please enter a valid function!")); editBox->setFocus(); return; } else if (boxName->text().isEmpty()) { QMessageBox::critical(this, tr("Input function error"), tr("Please enter a function name!")); boxName->setFocus(); return; } else if (boxParam->text().remove(QRegExp("[,;\\s]")).isEmpty()) { QMessageBox::critical(this, tr("Input function error"), tr("Please enter at least one parameter name!")); boxParam->setFocus(); return; } if (d_built_in_function_names.contains(boxName->text())) { QMessageBox::critical(this, tr("Error: function name"), "<p><b>" + boxName->text() + "</b>" + tr(" is a built-in function name" "<p>You must choose another name for your function!")); editBox->setFocus(); return; } if (editBox->text().contains(boxName->text())) { QMessageBox::critical(this, tr("Input function error"), tr("You can't define functions recursevely!")); editBox->setFocus(); return; } QString name = boxName->text(); QString f = name + "(x, " + boxParam->text() + ")=" + editBox->text().remove("\n"); if (d_user_function_names.contains(name)) { int index = d_user_function_names.indexOf(name); d_user_functions[index] = f; d_user_function_params[index] = boxParam->text(); if (funcBox->currentItem()->text() == name) showExpression(index); } else { d_user_function_names << name; d_user_functions << f; d_user_function_params << boxParam->text(); if (categoryBox->currentRow() == 0) { funcBox->addItem(name); funcBox->setCurrentRow (funcBox->count()-1); } if (d_user_function_names.count()>0 && !boxUseBuiltIn->isEnabled() && categoryBox->currentRow() == 0) boxUseBuiltIn->setEnabled(true); } buttonClearUsrList->setEnabled(true); emit saveFunctionsList(d_user_functions); }
void fitDialog::saveUserFunction() { if (editBox->text().isEmpty()) { QMessageBox::critical(0, tr("QtiPlot - Input function error"), tr("Please enter a valid function!")); editBox->setFocus(); return; } else if (boxName->text().isEmpty()) { QMessageBox::critical(0, tr("QtiPlot - Input function error"), tr("Please enter a function name!")); boxName->setFocus(); return; } else if (boxParam->text().remove(QRegExp("[,;\\s]")).isEmpty()) { QMessageBox::critical(0, tr("QtiPlot - Input function error"), tr("Please enter at least one parameter name!")); boxParam->setFocus(); return; } if (builtInFunctionNames.contains(boxName->text())) { QMessageBox::critical(0, tr("QtiPlot - Error: function name"), "<p><b>"+boxName->text()+ "</b>"+tr(" is a built-in function name" "<p>You must choose another name for your function!")); editBox->setFocus(); return; } if (editBox->text().contains(boxName->text())) { QMessageBox::critical(0, tr("QtiPlot - Input function error"), tr("You can't define functions recursevely!")); editBox->setFocus(); return; } QString name = boxName->text(); QString f = name +"(x, " + boxParam->text() + ")="+editBox->text().remove("\n"); if (userFunctionNames.contains(name)) { int index = userFunctionNames.findIndex(name); userFunctions[index] = f; userFunctionParams[index] = boxParam->text(); if (funcBox->currentText() == name) showExpression(index); } else { userFunctionNames << name; userFunctions << f; userFunctionParams << boxParam->text(); if (categoryBox->currentItem() == 0) { funcBox->insertItem(name, -1); funcBox->setCurrentItem(funcBox->numRows()-1); } if ((int)userFunctionNames.count()>0 && !boxUseBuiltIn->isEnabled() && categoryBox->currentItem() == 0) boxUseBuiltIn->setEnabled(true); } emit saveFunctionsList(userFunctions); }