@@ -2210,7 +2210,7 @@ void WelcomePageWidget::openLatestNewsItem(QListWidgetItem *pItem)
22102210
22112211ModelWidget::ModelWidget (LibraryTreeItem* pLibraryTreeItem, ModelWidgetContainer *pModelWidgetContainer, QString text)
22122212 : QWidget(pModelWidgetContainer), mpModelWidgetContainer(pModelWidgetContainer), mpLibraryTreeItem(pLibraryTreeItem),
2213- mDiagramViewLoaded(false ), mConnectionsLoaded(false ), mCreateModelWidgetComponents(false )
2213+ mDiagramViewLoaded(false ), mConnectionsLoaded(false ), mCreateModelWidgetComponents(false ), mExtendsModifiersLoaded( false )
22142214{
22152215 mExtendsModifiersMap .clear ();
22162216 // create widgets based on library type
@@ -2267,23 +2267,30 @@ ModelWidget::ModelWidget(LibraryTreeItem* pLibraryTreeItem, ModelWidgetContainer
22672267 */
22682268QMap<QString, QString> ModelWidget::getExtendsModifiersMap (QString extendsClass)
22692269{
2270- QMap<QString, QMap<QString, QString> >::iterator extendsmodifiersIterator;
2271- for (extendsmodifiersIterator = mExtendsModifiersMap .begin (); extendsmodifiersIterator != mExtendsModifiersMap .end (); ++extendsmodifiersIterator) {
2272- if (extendsmodifiersIterator.key ().compare (extendsClass) == 0 ) {
2273- return extendsmodifiersIterator.value ();
2270+ if (!mExtendsModifiersLoaded ) {
2271+ foreach (LibraryTreeItem *pLibraryTreeItem, mInheritedClassesList ) {
2272+ fetchExtendsModifiers (pLibraryTreeItem->getNameStructure ());
22742273 }
2274+ mExtendsModifiersLoaded = true ;
22752275 }
2276- return QMap<QString, QString>( );
2276+ return mExtendsModifiersMap . value (extendsClass );
22772277}
22782278
22792279/* !
2280- * \brief ModelWidget::updateExtendsModifiersMap
2281- * Updates the extends modifier map for extends class .
2280+ * \brief ModelWidget::fetchExtendsModifiers
2281+ * Gets the extends modifiers and their values .
22822282 * \param extendsClass
22832283 */
2284- void ModelWidget::updateExtendsModifiersMap (QString extendsClass)
2284+ void ModelWidget::fetchExtendsModifiers (QString extendsClass)
22852285{
2286- getModelExtendsModifiers (extendsClass);
2286+ OMCProxy *pOMCProxy = mpModelWidgetContainer->getMainWindow ()->getOMCProxy ();
2287+ QStringList extendsModifiersList = pOMCProxy->getExtendsModifierNames (mpLibraryTreeItem->getNameStructure (), extendsClass);
2288+ QMap<QString, QString> extendsModifiersMap;
2289+ foreach (QString extendsModifier, extendsModifiersList) {
2290+ QString extendsModifierValue = pOMCProxy->getExtendsModifierValue (mpLibraryTreeItem->getNameStructure (), extendsClass, extendsModifier);
2291+ extendsModifiersMap.insert (extendsModifier, extendsModifierValue);
2292+ }
2293+ mExtendsModifiersMap .insert (extendsClass, extendsModifiersMap);
22872294}
22882295
22892296void ModelWidget::reDrawModelWidget ()
@@ -2856,7 +2863,6 @@ void ModelWidget::getModelInheritedClasses()
28562863 * Also check for cyclic loops.
28572864 */
28582865 if (!(pMainWindow->getOMCProxy ()->isBuiltinType (inheritedClass) || inheritedClass.compare (mpLibraryTreeItem->getNameStructure ()) == 0 )) {
2859- getModelExtendsModifiers (inheritedClass);
28602866 LibraryTreeItem *pInheritedLibraryTreeItem = pLibraryTreeModel->findLibraryTreeItem (inheritedClass);
28612867 if (!pInheritedLibraryTreeItem) {
28622868 pInheritedLibraryTreeItem = pLibraryTreeModel->createNonExistingLibraryTreeItem (inheritedClass);
@@ -2870,23 +2876,6 @@ void ModelWidget::getModelInheritedClasses()
28702876 }
28712877}
28722878
2873- /* !
2874- * \brief ModelWidget::getModelExtendsModifiers
2875- * Gets the extends modifiers and their values.
2876- * \param extendsClass
2877- */
2878- void ModelWidget::getModelExtendsModifiers (QString extendsClass)
2879- {
2880- OMCProxy *pOMCProxy = mpModelWidgetContainer->getMainWindow ()->getOMCProxy ();
2881- QStringList extendsModifiersList = pOMCProxy->getExtendsModifierNames (mpLibraryTreeItem->getNameStructure (), extendsClass);
2882- QMap<QString, QString> extendsModifiersMap;
2883- foreach (QString extendsModifier, extendsModifiersList) {
2884- QString extendsModifierValue = pOMCProxy->getExtendsModifierValue (mpLibraryTreeItem->getNameStructure (), extendsClass, extendsModifier);
2885- extendsModifiersMap.insert (extendsModifier, extendsModifierValue);
2886- }
2887- mExtendsModifiersMap .insert (extendsClass, extendsModifiersMap);
2888- }
2889-
28902879/* !
28912880 * \brief ModelWidget::parseModelInheritedClass
28922881 * Parses the inherited class shape and draws its items on the appropriate view.
@@ -2911,6 +2900,7 @@ void ModelWidget::drawModelInheritedClassShapes(ModelWidget *pModelWidget, Strin
29112900 pInheritedGraphicsView = pLibraryTreeItem->getModelWidget ()->getIconGraphicsView ();
29122901 pGraphicsView = mpIconGraphicsView;
29132902 } else {
2903+ pLibraryTreeItem->getModelWidget ()->loadDiagramView ();
29142904 pInheritedGraphicsView = pLibraryTreeItem->getModelWidget ()->getDiagramGraphicsView ();
29152905 pGraphicsView = mpDiagramGraphicsView;
29162906 }
@@ -3068,6 +3058,7 @@ void ModelWidget::drawModelInheritedClassComponents(ModelWidget *pModelWidget, S
30683058 if (viewType == StringHandler::Icon) {
30693059 pGraphicsView = mpIconGraphicsView;
30703060 } else {
3061+ pLibraryTreeItem->getModelWidget ()->loadDiagramView ();
30713062 pGraphicsView = mpDiagramGraphicsView;
30723063 }
30733064 foreach (Component *pInheritedComponent, pLibraryTreeItem->getModelWidget ()->getDiagramGraphicsView ()->getComponentsList ()) {
@@ -3211,6 +3202,7 @@ void ModelWidget::drawModelInheritedClassConnections(ModelWidget *pModelWidget)
32113202 foreach (LibraryTreeItem *pLibraryTreeItem, pModelWidget->getInheritedClassesList ()) {
32123203 if (!pLibraryTreeItem->isNonExisting ()) {
32133204 drawModelInheritedClassConnections (pLibraryTreeItem->getModelWidget ());
3205+ pLibraryTreeItem->getModelWidget ()->loadConnections ();
32143206 foreach (LineAnnotation *pConnectionLineAnnotation, pLibraryTreeItem->getModelWidget ()->getDiagramGraphicsView ()->getConnectionsList ()) {
32153207 mpDiagramGraphicsView->addInheritedConnectionToList (createInheritedConnection (pConnectionLineAnnotation));
32163208 }
0 commit comments