import java.awt.event.*; import java.awt.*; import java.io.*; import javax.swing.*; /** * Clase HandlerObjetoEvento * Permite importar un bloque "Evento" al programa. * @author Patricio A. Castillo Pizarro - Eric C. Maldonado Olguin * @version 1.0 - Jun 26th, 2007 */ class HandlerObjetoEvento implements ActionListener { private EditorPanel panel; private ObjetoEvento evento; private String tipoEvento; /** * Constructor. * @param p Panel en que se encuentra el programa grafico a compilar */ public HandlerObjetoEvento(EditorPanel p) { panel = p; } public void actionPerformed(ActionEvent e) { tipoEvento = e.getActionCommand(); evento = new ObjetoEvento (400,200); //Setea los parametros del bloque de acuerdo al menu desde el que fue creado. if(tipoEvento.equals("Avanzar") || tipoEvento.equals("Retroceder") || tipoEvento.equals("CambiarDireccion") || tipoEvento.equals("Detener")) { evento.nombreObjeto = tipoEvento; evento.outs = "OUT_A+OUT_C"; } if(tipoEvento.equals("Esperar")) { evento.nombreObjeto = tipoEvento; evento.time = 100; } if(tipoEvento.equals("PotenciaMotores")) { evento.nombreObjeto = tipoEvento; evento.power = 7; evento.outs = "OUT_A+OUT_C"; } if(tipoEvento.equals("EnviarMSG")) { evento.nombreObjeto = tipoEvento; evento.message = 0; } if(tipoEvento.equals("LimpiarMSG")) { evento.nombreObjeto = tipoEvento; } if(tipoEvento.equals("NQCPersonal")) { evento.nombreObjeto = tipoEvento; evento.nqc = "//Codigo Personal\n"; } if(tipoEvento.equals("EmitirSonido")) { evento.nombreObjeto = tipoEvento; evento.sound = "SOUND_CLICK"; } if(tipoEvento.equals("EmitirTono")) { evento.nombreObjeto = tipoEvento; evento.frecuency = 440; evento.time = 100; } if(tipoEvento.equals("NuevaVariable")) { evento.nombreObjeto = tipoEvento; //Primero se verifica que no exista previamente la variable String name = new String("a0"); int t = 1; while (panel.checkName(name)){ name = "a" + String.valueOf(t); t++; } evento.name = name; evento.value = "0"; } if(tipoEvento.equals("ModificarVariable")) { evento.nombreObjeto = tipoEvento; evento.name = "a"; evento.value = "0"; } panel.incorpore (evento); } } //Fin clase HandlerObjetoEvento