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 }