package org.incha.ui.dependency;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import org.incha.core.jswingripples.eig.JSwingRipplesEIGNode;
import org.incha.ui.JSwingRipplesApplication;
public class ShowDependencyAction extends AbstractAction {
private static final long serialVersionUID = 6537463394107510663L;
/**
* Node.
*/
private final JSwingRipplesEIGNode node;
/**
* @param node node.
*/
public ShowDependencyAction(final JSwingRipplesEIGNode node) {
super("View dependencies...");
this.node = node;
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
@Override
public void actionPerformed(final ActionEvent e) {
final DependencyViewer viewer = new DependencyViewer(node.getEig().getJavaProject());
viewer.setNode(node);
final Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
final int width = screen.width * 2 / 3;
final int height = screen.height * 2 / 3;
viewer.setSize(width, height);
final JSwingRipplesApplication app = JSwingRipplesApplication.getInstance();
if (app == null) {
viewer.setLocation((screen.width - width) / 2, (screen.height - height) / 2);
} else {
viewer.setLocationRelativeTo(app);
}
viewer.setAlwaysOnTop(true);
viewer.setVisible(true);
}
}