@@ -412,6 +412,28 @@ void VariablePage::fetchVariableData(QTreeWidgetItem *pVariableTreeItem, int col
412412 fetchDefinedInEquations (variable);
413413 /* fetch used in equations */
414414 fetchUsedInEquations (variable);
415+ /* open the model with and go to the variable line */
416+ MainWindow *pMainWindow = mpTransformationsWidget->getMainWindow ();
417+ QFileInfo fileInfo (variable.info .file );
418+ foreach (LibraryTreeNode* pLibraryTreeNode, pMainWindow->getLibraryTreeWidget ()->getLibraryTreeNodesList ())
419+ {
420+ QFileInfo libraryTreeNodeFileInfo (pLibraryTreeNode->getFileName ());
421+ if (fileInfo.absoluteFilePath ().compare (libraryTreeNodeFileInfo.absoluteFilePath ()) == 0 )
422+ {
423+ /* find the root library tree node. */
424+ LibraryTreeNode *pParentLibraryTreeNode;
425+ pParentLibraryTreeNode = pMainWindow->getLibraryTreeWidget ()->findParentLibraryTreeNodeSavedInSameFile (pLibraryTreeNode, fileInfo);
426+ if (pParentLibraryTreeNode)
427+ {
428+ pMainWindow->getLibraryTreeWidget ()->showModelWidget (pParentLibraryTreeNode);
429+ if (pParentLibraryTreeNode->getModelWidget ())
430+ {
431+ pParentLibraryTreeNode->getModelWidget ()->showModelicaTextView (true );
432+ pParentLibraryTreeNode->getModelWidget ()->getModelicaTextWidget ()->getModelicaTextEdit ()->goToLineNumber (variable.info .lineStart );
433+ }
434+ }
435+ }
436+ }
415437}
416438
417439void VariablePage::variablesItemChanged (QTreeWidgetItem *current)
@@ -564,7 +586,7 @@ void EquationPage::fetchEquationData(int equationIndex)
564586 fetchDepends (equation);
565587 /* fetch operations */
566588 fetchOperations (equation);
567- /* open the model with and go to the line */
589+ /* open the model with and go to the equation line */
568590 MainWindow *pMainWindow = mpTransformationsWidget->getMainWindow ();
569591 QFileInfo fileInfo (equation.info .file );
570592 foreach (LibraryTreeNode* pLibraryTreeNode, pMainWindow->getLibraryTreeWidget ()->getLibraryTreeNodesList ())
@@ -573,7 +595,8 @@ void EquationPage::fetchEquationData(int equationIndex)
573595 if (fileInfo.absoluteFilePath ().compare (libraryTreeNodeFileInfo.absoluteFilePath ()) == 0 )
574596 {
575597 /* find the root library tree node. */
576- LibraryTreeNode *pParentLibraryTreeNode = pMainWindow->getLibraryTreeWidget ()->getLibraryTreeNode (StringHandler::getFirstWordBeforeDot (pLibraryTreeNode->getNameStructure ()));
598+ LibraryTreeNode *pParentLibraryTreeNode;
599+ pParentLibraryTreeNode = pMainWindow->getLibraryTreeWidget ()->findParentLibraryTreeNodeSavedInSameFile (pLibraryTreeNode, fileInfo);
577600 if (pParentLibraryTreeNode)
578601 {
579602 pMainWindow->getLibraryTreeWidget ()->showModelWidget (pParentLibraryTreeNode);
0 commit comments