/// <summary> /// Inicializa as variáveis do formulário e monta o grafo a partir da árvore de cidades recebida /// </summary> /// <param name="cidades">Árvore das cidades que serão desenhadas no mapa</param> public frmMapaCidade(ref ArvoreDeBusca <Cidade> cidades) { InitializeComponent(); grafoMapa = new GrafoCidades(null); PercorrerArvore(ref cidades.raiz); pnlMapa.Invalidate(); }
private void frmManutCidade_Load(object sender, EventArgs e) { FileStream arqCidades = new FileStream("arqCidades.cid", FileMode.OpenOrCreate); // Lê o arquivo de cidades arvoreCidades = new ArvoreDeBusca <Cidade>(); NoArvore <Cidade> raizTemp = arvoreCidades.Raiz; RegistroCidade regCidade = new RegistroCidade(); LeituraDaArvore(0, arqCidades.Length / Cidade.TAMANHO_DO_REGISTRO - 1, ref raizTemp, ref regCidade, ref arqCidades); // não deixa passar propriedade como ref arqCidades.Close(); lstCaminhos.HorizontalScrollbar = true; arvoreCidades.raiz = raizTemp; arvoreCidades.OndeExibir = pnlArvore; FileStream arqCaminhos = new FileStream("arqCaminhos.cam", FileMode.OpenOrCreate); // Lê o arquivo de caminhos listaCaminhos = new ListaCaminhos(); RegistroCaminho regCaminho = new RegistroCaminho(); for (int i = 0; i < arqCaminhos.Length / Caminho.TAMANHO_DO_REGISTRO; i++) { Caminho novoCaminho = new Caminho(new Cidade("", 0D, 0D), new Cidade("", 0D, 0D), int.MaxValue); regCaminho.LerRegistro(arqCaminhos, i, ref novoCaminho); listaCaminhos.inserirEmOrdem(novoCaminho); lstCaminhos.Items.Add(novoCaminho.ToString()); } arqCaminhos.Close(); pnlArvore.Invalidate(); }