Skip to content

Commit

Permalink
- loadModel(Complex) in OMEdit
Browse files Browse the repository at this point in the history
- Fix unparsing of operator XXX in OMC


git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@8702 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
sjoelund committed Apr 19, 2011
1 parent d02ac0d commit d530da3
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 20 deletions.
14 changes: 5 additions & 9 deletions OMEdit/OMEditGUI/LibraryWidget.cpp
Expand Up @@ -497,22 +497,18 @@ void LibraryTree::createActions()
void LibraryTree::addModelicaStandardLibrary()
{
// load Modelica Standard Library.
mpParentLibraryWidget->mpParentMainWindow->mpOMCProxy->loadStandardLibrary();
QStringList libs = mpParentLibraryWidget->mpParentMainWindow->mpOMCProxy->loadStandardLibrary();
if (mpParentLibraryWidget->mpParentMainWindow->mpOMCProxy->isStandardLibraryLoaded())
{
// It should be possible to load multiple libraries in OMEdit...
const int numLib=2;
const char *libs[numLib] = {"Modelica", "ModelicaServices"};
for (int i=0; i<numLib; i++) {
LibraryTreeNode *newTreePost = new LibraryTreeNode(QString(libs[i]), QString(""), QString(libs[i]),
this);
int classType = mpParentLibraryWidget->mpParentMainWindow->mpOMCProxy->getClassRestriction(QString(libs[i]));
foreach (QString lib, libs) {
LibraryTreeNode *newTreePost = new LibraryTreeNode(lib, QString(""), lib, this);
int classType = mpParentLibraryWidget->mpParentMainWindow->mpOMCProxy->getClassRestriction(lib);
newTreePost->mType = classType;
newTreePost->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
insertTopLevelItem(0, newTreePost);

// get the Icon for Modelica tree node
LibraryLoader *libraryLoader = new LibraryLoader(newTreePost, tr(libs[i]), this);
LibraryLoader *libraryLoader = new LibraryLoader(newTreePost, lib, this);
libraryLoader->start(QThread::HighestPriority);
while (libraryLoader->isRunning())
qApp->processEvents();
Expand Down
25 changes: 15 additions & 10 deletions OMEdit/OMEditGUI/OMCProxy.cpp
Expand Up @@ -475,20 +475,25 @@ QString OMCProxy::getEnvironmentVar(QString name)
}

//! Loads the OpenModelica Standard Library.
void OMCProxy::loadStandardLibrary()
QStringList OMCProxy::loadStandardLibrary()
{
QStringList res;
sendCommand("loadModel(Modelica)");
sendCommand("loadModel(ModelicaServices)");

//! @todo Remove it once we have support for Media and Fluid.
// just added to remove Fluid and Media Library...
deleteClass("Modelica.Media");
deleteClass("Modelica.Fluid");

if (getResult().contains("true"))
{
if (StringHandler::unparseBool(getResult())) {
res.append("Modelica");
mIsStandardLibraryLoaded = true;
//! @todo Remove it once we have support for Media and Fluid.
// just added to remove Fluid and Media Library...
deleteClass("Modelica.Media");
deleteClass("Modelica.Fluid");
sendCommand("loadModel(ModelicaServices) /* Required for MultiBody */");
if (StringHandler::unparseBool(getResult())) {
res.append("ModelicaServices");
sendCommand("loadModel(Complex) /* Used in MSL 3.2; ignore the false return-value if you use MSL 3.1 */");
if (StringHandler::unparseBool(getResult())) res.append("Complex");
}
}
return res;
}

//! Checks whether the OpenModelica Standard Library is loaded or not.
Expand Down
2 changes: 1 addition & 1 deletion OMEdit/OMEditGUI/OMCProxy.h
Expand Up @@ -93,7 +93,7 @@ class OMCProxy : public QObject
QString getAnnotationVersion();
bool setEnvironmentVar(QString name, QString value);
QString getEnvironmentVar(QString name);
void loadStandardLibrary();
QStringList loadStandardLibrary();
bool isStandardLibraryLoaded();
QStringList getClassNames(QString className = QString());
QStringList getClassNamesRecursive(QString className);
Expand Down
7 changes: 7 additions & 0 deletions OMEdit/OMEditGUI/StringHandler.cpp
Expand Up @@ -409,3 +409,10 @@ QStringList StringHandler::unparseStrings(QString value)
}
return lst; // ERROR?
}


bool StringHandler::unparseBool(QString value)
{
value = value.trimmed();
return value == "true";
}
2 changes: 2 additions & 0 deletions OMEdit/OMEditGUI/StringHandler.h
Expand Up @@ -65,6 +65,8 @@ class StringHandler
static QString unparse(QString value);
// Returns empty list if the string is not a standard Modelica string-array. Else it unparses it into normal form.
static QStringList unparseStrings(QString value);
// Returns false on failure
static bool unparseBool(QString value);
};

#endif // STRINGHANDLER_H

0 comments on commit d530da3

Please sign in to comment.