/// <summary> /// Obsluhuje tlačítko ANO. V případě zadání všech potřebných parametrů vykreslí daný bod a oznámí hototvo. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ANO_Button_Click(object sender, RoutedEventArgs e) { try { TypyVrcholu typVrcholu = (TypyVrcholu)TypVrcholu_comboBox.SelectedIndex; string nazevVrcholu = nazevVrcholuTextBox.Text; DataVrcholu pridanyVrchol = mapa.VlozVrchol((int)gBod.X, (int)gBod.Y, typVrcholu, nazevVrcholu); VykresliObec(pridanyVrchol); SkrytPrvkyVytvorBod(); NastavTextLabelu("Hotovo, vypadá to, že máme nový bod."); } catch (Exception ex) { NastavTextLabelu("Nastala chyba: " + ex.Message); } }
/// <summary> /// Vkládání vrcholu do mapy. /// </summary> /// <param name="x">x-ová souřadnice vrcholu</param> /// <param name="y">z-souřadnice vrcholu</param> /// <param name="typyVrcholu"> typ vrcholů z výčtu</param> /// <param name="nazevVrcholu">název vrcholu, řetězec</param> /// <returns>vrací přidáváný vrchol</returns> public DataVrcholu VlozVrchol(int x, int y, TypyVrcholu typyVrcholu, string nazevVrcholu) { if (nazevVrcholu == "") { throw new Exception("Neplatný název bodu."); } else if (NajdiVrcholSemA(nazevVrcholu) != null) { throw new Exception("Bod již exitsuje. Prosím zvolte jiný."); } DataVrcholu v = new DataVrcholu(); v.XSouradniceVrcholu = x; v.YSouradniceVrcholu = y; v.TypVrcholu = typyVrcholu; v.NazevVrcholu = nazevVrcholu; ag.PridejVrchol(v.NazevVrcholu, v); // po pridani vrcholu znovu vybudujeme RozsahovyStrom // List ma pretizeny konstruktor, ktery je schopny prijmout kolekci typu IEnumerable rs.Vybuduj(new List <DataVrcholu>(ag.VratSeznamVrcholu())); return(v); }