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 }