001 package nl.cwi.sen1.gui.plugin;
002
003 import java.awt.BorderLayout;
004
005 import javax.swing.JFrame;
006
007 import nl.cwi.sen1.gui.Studio;
008 import nl.cwi.sen1.gui.StudioImplWithPredefinedLayout;
009 import aterm.ATerm;
010
011 public class SVGPlugin extends DefaultStudioPlugin implements SvgTif {
012 private static final String TOOL_NAME = "svg";
013
014 private SvgBridge bridge;
015
016 private Studio studio;
017
018 public void display(String title, String svgFileName) {
019 SVGCanvas canvas = new SVGCanvas(title, svgFileName);
020 ((StudioImplWithPredefinedLayout) studio).addComponent(canvas,
021 StudioImplWithPredefinedLayout.TOP_RIGHT);
022 }
023
024 public void recTerminate(ATerm t0) {
025 fireStudioPluginClosed();
026 }
027
028 public String getName() {
029 return TOOL_NAME;
030 }
031
032 public void initStudioPlugin(Studio studio) {
033 this.studio = studio;
034 bridge = new SvgBridge(studio.getATermFactory(), this);
035 bridge.setLockObject(this);
036 studio.connect(getName(), bridge);
037 }
038
039 public static void main(String[] args) {
040 SVGCanvas canvas = new SVGCanvas("Test", args[0]);
041 JFrame f = new JFrame();
042 f.setLayout(new BorderLayout());
043 f.add(canvas.getViewComponent(), BorderLayout.CENTER);
044 f.setSize(200,200);
045 f.setVisible(true);
046 }
047 }