public double[,] traversalMatrix; // matrica puta // inicijalizacija preko parametarskog konstruktora public Dijkstra(Grafovi mainForm) { ucCanvas = mainForm.ucCanvas; nodes = mainForm.nodes; animationSpeed = mainForm.speedTrckBr.Value; parentMainForm = mainForm; }
// Metoda za pravljenje novog platna za graf, brisemo sve kontrole, cvorove i pravi se novi graf ciji je roditelj panel graphCanvasContainer private void newDrawingCanvas() { graphCanvasContainer.Controls.Clear(); if (ucCanvas != null) { ucCanvas.Dispose(); nodes.RemoveAll(x => x.Position != null); } ucCanvas = new Platno(this); Platno.nodes = nodes; ucCanvas.Parent = graphCanvasContainer; ucCanvas.Show(); }
// dugme za novi graf private void addGraphBtn_Click(object sender, EventArgs e) { // ako postoji graf, pitamo se da li zelimo da ga izbrisemo i napravimo novi if (ucCanvas != null) { var result = MessageBox.Show("Da li ste sigurni da želite da napravite novi graf?", "Potvrda", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { newDrawingCanvas(); } // ako ne postoji onda samo pravimo novi graf } else { ucCanvas = new Platno(this); Platno.nodes = nodes; ucCanvas.Parent = graphCanvasContainer; ucCanvas.Show(); } tezineToggle.Checked = false; }