override fun actionPerformed()

in intellij/src/main/kotlin/motif/intellij/actions/MotifAncestorGraphAction.kt [45:64]


  override fun actionPerformed(event: AnActionEvent) {
    val project = event.project ?: return
    val element = event.getPsiElement() ?: return
    val graph = graph ?: return

    if (!isInitializedGraph(graph)) {
      project.getService(MotifService::class.java).refreshGraph { actionPerformed(event) }
      return
    }

    val toolWindow: ToolWindow =
        ToolWindowManager.getInstance(project).getToolWindow(TOOL_WINDOW_ID) ?: return
    toolWindow.activate {
      project.getService(MotifService::class.java).onSelectedAncestorScope(element)
    }

    project
        .getService(AnalyticsService::class.java)
        .logEvent(MotifAnalyticsActions.ANCESTOR_MENU_CLICK)
  }