package org.plantuml.idea.toolwindow;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowFactory;
import com.intellij.ui.content.Content;
import com.intellij.ui.content.ContentFactory;
import org.jetbrains.annotations.NotNull;
import org.plantuml.idea.lang.settings.PlantUmlSettings;
import org.plantuml.idea.rendering.LazyApplicationPoolExecutor;
import org.plantuml.idea.rendering.RenderCommand;
/**
* @author Eugene Steinberg
*/
public class PlantUmlToolWindowFactory implements ToolWindowFactory, DumbAware {
public static final String ID = "PlantUML";
@Override
public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) {
PlantUmlToolWindow plantUmlToolWindow = new PlantUmlToolWindow(project, toolWindow);
ContentFactory contentFactory = ContentFactory.SERVICE.getInstance();
Content content = contentFactory.createContent(plantUmlToolWindow, "", false);
toolWindow.getContentManager().addContent(content);
if (PlantUmlSettings.getInstance().isAutoRender()) {
plantUmlToolWindow.renderLater(LazyApplicationPoolExecutor.Delay.POST_DELAY, RenderCommand.Reason.FILE_SWITCHED);
}
}
}