/* * Author: tdanford * Date: Jan 19, 2009 */ package org.seqcode.viz.eye; import java.io.*; import java.util.*; import java.awt.*; import javax.swing.*; import org.seqcode.gseutils.models.*; import org.seqcode.gseutils.models.Timer; import org.seqcode.viz.paintable.*; public class TimingVizFrame extends JFrame implements Timer { public static void main(String[] args) { TimingVizFrame frame = new TimingVizFrame(); for(int i = 0; i < args.length; i++) { File f = new File(args[i]); try { Iterator<Timing> timings = new ModelInputIterator<Timing>( new ModelInput.LineReader<Timing>(Timing.class, new FileInputStream(f))); frame.addTimings(timings); System.out.println(String.format("-> %s", args[i])); } catch (FileNotFoundException e) { e.printStackTrace(); } } } private ModelScatter scatter; public TimingVizFrame() { super("Timing Data"); scatter = new ModelScatter("size", "seconds"); Container c = (Container)getContentPane(); c.setLayout(new BorderLayout()); PaintablePanel pp = new PaintablePanel(scatter); pp.setPreferredSize(new Dimension(400, 200)); c.add(pp, BorderLayout.CENTER); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); showMe(); } private void showMe() { SwingUtilities.invokeLater(new Runnable() { public void run() { setVisible(true); pack(); } }); } public void addTiming(Timing t) { scatter.addModel(t); } public void addTimings(Iterator<Timing> ts) { while(ts.hasNext()) { addTiming(ts.next()); } } }