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    }