package org.plantuml.idea.toolwindow;
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileEditor.FileEditorManagerListener;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import org.plantuml.idea.toolwindow.listener.PlantUmlRenderingFileEditorManagerListener;
import org.plantuml.idea.toolwindow.listener.PlantUmlToolWindowOpener;
public class PlantUmlProjectComponent implements ProjectComponent {
private static final Logger logger = Logger.getInstance(PlantUmlProjectComponent.class);
private static final PlantUmlToolWindowOpener OPENER = new PlantUmlToolWindowOpener();
private static final FileEditorManagerListener RENDERER = new PlantUmlRenderingFileEditorManagerListener();
private Project project;
public PlantUmlProjectComponent(Project project) {
this.project = project;
}
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
}
@Override
@NotNull
public String getComponentName() {
return "PlantUmlToolWindowAutoOpener";
}
@Override
public void projectOpened() {
logger.debug("Registering listeners");
project.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, OPENER);
project.getMessageBus().connect().subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, RENDERER);
}
@Override
public void projectClosed() {
}
}