Skip to content

Commit

Permalink
- Option to enable/disable save class feature before simulation.
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@18961 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adeas31 committed Feb 3, 2014
1 parent ffd45e7 commit 38ea0ed
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 3 deletions.
8 changes: 8 additions & 0 deletions OMEdit/OMEditGUI/GUI/Dialogs/OptionsDialog.cpp
Expand Up @@ -261,6 +261,8 @@ void OptionsDialog::readSimulationSettings()
}
if (mSettings.contains("simulation/OMCFlags"))
mpSimulationPage->getOMCFlagsTextBox()->setText(mSettings.value("simulation/OMCFlags").toString());
if (mSettings.contains("simulation/saveClassBeforeSimulation"))
mpSimulationPage->getSaveClassBeforeSimulationCheckBox()->setChecked(mSettings.value("simulation/saveClassBeforeSimulation").toBool());
if (mSettings.contains("transformationalDebugger/alwaysShowTransformationalDebugger"))
mpSimulationPage->getAlwaysShowTransformationsCheckBox()->setChecked(mSettings.value("transformationalDebugger/alwaysShowTransformationalDebugger").toBool());
if (mSettings.contains("transformationalDebugger/generateOperations"))
Expand Down Expand Up @@ -497,6 +499,7 @@ void OptionsDialog::saveSimulationSettings()
mpMainWindow->getOMCProxy()->clearCommandLineOptions();
if (mpMainWindow->getOMCProxy()->setCommandLineOptions(mpSimulationPage->getOMCFlagsTextBox()->text()))
mSettings.setValue("simulation/OMCFlags", mpSimulationPage->getOMCFlagsTextBox()->text());
mSettings.setValue("simulation/saveClassBeforeSimulation", mpSimulationPage->getSaveClassBeforeSimulationCheckBox()->isChecked());
mSettings.setValue("transformationalDebugger/alwaysShowTransformationalDebugger", mpSimulationPage->getAlwaysShowTransformationsCheckBox()->isChecked());
mSettings.setValue("transformationalDebugger/generateOperations", mpSimulationPage->getGenerateOperationsCheckBox()->isChecked());
mpMainWindow->getOMCProxy()->setCommandLineOptions("+d=infoXmlOperations");
Expand Down Expand Up @@ -2257,6 +2260,10 @@ SimulationPage::SimulationPage(OptionsDialog *pParent)
mpOMCFlagsLabel = new Label(tr("OMC Flags"));
mpOMCFlagsLabel->setToolTip(tr("Space separated list of flags e.g. +d=initialization +cheapmatchingAlgorithm=3"));
mpOMCFlagsTextBox = new QLineEdit;
/* save class before simulation checkbox */
mpSaveClassBeforeSimulationCheckBox = new QCheckBox(tr("Save class before simulation"));
mpSaveClassBeforeSimulationCheckBox->setToolTip(tr("Disabling this will effect the debugger functionality."));
mpSaveClassBeforeSimulationCheckBox->setChecked(true);
// set the layout of simulation group
QGridLayout *pSimulationLayout = new QGridLayout;
pSimulationLayout->setAlignment(Qt::AlignTop);
Expand All @@ -2266,6 +2273,7 @@ SimulationPage::SimulationPage(OptionsDialog *pParent)
pSimulationLayout->addWidget(mpIndexReductionMethodComboBox, 1, 1);
pSimulationLayout->addWidget(mpOMCFlagsLabel, 2, 0);
pSimulationLayout->addWidget(mpOMCFlagsTextBox, 2, 1);
pSimulationLayout->addWidget(mpSaveClassBeforeSimulationCheckBox, 3, 0, 1, 2);
mpSimulationGroupBox->setLayout(pSimulationLayout);
/* Transformational Debugger */
mpTransformationalDebuggerGroupBox = new QGroupBox(Helper::transformationalDebugger);
Expand Down
2 changes: 2 additions & 0 deletions OMEdit/OMEditGUI/GUI/Dialogs/OptionsDialog.h
Expand Up @@ -417,6 +417,7 @@ class SimulationPage : public QWidget
QComboBox* getMatchingAlgorithmComboBox();
QComboBox* getIndexReductionMethodComboBox();
QLineEdit* getOMCFlagsTextBox();
QCheckBox *getSaveClassBeforeSimulationCheckBox() {return mpSaveClassBeforeSimulationCheckBox;}
QCheckBox* getAlwaysShowTransformationsCheckBox() {return mpAlwaysShowTransformationsCheckBox;}
QCheckBox* getGenerateOperationsCheckBox() {return mpGenerateOperationsCheckBox;}
private:
Expand All @@ -428,6 +429,7 @@ class SimulationPage : public QWidget
QComboBox *mpIndexReductionMethodComboBox;
Label *mpOMCFlagsLabel;
QLineEdit *mpOMCFlagsTextBox;
QCheckBox *mpSaveClassBeforeSimulationCheckBox;
QGroupBox *mpTransformationalDebuggerGroupBox;
QCheckBox *mpAlwaysShowTransformationsCheckBox;
QCheckBox *mpGenerateOperationsCheckBox;
Expand Down
8 changes: 6 additions & 2 deletions OMEdit/OMEditGUI/GUI/Dialogs/SimulationDialog.cpp
Expand Up @@ -445,9 +445,13 @@ void SimulationDialog::initializeFields()
void SimulationDialog::translateModel()
{
/* save the model before translating */
if (!mpLibraryTreeNode->isSaved())
if (mpMainWindow->getOptionsDialog()->getSimulationPage()->getSaveClassBeforeSimulationCheckBox()->isChecked())
{
mpMainWindow->getLibraryTreeWidget()->saveLibraryTreeNode(mpLibraryTreeNode);
if (!mpLibraryTreeNode->isSaved())
{
if (!mpMainWindow->getLibraryTreeWidget()->saveLibraryTreeNode(mpLibraryTreeNode))
return;
}
}
/* translate the model */
if (mpMainWindow->getOMCProxy()->translateModel(mpLibraryTreeNode->getNameStructure(), mSimulationParameters))
Expand Down
1 change: 0 additions & 1 deletion OMEdit/OMEditGUI/OMC/OMCProxy.cpp
Expand Up @@ -337,7 +337,6 @@ bool OMCProxy::startServer()
<< QString("+d=interactiveCorba")
<< QString("+corbaObjectReferenceFilePath=").append(corbaObjectReferenceFilePath.canonicalPath())
<< QString("+locale=").append(settingsLocale.name());
qDebug() << parameters;
QProcess *omcProcess = new QProcess;
connect(omcProcess, SIGNAL(finished(int)), omcProcess, SLOT(deleteLater()));
QFile omcOutputFile;
Expand Down

0 comments on commit 38ea0ed

Please sign in to comment.