private void iniciarComponentesGrafica(IPropiedadesGrafica funcion) { if (grafica != null) { //guardarGrafica(); //remuevo los componentes anteriores antes de instanciar los nuevos. quitarComponentes(); } grafica = new Grafica(funcion); grafica.setTitulo(); chkEntrada.Checked = grafica.verEntrada; chkReferencias.Checked = grafica.chkGrReferencias; chkTpoAsentamiento.Checked = grafica.chkGrTpoAsentamiento; txtTitulo.Text = grafica.titulo; //Asigno los textos de los checkBoton if (grafica.funcion.Botones[0] != "") { chkReferencias.Text = grafica.funcion.Botones[0]; chkReferencias.Visible = true; } else { chkReferencias.Visible = false; } if (grafica.funcion.Botones[1] != "") { chkTpoAsentamiento.Text = grafica.funcion.Botones[1]; chkTpoAsentamiento.Visible = true; } else { chkTpoAsentamiento.Visible = false; } }
private void cambiaGrafica() { String graficaSelect = (string)lstArchivos.SelectedItem; //grafica.dataGrid persRespuestas.getGrafica(graficaSelect, grafica.dataGrid); grafica.graficar(); //----- grafica.dataGrid.Click += new EventHandler(grafica_dataGrid_Click); grafica.dataGrid.ClearSelection(); //---- guardarGrafica(); foreach (Grafica g in listaGraficas) { if (graficaSelect == g.getNombre()) { quitarComponentes(); grafica = g; agregarComponentes(); chkEntrada.Checked = grafica.verEntrada; chkReferencias.Checked = grafica.chkGrReferencias; chkTpoAsentamiento.Checked = grafica.chkGrTpoAsentamiento; txtTitulo.Text = grafica.titulo; lstArchivos.ClearSelected(); //Asigno los textos de los checkBoton if (grafica.funcion.Botones[0] != "") { chkReferencias.Text = grafica.funcion.Botones[0]; chkReferencias.Visible = true; } else { chkReferencias.Visible = false; } if (grafica.funcion.Botones[1] != "") { chkTpoAsentamiento.Text = grafica.funcion.Botones[1]; chkTpoAsentamiento.Visible = true; } else { chkTpoAsentamiento.Visible = false; } } } this.btnGuardar.Enabled = true; }
private void eliminarGrafica() { if (grafica != null) { listaGraficas.Remove(grafica); txtTitulo.Text = ""; chkReferencias.Hide(); chkTpoAsentamiento.Hide(); grafica.hideFrmMedidas(); //Desactivo las opciones no permitidas guardarToolStripMenuItem.Enabled = false; eliminarToolStripMenuItem.Enabled = false; } quitarComponentes(); //lstArchivos.DataSource = null; //lstArchivos.DataSource = generarLista(); grafica = null; }
/// <summary> /// Inserta una nueva grafica en la tabla actual para luego guardarla /// </summary> /// <param name="g">la clase grafica que está siendo utilizada actualmente</param> public void nuevaGrafica(Grafica g) { bool noDatos = false; int cont = 0, tipoInt=-1; for (int i=0; i < this.datosGrafica.Rows.Count; i++) this.datosGrafica.Rows[i].Delete(); this.datosGrafica.AcceptChanges(); foreach (DataGridViewRow dgvr in g.dataGrid.Rows) { cont = 1; noDatos = false; do { //revisar si hay alguna celda vacía || (dgvr.Cells[cont].Value == null) if (dgvr.Cells[cont].Value == null) { noDatos = true; } cont++; } while (cont < dgvr.Cells.Count); //si no hay celdas vacías if (!noDatos) { //cambiar , por . para no tener problemas al guardar en la DB ya que sino la "," no la toma como tal //y guarda el número como si no tuviese decimales for (int i = 1; i < dgvr.Cells.Count;i++ ) { try { dgvr.Cells[i].Value = Double.Parse(dgvr.Cells[i].Value.ToString().Replace(",", ".")); } catch (FormatException e) { } } DataRow fila = this.datosGrafica.NewRow(); //agregar los datos a la fila try { switch (tipo) { case ("Escalon1"): tipoInt = 1; break; case ("Impulso1"): tipoInt = 2; break; case ("Senoidal1"): tipoInt = 3; break; case ("Rampa1"): tipoInt = 4; break; case ("Escalon2"): tipoInt = 5; break; case ("Impulso2"): tipoInt = 6; break; case ("Senoidal2"): tipoInt = 7; break; } fila["tipo"] = tipoInt; fila["titulo"] = g.getNombre(); //parámetros if (!((tipo == "Senoidal1") || (tipo == "Senoidal2"))) { //Si no son senoidales fila["amplitud"] = dgvr.Cells[1].Value; fila["cteTiempo"] = dgvr.Cells[2].Value; } else { //si son senoidales fila["valorBase"] = dgvr.Cells[1].Value; fila["amplitud"] = dgvr.Cells[2].Value; fila["frecuencia"] = dgvr.Cells[3].Value; fila["cteTiempo"] = dgvr.Cells[4].Value; if (tipo == "Senoidal2") fila["coefAmort"] = dgvr.Cells[5].Value; } //si son entradas escalón o impulso de 2º orden se agrega el coeficiente de Amortiguaicón y el tiempo de asentamiento if ((tipo == "Escalon2") || (tipo == "Impulso2")) { fila["coefAmort"] = dgvr.Cells[3].Value; fila["tiempoAsent"] = dgvr.Cells[4].Value; } fila["id_respuesta"] = ultimoIdRespTransiente; this.datosGrafica.Rows.Add(fila); } catch (Exception e) { } } else { //si hay celdas vacías doy por terminado el for break; } } }