package Current.plot.Plotters; import Current.basic.*; import Current.*; import Current.manage.*; import java.awt.*; import java.awt.event.*; /** This class controlls an XNewPlotter * * It allows editing an object of type XNewPlotter. Currently it controls a * single integer (some_int). */ public class XNewPlotterController extends Canvas implements MouseListener { Manager M; IntegerSelector some_int; // level of detail /** this class now does the real work */ XNewPlotter plotter; public XNewPlotterController(Manager M, XNewPlotter plotter) { this.M=M; this.plotter=plotter; // initialize the selector to plotter.some_int some_int=new IntegerSelector(7,23,32,16,plotter.some_int,1,25,1); this.addMouseListener(this); } /** draw the buttons etc. */ public void paint(Graphics gfx){ Graphics2D g=(Graphics2D) gfx; g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Color C1=new Color(250,0,255); g.setColor(Color.black); some_int.render(g,C1,Color.black,Color.white); } /** Return smallest area that the drawing will take up. * You can change this to get more space. */ public Dimension getPreferredSize() { return new Dimension(80,32); } /** These are taken from MouseListener */ public void mouseClicked(MouseEvent e){ e.consume(); Point X=new Point(); X.x=e.getX(); X.y=e.getY(); // when the Integer selector is changed, immediately propigate // the change to the plotter some_int.modify(X); plotter.some_int=some_int.val; repaint(); } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} }