001    package nl.cwi.sen1.visplugin;
002    
003    import nl.cwi.sen1.gui.Studio;
004    import nl.cwi.sen1.gui.plugin.DefaultStudioPlugin;
005    import nl.cwi.sen1.gui.plugin.StudioPlugin;
006    import nl.cwi.sen1.visplugin.csvexport.CsvExportController;
007    import nl.cwi.sen1.visplugin.table.TableVisualizationController;
008    import nl.cwi.sen1.visplugin.text.TextVisualizationController;
009    import aterm.pure.PureFactory;
010    
011    /**
012     * This class loads all visualization plugins.
013     * 
014     * @author Arnold Lankamp
015     */
016    public class GenericVisualizationPluginsLoader extends DefaultStudioPlugin{
017            private final static String VISUALIZATIONPLUGIN = "Visualization plugin collection";
018            
019            /**
020             * Default constructor.
021             */
022            public GenericVisualizationPluginsLoader(){
023                    super();
024            }
025            
026            /**
027             * @see StudioPlugin#getName()
028             */
029            public String getName(){
030                    return VISUALIZATIONPLUGIN;
031            }
032    
033            /**
034             * @see StudioPlugin#initStudioPlugin(Studio)
035             */
036            public void initStudioPlugin(Studio studio){
037                    PureFactory factory = (PureFactory) studio.getATermFactory();
038                    
039                    TableVisualizationController table = new TableVisualizationController();
040                    table.initStudioPlugin(studio);
041                    table.initPluginController(factory);
042                    
043                    CsvExportController csv = new CsvExportController();
044                    csv.initStudioPlugin(studio);
045                    csv.initPluginController(factory);
046                    
047                    TextVisualizationController text = new TextVisualizationController();
048                    text.initStudioPlugin(studio);
049                    text.initPluginController(factory);
050                    
051                    fireStudioPluginClosed();
052            }
053    }