Skip to content

Commit

Permalink
ticket:5456 Set simCodeTarget and target flags before compilation
Browse files Browse the repository at this point in the history
Belonging to [master]:
  - #166
  • Loading branch information
adeas31 authored and OpenModelica-Hudson committed May 7, 2019
1 parent b1e80b4 commit 6c4f794
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 7 deletions.
25 changes: 18 additions & 7 deletions OMEdit/OMEdit/OMEditGUI/Options/OptionsDialog.cpp
Expand Up @@ -1197,6 +1197,24 @@ void OptionsDialog::saveSimulationSettings()
} else {
mpSimulationPage->getTranslationFlagsWidget()->getAdditionalTranslationFlagsTextBox()->setText(mpSettings->value("simulation/OMCFlags").toString());
}
// save global simulation settings.
saveGlobalSimulationSettings();
// save class before simulation.
mpSettings->setValue("simulation/saveClassBeforeSimulation", mpSimulationPage->getSaveClassBeforeSimulationCheckBox()->isChecked());
mpSettings->setValue("simulation/switchToPlottingPerspectiveAfterSimulation", mpSimulationPage->getSwitchToPlottingPerspectiveCheckBox()->isChecked());
mpSettings->setValue("simulation/closeSimulationOutputWidgetsBeforeSimulation", mpSimulationPage->getCloseSimulationOutputWidgetsBeforeSimulationCheckBox()->isChecked());
mpSettings->setValue("simulation/deleteIntermediateCompilationFiles", mpSimulationPage->getDeleteIntermediateCompilationFilesCheckBox()->isChecked());
mpSettings->setValue("simulation/deleteEntireSimulationDirectory", mpSimulationPage->getDeleteEntireSimulationDirectoryCheckBox()->isChecked());
mpSettings->setValue("simulation/outputMode", mpSimulationPage->getOutputMode());
}

/*!
* \brief OptionsDialog::saveGlobalSimulationSettings
* This function is just added so that SimulationDialog can set the global
* simulatin settings in the SimulationDialog::translateModel()
*/
void OptionsDialog::saveGlobalSimulationSettings()
{
// save target language
mpSettings->setValue("simulation/targetLanguage", mpSimulationPage->getTargetLanguageComboBox()->currentText());
MainWindow::instance()->getOMCProxy()->setCommandLineOptions(QString("--simCodeTarget=%1").arg(mpSimulationPage->getTargetLanguageComboBox()->currentText()));
Expand Down Expand Up @@ -1232,13 +1250,6 @@ void OptionsDialog::saveSimulationSettings()
} else {
MainWindow::instance()->getOMCProxy()->setCommandLineOptions("+ignoreSimulationFlagsAnnotation=false");
}
// save class before simulation.
mpSettings->setValue("simulation/saveClassBeforeSimulation", mpSimulationPage->getSaveClassBeforeSimulationCheckBox()->isChecked());
mpSettings->setValue("simulation/switchToPlottingPerspectiveAfterSimulation", mpSimulationPage->getSwitchToPlottingPerspectiveCheckBox()->isChecked());
mpSettings->setValue("simulation/closeSimulationOutputWidgetsBeforeSimulation", mpSimulationPage->getCloseSimulationOutputWidgetsBeforeSimulationCheckBox()->isChecked());
mpSettings->setValue("simulation/deleteIntermediateCompilationFiles", mpSimulationPage->getDeleteIntermediateCompilationFilesCheckBox()->isChecked());
mpSettings->setValue("simulation/deleteEntireSimulationDirectory", mpSimulationPage->getDeleteEntireSimulationDirectoryCheckBox()->isChecked());
mpSettings->setValue("simulation/outputMode", mpSimulationPage->getOutputMode());
}

//! Saves the Messages section settings to omedit.ini
Expand Down
1 change: 1 addition & 0 deletions OMEdit/OMEdit/OMEditGUI/Options/OptionsDialog.h
Expand Up @@ -123,6 +123,7 @@ class OptionsDialog : public QDialog
void saveTraceabilitySettings();
void saveGraphicalViewsSettings();
void saveSimulationSettings();
void saveGlobalSimulationSettings();
void saveMessagesSettings();
void saveNotificationsSettings();
void saveLineStyleSettings();
Expand Down
5 changes: 5 additions & 0 deletions OMEdit/OMEdit/OMEditGUI/Simulation/SimulationDialog.cpp
Expand Up @@ -1068,7 +1068,12 @@ bool SimulationDialog::translateModel(QString simulationParameters)
{
// clear flags before setting the new ones
MainWindow::instance()->getOMCProxy()->clearCommandLineOptions();
/* ticket:5456 We don't call OptionsDialog::instance()->saveSimulationSettings() here
* instead we call local TranslationFlagsWidget::applyFlags() and OptionsDialog::instance()->saveGlobalSimulationSettings()
* so that we apply the local translation flags and global simulation settings as well.
*/
mpTranslationFlagsWidget->applyFlags();
OptionsDialog::instance()->saveGlobalSimulationSettings();
// set profiling
MainWindow::instance()->getOMCProxy()->setCommandLineOptions("+profiling=" + mpProfilingComboBox->currentText());
// set the infoXMLOperations flag
Expand Down

0 comments on commit 6c4f794

Please sign in to comment.