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 }