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    }