import java.awt.*; import java.awt.geom.*; import java.lang.Math; /** * Clase ObjetoEvento * Esta clase implementa el objeto evento, como trozo de programa con * parametros genericos para definir acciones, sonidos y variables. * @author Patricio A. Castillo Pizarro - Eric C. Maldonado Olguin * @version 1.4 - Jun 26th, 2007 */ public class ObjetoEvento extends Forma { //Parametros para definir el centro de la forma public double x; public double y; public Point centro_forma; //Parametros que definen el evento public String nombreObjeto = new String(); public String outs = new String(); public String sound = new String(); public int frecuency = 0; public int time = 0; public int power = 0; public int message = 0; public String nqc = new String(); public String name = new String(); public String value = "0"; //Permite indicar si el bloque esta seleccionado public boolean selected; //Permite dibujar los cuadros de manipulacion. private boolean manipulable; //Arreglo de puntos que definen la forma del bloque private Point2D[] punto; //Cuadrados que dibujan el bloque private Rectangle2D manSquare; private Rectangle2D manSquare2; private Rectangle2D Block1; private Rectangle2D Block2; /** * Constructor. * Construye a partir de las coordenadas del centro del bloque. * @param x1 Horizontal del centro. * @param y1 Vertical del centro. */ public ObjetoEvento(double x1, double y1) { x = x1; y = y1; centro_forma = new Point(); centro_forma.setLocation (x,y); selected = false; manipulable = false; punto = new Point2D[1]; punto[0] = new Point2D.Double(x1,y1); manSquare = new Rectangle2D.Double(); manSquare2 = new Rectangle2D.Double(); Block1 = new Rectangle2D.Double(); Block2 = new Rectangle2D.Double(); manSquare.setRect(x-30,y-20,60,50); manSquare2.setRect(x+20,y+10,10,10); Block1.setRect(x-30,y-20,60,40); Block2.setRect(x-5,y+20,10,10); } /** * Define como se dibuja el bloque. * @param g2d grafico en que se dibuja el bloque. */ public void paintComponent(Graphics2D g2d) { g2d.fill3DRect( (int)Block1.getX(), (int)Block1.getY(), (int)Block1.getWidth(), (int)Block1.getHeight(), true); g2d.fill3DRect( (int)Block2.getX(), (int)Block2.getY(), (int)Block2.getWidth(), (int)Block2.getHeight(), true); g2d.setColor(Color.BLACK); g2d.drawString (nombreObjeto, centro_forma.x-25, centro_forma.y-5); g2d.setColor(Color.WHITE); g2d.fill3DRect( (int)manSquare2.getX(), (int)manSquare2.getY(), (int)manSquare2.getWidth(), (int)manSquare2.getHeight(), true); } /** * Traslada el bloque. * @param dx desplazamiento horizontal. * @param dy desplazamiento vertical. */ public void trasladar(double dx, double dy) { for(int i=0; i>>\n"; } if(nombreObjeto.equals("EmitirSonido")) { datos = nombreObjeto+"---"+x+"---"+y+"---"+sound+"\n"; } if(nombreObjeto.equals("EmitirTono")) { datos = nombreObjeto+"---"+x+"---"+y+"---"+frecuency+"---"+time+"\n"; } if(nombreObjeto.equals("NuevaVariable") || nombreObjeto.equals("ModificarVariable")) { datos = nombreObjeto+"---"+x+"---"+y+"---"+name+"---"+value+"\n"; } return datos; } public void setParametro(String a){ nombreObjeto=a; } public void setFrecuencia(int a){ frecuency=a; } public void setTiempo(int a){ time=a; } public void setPower(int a){ power=a; } public void setMessage(int a){ message=a; } public void setOuts(String a){ outs=a; } public void setSound(String a){ sound=a; } public void setNqc(String a){ nqc=a; } } //Fin clase ObjetoEvento