package org.plantuml.idea.action;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
import org.plantuml.idea.toolwindow.PlantUmlImageLabel;
import org.plantuml.idea.toolwindow.PlantUmlToolWindow;
import org.plantuml.idea.util.UIUtils;
import javax.swing.*;
/**
* @author Eugene Steinberg
*/
public class SaveDiagramToFileAction extends AbstractSaveDiagramAction {
@Override
protected int getPageNumber(AnActionEvent e) {
PlantUmlToolWindow umlToolWindow = UIUtils.getPlantUmlToolWindow(e.getProject());
JPanel imagesPanel = umlToolWindow.getImagesPanel();
PlantUmlImageLabel image = (PlantUmlImageLabel) imagesPanel.getComponent(0);
return image.getPage();
}
@Override
protected String getSource(Project project) {
return UIUtils.getSelectedSourceWithCaret(FileEditorManager.getInstance(project));
}
@Override
public void update(AnActionEvent e) {
super.update(e);
final Project project = e.getProject();
if (project != null) {
PlantUmlToolWindow toolWindow = UIUtils.getPlantUmlToolWindow(project);
if (toolWindow != null) {
e.getPresentation().setEnabled(toolWindow.getImagesPanel().getComponentCount() == 1);
}
}
}
}