001    /*
002     * Created by IntelliJ IDEA.
003     * User: Wei Wang
004     * Date: 2002-8-29
005     * Time: 13:31:24
006     * To change template for new class use 
007     * Code Style | Class Templates options (Tools | IDE Options).
008     */
009    package EVolve.util;
010    
011    import EVolve.*;
012    import EVolve.visualization.*;
013    import java.util.ArrayList;
014    import java.util.HashMap;
015    
016    public class PredefinedVisualizationRunner {
017        private ArrayList predefinedVizCollection;
018        private int selected;
019    
020        public PredefinedVisualizationRunner() {
021            predefinedVizCollection = new ArrayList();
022            selected = 0;
023        }
024    
025        public int getSelected() {
026            return this.selected;
027        }
028    
029        public void setSelected(int selected) {
030            this.selected = selected;
031        }
032    
033        public int getPredefinedVisualizationNumber() {
034            return predefinedVizCollection.size();
035        }
036    
037        public String getConfigureName(int index) {
038            return ((PredefinedVisualization)predefinedVizCollection.get(index)).getName();
039        }
040    
041        public PredefinedVisualization getSelectedPredefinedViz() {
042            return predefinedVizCollection.size() == 0 ? null : (PredefinedVisualization)predefinedVizCollection.get(selected);
043        }
044    
045        public PredefinedVisualization getPredefinedVizByIndex(int index) {
046            return (PredefinedVisualization)predefinedVizCollection.get(index);
047        }
048    
049        public void addPredefinedVisualization(String filename, String configname) {
050            for (int i=0; i<predefinedVizCollection.size(); i++) {
051                PredefinedVisualization viz = (PredefinedVisualization)predefinedVizCollection.get(i);
052                if (viz.getFilename().equals(filename)) {
053                    viz.setTranslated(false);
054                    viz.setFilename(filename);
055                    viz.setName(configname);
056                    return;
057                }
058            }
059            PredefinedVisualization viz = new PredefinedVisualization(filename,configname);
060            predefinedVizCollection.add(predefinedVizCollection.size(),viz);
061        }
062    
063        public boolean containsConfigure(String name) {
064    
065            for (int i=0; i< predefinedVizCollection.size(); i++) {
066                if (((PredefinedVisualization)predefinedVizCollection.get(i)).getName().equals(name)) return true;
067            }
068    
069            return false;
070        }
071    
072        public int getIdFromName(String name) {
073            int retValue = -1;
074            for (int i=0; i< predefinedVizCollection.size(); i++) {
075                if (((PredefinedVisualization)predefinedVizCollection.get(i)).getName().equals(name)) retValue = i;
076            }
077    
078            return retValue;
079        }
080    
081        public void runPredefinedVisualization() {
082            Visualization visual = null;
083            PredefinedVisualization predefinedViz = getSelectedPredefinedViz();
084    
085            if (predefinedViz == null) return;
086            if (!predefinedViz.isTranslated()) predefinedViz.translateVizInfo();
087            Scene.getVisualizationManager().cleanup();
088            while (predefinedViz.hasNext()) {
089                VizInfo viz = predefinedViz.getNextVizInfo();
090                HashMap mapConfig = new HashMap();
091                mapConfig.put("Factory",viz.getFactory());
092                mapConfig.put("Subject",viz.getSubject());
093                mapConfig.put("Dimension",viz.getDimension());
094                mapConfig.put("Predictor",viz.getPredictor());
095                mapConfig.put("Interval",new Integer(viz.getInterval()));
096                mapConfig.put("BeginCall",new Integer(viz.getBeginCall()));
097                mapConfig.put("EndCall",new Integer(viz.getEndCall()));
098                mapConfig.put("Match",new Float(viz.getMatch()));
099                mapConfig.put("Options", viz.getOptions());
100    
101                visual = Scene.getVisualizationManager().newVisualization(((VisualizationFactory)mapConfig.get("Factory")).getName());
102    
103                visual.getWindow().setBounds(viz.getWindowPosition());
104                visual.setName(viz.getTitle());
105                visual.autoUpdateConfiguration(mapConfig);
106            }
107            Scene.getVisualizationManager().addAllVisualizations();
108            Scene.getVisualizationManager().prepareListToBeVisualized();
109            Scene.getFilter().selectAllFields();
110            Scene.visualize();
111            predefinedViz.reset();
112        }
113    }