001    package nl.cwi.sen1.visplugin.text;
002    
003    import nl.cwi.sen1.gui.Studio;
004    import nl.cwi.sen1.visplugin.VisualizationPluginController;
005    import nl.cwi.sen1.visplugin.VisualizationPluginWindow;
006    import aterm.ATerm;
007    
008    /**
009     * The TableVisualizationController class
010     * 
011     */
012    public class TextVisualizationController extends VisualizationPluginController {
013            private TextVisualizationWindow m_window;
014    
015            private VisPluginTextUnparsing unparser;
016    
017            /**
018             * Default constructor.
019             * 
020             */
021            public TextVisualizationController() {
022                    super();
023                    m_window = null;
024            }
025    
026            public final void initStudioPlugin(final Studio studioArgument) {
027                    /* connect this vis tool via the generic vis interface */
028                    super.initStudioPlugin(studioArgument);
029    
030                    /* connect a second tool for communicating with lifting and unparsing tools 
031                     * asynchronously
032                     */
033                    unparser = new VisPluginTextUnparsing();
034                    Thread unparserThread = new Thread() {
035                            public void run() {
036                                    unparser.initStudioPlugin(studioArgument);
037                            }
038                    };
039                    unparserThread.setName(unparser.getName() + "-starter");
040                    unparserThread.start();
041            }
042    
043            /**
044             * Return Table visualization window
045             * 
046             */
047            public VisualizationPluginWindow createWindow() {
048                    m_window = new TextVisualizationWindow(unparser);
049                    return m_window;
050            }
051    
052            /**
053             * Gets the plugin name [Table Visualization Plugin]
054             * 
055             */
056            public String getPluginName() {
057                    return "Text";
058            }
059    
060            /**
061             * Define the supported types. Not implemented because we override the
062             * isTypeSupported() function.
063             * 
064             */
065            public ATerm[] getSupportedTypes() {
066                    ATerm[] atermList = new ATerm[0];
067                    return atermList;
068            }
069    
070            /**
071             * Check if a type is supported
072             * 
073             * @param type
074             *            The type to check
075             */
076            protected boolean isTypeSupported(ATerm type) {
077                    return true;
078            }
079    }