//Submenu Algoritmos para Digrafos private void dijkstraToolStripMenuItem_Click(object sender, EventArgs e) { if (grafos != null && grafo_activo != null && grafo_activo.getTipo() == DIRIGIDO && grafo_activo.getNumeroAristas() > 0) { if (!grafo_activo.tienePeso()) { DAddPeso dap = new DAddPeso(grafo_activo.getListaAristas()); grafo_activo.showHideIdAristas(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); if (dap.ShowDialog() == DialogResult.OK) { grafo_activo.setPesos(dap.getPesos()); grafo_activo.showHideIdAristas(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); grafo_activo.showHidePesos(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); DPideVert pdv = new DPideVert(grafo_activo.getNumeroVertices()); if (pdv.ShowDialog() == DialogResult.OK) { CDijkstra djk = new CDijkstra(grafo_activo); djk.calculaCaminoMasCorto(grafo_activo.buscaNodoVertice(pdv.getIdVert())); grafo_activo.showHidePesos(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); /*foreach (CArista a in grafo_activo.getListaAristas()) * a.setPeso(0);*/ } } else { grafo_activo.showHideIdAristas(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); } } else { grafo_activo.showHidePesos(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); DPideVert pdv = new DPideVert(grafo_activo.getNumeroVertices()); if (pdv.ShowDialog() == DialogResult.OK) { CDijkstra djk = new CDijkstra(grafo_activo); djk.calculaCaminoMasCorto(grafo_activo.buscaNodoVertice(pdv.getIdVert())); grafo_activo.showHidePesos(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); /*foreach (CArista a in grafo_activo.getListaAristas()) * a.setPeso(0);*/ } } } }