override fun navigate()

in intellij/src/main/kotlin/motif/intellij/provider/ScopeHierarchyLineMarkerProvider.kt [82:101]


    override fun navigate(event: MouseEvent?, element: PsiElement?) {
      val toolWindow: ToolWindow =
          ToolWindowManager.getInstance(project).getToolWindow(TOOL_WINDOW_ID) ?: return
      if (element is PsiClass) {
        toolWindow.activate {
          project.getService(MotifService::class.java).onSelectedAncestorScope(element)
        }
      } else if (element is PsiMethod) {
        if (element.returnType is PsiClassReferenceType) {
          val returnElementClass: PsiClass =
              (element.returnType as PsiClassReferenceType).resolve() ?: return
          toolWindow.activate {
            project.getService(MotifService::class.java).onSelectedAncestorScope(returnElementClass)
          }
        }
      }
      project
          .getService(AnalyticsService::class.java)
          .logEvent(MotifAnalyticsActions.ANCESTOR_GUTTER_CLICK)
    }