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 }