001 package nl.cwi.sen1.visplugin.text; 002 003 import nl.cwi.sen1.gui.Studio; 004 import nl.cwi.sen1.gui.plugin.DefaultStudioPlugin; 005 import nl.cwi.sen1.relationstores.types.RTuple; 006 import aterm.ATerm; 007 import aterm.pure.PureFactory; 008 009 public class VisPluginTextUnparsing extends DefaultStudioPlugin implements 010 VisPluginTextUnparsingTif { 011 private VisPluginTextUnparsingBridge bridge; 012 013 private PureFactory factory; 014 015 private TextVisualizationWindow lastWindow; 016 017 public void unparseRTuple(TextVisualizationWindow window, RTuple tuple) { 018 lastWindow = window; 019 ATerm event = factory.make("unparse-rtuple(<term>)", tuple.toTerm()); 020 bridge.postEvent(event); 021 } 022 023 public void recTerminate(ATerm t0) { 024 //System.exit(0); 025 } 026 027 public void recAckEvent(ATerm t0) { 028 } 029 030 public void displayUnparsedRtuple(String text) { 031 /* \TODO find a better way! */ 032 lastWindow.setText(text); 033 lastWindow = null; 034 } 035 036 public String getName() { 037 return "vis-plugin-text-unparsing"; 038 } 039 040 public void initStudioPlugin(Studio studio) { 041 factory = (PureFactory) studio.getATermFactory(); 042 bridge = new VisPluginTextUnparsingBridge(factory, this); 043 bridge.setLockObject(this); 044 studio.connect(getName(), bridge); 045 } 046 }