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.barchart.BCVisualizationController;
007    import nl.cwi.sen1.visplugin.linechart.LCVisualizationController;
008    import nl.cwi.sen1.visplugin.piechart.PCVisualizationController;
009    import nl.cwi.sen1.visplugin.scatterchart.SCVisualizationController;
010    import aterm.pure.PureFactory;
011    
012    /**
013     * This class loads all visualization plugins.
014     * 
015     * @author Arnold Lankamp
016     */
017    public class PluginLoader extends DefaultStudioPlugin{
018            private final static String VISUALIZATIONPLUGIN = "Visualization plugin collection";
019            
020            /**
021             * Default constructor.
022             */
023            public PluginLoader(){
024                    super();
025            }
026            
027            /**
028             * @see StudioPlugin#getName()
029             */
030            public String getName(){
031                    return VISUALIZATIONPLUGIN;
032            }
033    
034            /**
035             * @see StudioPlugin#initStudioPlugin(Studio)
036             */
037            public void initStudioPlugin(Studio studio){
038                    PureFactory pureFactory = (PureFactory) studio.getATermFactory();
039                    
040                    BCVisualizationController barChartVisualizationController = new BCVisualizationController();
041                    barChartVisualizationController.initStudioPlugin(studio);
042                    barChartVisualizationController.initPluginController(pureFactory);
043                    
044                    LCVisualizationController lineChartVisualizationController = new LCVisualizationController();
045                    lineChartVisualizationController.initStudioPlugin(studio);
046                    lineChartVisualizationController.initPluginController(pureFactory);
047                    
048                    PCVisualizationController pieChartVisualizationController = new PCVisualizationController();
049                    pieChartVisualizationController.initStudioPlugin(studio);
050                    pieChartVisualizationController.initPluginController(pureFactory);
051                    
052                    SCVisualizationController scatterChartVisualizationController = new SCVisualizationController();
053                    scatterChartVisualizationController.initStudioPlugin(studio);
054                    scatterChartVisualizationController.initPluginController(pureFactory);
055                    
056                    fireStudioPluginClosed();
057            }
058    }