package gve.calc;
import awt.*;
import awt.Button;
import java.awt.*;
import java.awt.event.*;
import gve.calc.formula.*;
public class PlotWindow extends Frame implements WindowListener,ActionListener
{
private PlotCanvas plotcan;
int number;
private Layer userlayer;
static private int count = 1;
public PlotWindow(Formula f) {
super("Plot Window #" + count);
number = ++count;
setSize(new Dimension(200,150));
Panel p;
add("North",p = new Panel());
p.setBackground(Color.lightGray);
MenuButton mb;
p.add(mb = new MenuButton("Plot",this,MenuButton.DOWN));
Button b;
mb.add(b = new Button("Dots"));
b.addActionListener(this);
mb.add(b = new Button("Connected dots"));
b.addActionListener(this);
mb.add(b = new Button("Intervals"));
b.addActionListener(this);
mb.add(b = new Button("Dismiss"));
b.addActionListener(this);
mb.pack();
p.add(mb = new MenuButton("Zoom",this,MenuButton.DOWN));
mb.add(b = new Button("Zoom in x10"));
b.addActionListener(this);
mb.add(b = new Button("Zoom in x2"));
b.addActionListener(this);
mb.add(b = new Button("Zoom out x2"));
b.addActionListener(this);
mb.add(b = new Button("Zoom out x10"));
b.addActionListener(this);
mb.pack();
add("Center",plotcan = new PlotCanvas(f));
setVisible(true);
addWindowListener(this);
}
public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
dispose();
}
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void actionPerformed(ActionEvent evt) {
String cmd = evt.getActionCommand();
if (cmd.equals("Dots")) {
plotcan.setPlotMode(PlotCanvas.DOTS);
} else if (cmd.equals("Connected dots")) {
plotcan.setPlotMode(PlotCanvas.CONNECTDOTS);
} else if (cmd.equals("Intervals")) {
plotcan.setPlotMode(PlotCanvas.INTERVALS);
} else if (cmd.equals("Dismiss")) {
dispose();
} else if (cmd.equals("Zoom in x10")) {
plotcan.zoom(.1);
} else if (cmd.equals("Zoom in x2")) {
plotcan.zoom(.5);
} else if (cmd.equals("Zoom out x10")) {
plotcan.zoom(10);
} else if (cmd.equals("Zoom out x2")) {
plotcan.zoom(2);
}
}
}