Skip to content

Commit a8fad2e

Browse files
committed
Cancel the composite model simulation properly
Set the default result file buffer to 100
1 parent 6abfbe4 commit a8fad2e

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

OMEdit/OMEditGUI/OMS/OMSSimulationOptions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class OMSSimulationOptions
4747
setStopTime(1);
4848
setWorkingDirectory("");
4949
setResultFileName("");
50-
setResultFileBufferSize(1);
50+
setResultFileBufferSize(100);
5151
}
5252

5353
void setIsValid(bool isValid) {mValid = isValid;}

OMEdit/OMEditGUI/OMS/OMSSimulationOutputWidget.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,16 @@ OMSSimulationOutputWidget::OMSSimulationOutputWidget(OMSSimulationOptions omsSim
8484
} else {
8585
mResultFileLastModifiedDateTime = QDateTime::currentDateTime();
8686
}
87-
mIsSimulationRunning = 0;
87+
mIsSimulationRunning = false;
8888
// initialize the model
8989
if (OMSProxy::instance()->initialize(mOMSSimulationOptions.getModelName())) {
9090
// start the asynchronous simulation
9191
qRegisterMetaType<oms_status_enu_t>("oms_status_enu_t");
9292
connect(this, SIGNAL(sendSimulationProgress(QString,double,oms_status_enu_t)), SLOT(simulationProgress(QString,double,oms_status_enu_t)));
93-
mIsSimulationRunning = 1;
9493
if (OMSProxy::instance()->simulate_asynchronous(mOMSSimulationOptions.getModelName())) {
94+
mIsSimulationRunning = true;
9595
mpCancelSimulationButton->setEnabled(true);
9696
} else {
97-
mIsSimulationRunning = 0;
9897
mpProgressLabel->setText(tr("Simulation using the <b>%1</b> model is failed. %2")
9998
.arg(mOMSSimulationOptions.getModelName())
10099
.arg(GUIMessages::getMessage(GUIMessages::CHECK_MESSAGES_BROWSER)));
@@ -144,6 +143,7 @@ void OMSSimulationOutputWidget::cancelSimulation()
144143
}
145144
mpProgressLabel->setText(tr("Simulation using the <b>%1</b> model is cancelled.").arg(mOMSSimulationOptions.getModelName()));
146145
mpProgressBar->setValue(mpProgressBar->maximum());
146+
mIsSimulationRunning = false;
147147
mpCancelSimulationButton->setEnabled(false);
148148
}
149149
}
@@ -164,9 +164,9 @@ void OMSSimulationOutputWidget::simulationProgress(QString ident, double time, o
164164
if (qFloor(time) >= mOMSSimulationOptions.getStopTime()) {
165165
mpProgressLabel->setText(tr("Simulation using the <b>%1</b> model is finished.").arg(mOMSSimulationOptions.getModelName()));
166166
mpProgressBar->setValue(mpProgressBar->maximum());
167+
mIsSimulationRunning = false;
167168
mpCancelSimulationButton->setEnabled(false);
168169
mpArchivedOMSSimulationItem->setStatus(Helper::finished);
169-
mIsSimulationRunning = 0;
170170
// terminate the model after the simulation is finished successfully.
171171
LibraryTreeItem *pLibraryTreeItem;
172172
pLibraryTreeItem = MainWindow::instance()->getLibraryWidget()->getLibraryTreeModel()->findLibraryTreeItem(ident);

OMEdit/OMEditGUI/OMS/OMSSimulationOutputWidget.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class OMSSimulationOutputWidget : public QWidget
6161
QPushButton *mpCancelSimulationButton;
6262
ArchivedOMSSimulationItem *mpArchivedOMSSimulationItem;
6363
QDateTime mResultFileLastModifiedDateTime;
64-
int mIsSimulationRunning;
64+
bool mIsSimulationRunning;
6565
signals:
6666
void sendSimulationProgress(QString ident, double time, oms_status_enu_t status);
6767
public slots:

0 commit comments

Comments
 (0)