Skip to content

Commit 18b2b15

Browse files
committed
- Adapt to new exportToFigaro API structure.
- Updated exportToFigaro to use scripting API. git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@24776 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent 511d028 commit 18b2b15

File tree

4 files changed

+24
-7
lines changed

4 files changed

+24
-7
lines changed

OMEdit/OMEditGUI/Modeling/ModelicaClassDialog.cpp

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,11 @@ ExportFigaroDialog::ExportFigaroDialog(MainWindow *pMainWindow, LibraryTreeNode
12891289
mpFigaroModeComboBox = new QComboBox;
12901290
mpFigaroModeComboBox->addItem("figaro0", "figaro0");
12911291
mpFigaroModeComboBox->addItem("fault-tree", "fault-tree");
1292+
// working directory
1293+
mpWorkingDirectoryLabel = new Label(Helper::workingDirectory);
1294+
mpWorkingDirectoryTextBox = new QLineEdit(OpenModelica::tempDirectory());
1295+
mpWorkingDirectoryBrowseButton = new QPushButton(Helper::browse);
1296+
connect(mpWorkingDirectoryBrowseButton, SIGNAL(clicked()), SLOT(browseWorkingDirectory()));
12921297
// create the export button
12931298
mpExportFigaroButton = new QPushButton(Helper::exportFigaro);
12941299
mpExportFigaroButton->setAutoDefault(true);
@@ -1305,11 +1310,19 @@ ExportFigaroDialog::ExportFigaroDialog(MainWindow *pMainWindow, LibraryTreeNode
13051310
QGridLayout *pMainGridLayout = new QGridLayout;
13061311
pMainGridLayout->setAlignment(Qt::AlignTop);
13071312
pMainGridLayout->addWidget(mpFigaroModeLabel, 0, 0);
1308-
pMainGridLayout->addWidget(mpFigaroModeComboBox, 0, 1);
1309-
pMainGridLayout->addWidget(mpButtonBox, 1, 0, 2, Qt::AlignRight);
1313+
pMainGridLayout->addWidget(mpFigaroModeComboBox, 0, 1, 1, 2);
1314+
pMainGridLayout->addWidget(mpWorkingDirectoryLabel, 1, 0);
1315+
pMainGridLayout->addWidget(mpWorkingDirectoryTextBox, 1, 1);
1316+
pMainGridLayout->addWidget(mpWorkingDirectoryBrowseButton, 1, 2);
1317+
pMainGridLayout->addWidget(mpButtonBox, 2, 0, 1, 3, Qt::AlignRight);
13101318
setLayout(pMainGridLayout);
13111319
}
13121320

1321+
void ExportFigaroDialog::browseWorkingDirectory()
1322+
{
1323+
mpWorkingDirectoryTextBox->setText(StringHandler::getExistingDirectory(this, QString(Helper::applicationName).append(" - ").append(Helper::chooseDirectory), NULL));
1324+
}
1325+
13131326
void ExportFigaroDialog::exportModelFigaro()
13141327
{
13151328
// set the status message.
@@ -1318,11 +1331,12 @@ void ExportFigaroDialog::exportModelFigaro()
13181331
mpMainWindow->getProgressBar()->setRange(0, 0);
13191332
mpMainWindow->showProgressBar();
13201333
FigaroPage *pFigaroPage = mpMainWindow->getOptionsDialog()->getFigaroPage();
1334+
QString directory = mpWorkingDirectoryTextBox->text();
13211335
QString library = pFigaroPage->getFigaroDatabaseFileTextBox()->text();
13221336
QString mode = mpFigaroModeComboBox->currentText();
13231337
QString options = pFigaroPage->getFigaroOptionsTextBox()->text();
13241338
QString processor = pFigaroPage->getFigaroProcessTextBox()->text();
1325-
if (mpMainWindow->getOMCProxy()->exportToFigaro(mpLibraryTreeNode->getNameStructure(), library, mode, options, processor)) {
1339+
if (mpMainWindow->getOMCProxy()->exportToFigaro(mpLibraryTreeNode->getNameStructure(), directory, library, mode, options, processor)) {
13261340
mpMainWindow->getMessagesWidget()->addGUIMessage(new MessageItem("", false, 0, 0, 0, 0,
13271341
GUIMessages::getMessage(GUIMessages::FIGARO_GENERATED),
13281342
Helper::scriptingKind, Helper::notificationLevel, 0));

OMEdit/OMEditGUI/Modeling/ModelicaClassDialog.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,14 @@ class ExportFigaroDialog : public QDialog
260260
LibraryTreeNode *mpLibraryTreeNode;
261261
Label *mpFigaroModeLabel;
262262
QComboBox *mpFigaroModeComboBox;
263+
Label *mpWorkingDirectoryLabel;
264+
QLineEdit *mpWorkingDirectoryTextBox;
265+
QPushButton *mpWorkingDirectoryBrowseButton;
263266
QPushButton *mpExportFigaroButton;
264267
QPushButton *mpCancelButton;
265268
QDialogButtonBox *mpButtonBox;
266269
public slots:
270+
void browseWorkingDirectory();
267271
void exportModelFigaro();
268272
};
269273

OMEdit/OMEditGUI/OMC/OMCProxy.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2242,10 +2242,9 @@ bool OMCProxy::setDebugFlags(QString debugFlags)
22422242
return StringHandler::unparseBool(getResult());
22432243
}
22442244

2245-
bool OMCProxy::exportToFigaro(QString className, QString database, QString mode, QString options, QString processor)
2245+
bool OMCProxy::exportToFigaro(QString className, QString directory, QString database, QString mode, QString options, QString processor)
22462246
{
2247-
sendCommand("exportToFigaro(" + className + ",\"" + database + "\",\"" + mode + "\",\"" + options + "\",\"" + processor + "\")");
2248-
bool result = StringHandler::unparseBool(getResult());
2247+
bool result = mpOMCInterface->exportToFigaro(className, directory, database, mode, options, processor);
22492248
if (!result) printMessagesStringInternal();
22502249
return result;
22512250
}

OMEdit/OMEditGUI/OMC/OMCProxy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ class OMCProxy : public QObject
205205
QString help(QString topic);
206206
QStringList getConfigFlagValidOptions(QString topic, QString *mainDescription = 0, QStringList *descriptions = 0);
207207
bool setDebugFlags(QString flags);
208-
bool exportToFigaro(QString className, QString database, QString mode, QString options, QString processor);
208+
bool exportToFigaro(QString className, QString directory, QString database, QString mode, QString options, QString processor);
209209
bool copyClass(QString className, QString newClassName, QString withIn);
210210
QStringList getEnumerationLiterals(QString className);
211211
signals:

0 commit comments

Comments
 (0)