Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the model name instead of fully qualified path #7152

Merged
merged 2 commits into from Feb 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
31 changes: 22 additions & 9 deletions OMEdit/OMEditLIB/Simulation/SimulationDialog.cpp
Expand Up @@ -571,7 +571,6 @@ void SimulationDialog::setUpForm()
"If you want to change the output path then update the working directory in Options/Preferences."));
mpResultFileNameLabel = new Label(tr("Result File (Optional):"));
mpResultFileNameTextBox = new QLineEdit;
connect(mpFileNameTextBox, SIGNAL(textEdited(QString)), SLOT(resultFileNameChanged(QString)));
connect(mpOutputFormatComboBox, SIGNAL(currentIndexChanged(QString)), SLOT(resultFileNameChanged(QString)));
// Variable filter
mpVariableFilterLabel = new Label(tr("Variable Filter (Optional):"));
Expand Down Expand Up @@ -694,6 +693,12 @@ void SimulationDialog::initializeFields(bool isReSimulate, SimulationOptions sim
mpSimulationHeading->setText(QString(Helper::simulationSetup).append(" - ").append(mClassName));
// apply simulation options
mpLibraryTreeItem->mSimulationOptions.setClassName(mClassName);
/* Fix for ticket:5796
* Set the file name prefix to the model name to avoid the long paths.
*/
if (!mpLibraryTreeItem->mSimulationOptions.isValid()) {
mpLibraryTreeItem->mSimulationOptions.setFileNamePrefix(StringHandler::getLastWordAfterDot(mClassName));
}
applySimulationOptions(mpLibraryTreeItem->mSimulationOptions);
/* Fix for ticket:4975
* If SimulationOptions is invalid it means we are going to simulate this class for the first time.
Expand All @@ -705,13 +710,13 @@ void SimulationDialog::initializeFields(bool isReSimulate, SimulationOptions sim
// if the class has experiment annotation then read it.
if (MainWindow::instance()->getOMCProxy()->isExperiment(mClassName)) {
// get the simulation options....
OMCInterface::getSimulationOptions_res simulationOptions = MainWindow::instance()->getOMCProxy()->getSimulationOptions(mClassName);
OMCInterface::getSimulationOptions_res simulationOptions_res = MainWindow::instance()->getOMCProxy()->getSimulationOptions(mClassName);
// since we always get simulationOptions so just get the values from array
mpStartTimeTextBox->setText(QString::number(simulationOptions.startTime));
mpStopTimeTextBox->setText(QString::number(simulationOptions.stopTime));
mpToleranceTextBox->setText(QString::number(simulationOptions.tolerance));
mpNumberofIntervalsSpinBox->setValue(simulationOptions.numberOfIntervals);
mpIntervalTextBox->setText(QString::number(simulationOptions.interval));
mpStartTimeTextBox->setText(QString::number(simulationOptions_res.startTime));
mpStopTimeTextBox->setText(QString::number(simulationOptions_res.stopTime));
mpToleranceTextBox->setText(QString::number(simulationOptions_res.tolerance));
mpNumberofIntervalsSpinBox->setValue(simulationOptions_res.numberOfIntervals);
mpIntervalTextBox->setText(QString::number(simulationOptions_res.interval));
}
// apply the global translation flags
TranslationFlagsWidget *pGlobalTranslationFlagsWidget = OptionsDialog::instance()->getSimulationPage()->getTranslationFlagsWidget();
Expand Down Expand Up @@ -1309,7 +1314,11 @@ SimulationOptions SimulationDialog::createSimulationOptions()
simulationOptions.setOutputFormat(mpOutputFormatComboBox->currentText());
simulationOptions.setSinglePrecision(mpSinglePrecisionCheckBox->isChecked());
if (!mpFileNameTextBox->text().isEmpty()) {
simulationOptions.setFileNamePrefix(mpFileNameTextBox->text());
if (mpFileNameTextBox->text().contains('\'')) {
simulationOptions.setFileNamePrefix("_omcQuot_" + mpFileNameTextBox->text().toUtf8().toHex());
} else {
simulationOptions.setFileNamePrefix(mpFileNameTextBox->text());
}
} else if (mClassName.contains('\'')) {
simulationOptions.setFileNamePrefix("_omcQuot_" + mClassName.toUtf8().toHex());
}
Expand Down Expand Up @@ -1769,7 +1778,11 @@ void SimulationDialog::performSimulation()
}
simulationParameters.append(", outputFormat=").append("\"").append(mpOutputFormatComboBox->currentText()).append("\"");
if (!mpFileNameTextBox->text().isEmpty()) {
simulationParameters.append(", fileNamePrefix=").append("\"").append(mpFileNameTextBox->text()).append("\"");
if (mpFileNameTextBox->text().contains('\'')) {
simulationParameters.append(", fileNamePrefix=").append("\"_omcQuot_").append(mpFileNameTextBox->text().toUtf8().toHex()).append("\"");
} else {
simulationParameters.append(", fileNamePrefix=").append("\"").append(mpFileNameTextBox->text()).append("\"");
}
} else if (mClassName.contains('\'')) {
simulationParameters.append(", fileNamePrefix=").append("\"_omcQuot_").append(mClassName.toUtf8().toHex()).append("\"");
}
Expand Down
4 changes: 3 additions & 1 deletion OMEdit/OMEditLIB/Simulation/SimulationProcessThread.cpp
Expand Up @@ -280,14 +280,16 @@ void SimulationProcessThread::readSimulationStandardError()
*/
void SimulationProcessThread::simulationProcessError(QProcess::ProcessError error)
{
Q_UNUSED(error);
mIsSimulationProcessRunning = false;
/* this signal is raised when we kill the simulation process forcefully. */
if (isSimulationProcessKilled()) {
exit();
return;
}
emit sendSimulationOutput(mpSimulationProcess->errorString(), StringHandler::Error, true);
if (error == QProcess::FailedToStart) {
emit sendSimulationFinished(0, QProcess::NormalExit);
}
exit();
}

Expand Down