diff --git a/OMEdit/OMEditGUI/Component/Component.cpp b/OMEdit/OMEditGUI/Component/Component.cpp index c7f8274f0b2..e02e9052ad8 100644 --- a/OMEdit/OMEditGUI/Component/Component.cpp +++ b/OMEdit/OMEditGUI/Component/Component.cpp @@ -248,6 +248,33 @@ void ComponentInfo::fetchParameterValue(OMCProxy *pOMCProxy, QString className) mParameterValue = pOMCProxy->getParameterValue(className, mName); } +/*! + * \brief ComponentInfo::applyDefaultPrefixes + * Applies the default prefixes. + * \param defaultPrefixes + */ +void ComponentInfo::applyDefaultPrefixes(QString defaultPrefixes) +{ + if (defaultPrefixes.contains("inner")) { + mIsInner = true; + } + if (defaultPrefixes.contains("outer")) { + mIsOuter = true; + } + if (defaultPrefixes.contains("replaceable")) { + mIsReplaceable = true; + } + if (defaultPrefixes.contains("constant")) { + mVariability = "constant"; + } + if (defaultPrefixes.contains("parameter")) { + mVariability = "parameter"; + } + if (defaultPrefixes.contains("discrete")) { + mVariability = "discrete"; + } +} + /*! * \brief ComponentInfo::setArrayIndex * Sets the array index diff --git a/OMEdit/OMEditGUI/Component/Component.h b/OMEdit/OMEditGUI/Component/Component.h index 6e2017e1e4e..360dc798254 100644 --- a/OMEdit/OMEditGUI/Component/Component.h +++ b/OMEdit/OMEditGUI/Component/Component.h @@ -70,6 +70,7 @@ class ComponentInfo : public QObject void parseComponentInfoString(QString value); void fetchModifiers(OMCProxy *pOMCProxy, QString className); void fetchParameterValue(OMCProxy *pOMCProxy, QString className); + void applyDefaultPrefixes(QString defaultPrefixes); void setClassName(QString className) {mClassName = className;} QString getClassName() const {return mClassName;} void setName(QString name) {mName = name;} diff --git a/OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp b/OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp index acefcec8058..fe4d1446bc3 100644 --- a/OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp +++ b/OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp @@ -308,12 +308,14 @@ bool GraphicsView::addComponent(QString className, QPointF position) } } } + ComponentInfo *pComponentInfo = new ComponentInfo; + pComponentInfo->applyDefaultPrefixes(defaultPrefix); // if dropping an item on the diagram layer if (mViewType == StringHandler::Diagram) { // if item is a class, model, block, connector or record. then we can drop it to the graphicsview if ((type == StringHandler::Class) || (type == StringHandler::Model) || (type == StringHandler::Block) || (type == StringHandler::ExpandableConnector) || (type == StringHandler::Connector) || (type == StringHandler::Record)) { - addComponentToView(name, pLibraryTreeItem, "", position, dialogAnnotation, new ComponentInfo()); + addComponentToView(name, pLibraryTreeItem, "", position, dialogAnnotation, pComponentInfo); return true; } else { QMessageBox::information(pMainWindow, QString(Helper::applicationName).append(" - ").append(Helper::information), @@ -324,7 +326,7 @@ bool GraphicsView::addComponent(QString className, QPointF position) } else if (mViewType == StringHandler::Icon) { // if dropping an item on the icon layer // if item is a connector. then we can drop it to the graphicsview if (type == StringHandler::Connector || type == StringHandler::ExpandableConnector) { - addComponentToView(name, pLibraryTreeItem, "", position, dialogAnnotation, new ComponentInfo()); + addComponentToView(name, pLibraryTreeItem, "", position, dialogAnnotation, pComponentInfo); return true; } else { QMessageBox::information(pMainWindow, QString(Helper::applicationName).append(" - ").append(Helper::information),