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 }