public Window1() // KONSTRUKTOR { this.DataContext = this; this.TipoviVrsta = MainWindow.TipoviVrsta; this.Etikete = MainWindow.Etikete; this.ugrozeneVrste = MainWindow.ugrozeneVrste; NekorisceneEtikete = new ObservableCollection <Etiketa>(); IskorisceneEtikete = new ObservableCollection <Etiketa>(); foreach (Etiketa et in MainWindow.Etikete) { NekorisceneEtikete.Add(et); } InitializeComponent(); tip.SelectedIndex = 0; tip_SelectionChanged(null, null); PotvrdiDugme.IsEnabled = false; TipVrste temp = (TipVrste)tip.SelectedItem; Path = temp.ImagePath; obradjivana = null; }
private void izmeniAkcija(object sender, RoutedEventArgs e) { if (dgrMain.SelectedItem != null) { UgrozenaVrsta izabrana = (UgrozenaVrsta)dgrMain.SelectedItem; Window1 izmenaVrste = new Window1(izabrana, mains); izmenaVrste.ShowDialog(); } }
public void Mapa_DoubleClick(object sender, RoutedEventArgs e) { if (NaMapi.SelectedItem is UgrozenaVrsta) { UgrozenaVrsta uv = (UgrozenaVrsta)NaMapi.SelectedItem; Window1 w1 = new Window1(uv, this); w1.ShowDialog(); } }
private void Tree_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("ugrozeniDrag")) { UgrozenaVrsta uv = e.Data.GetData("ugrozeniDrag") as UgrozenaVrsta; //one sve f-je iznad samo menjaju mis da korisnik vidi da ne moze drop, a ako ipak drop, ovo sprecava efekat //kod mene je point(-1,-1) ako nesto nije na mapi Console.WriteLine("Tree Drop"); naMapi.Remove(uv);//observable vezana za listu iz mape Console.WriteLine("Obrisan: " + naMapi.Count); uv.Point = new Point(-1, -1); //lokal.Tip.dodajLokal(lokal); //ova funkcija mi dodaje u Observable iz kog drvo uzima lokale za tip isDragging = false; } }
private void Tree_DoubleClick(object sender, RoutedEventArgs e) { if (xTree.SelectedItem is UgrozenaVrsta) { UgrozenaVrsta uv = (UgrozenaVrsta)xTree.SelectedItem; Window1 w1 = new Window1(uv, this); w1.ShowDialog(); } else if (xTree.SelectedItem is TipVrste) { TipVrste tv = (TipVrste)xTree.SelectedItem; Window2 w2 = new Window2(tv, this); w2.ShowDialog(); } }
//funkcija koja zapravo pokrene drag sa mape private void StartDragMap(MouseEventArgs e) { if (NaMapi.SelectedItem is UgrozenaVrsta) //zbog null, ako je neko krenuo da vuce po mapi bezveze { isDragging = true; UgrozenaVrsta selectedItem = (UgrozenaVrsta)NaMapi.SelectedItem; ListBoxItem lwi = (ListBoxItem)NaMapi.ItemContainerGenerator.ContainerFromItem(selectedItem); // Initialize the drag & drop operation DataObject dragData = new DataObject("ugrozeniDrag", selectedItem); if (isDragging == true) { DragDrop.DoDragDrop(lwi, dragData, DragDropEffects.Move); } isDragging = false; } }
//ubacuje lokal sa drveta na mapu private void NaMapi_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("ugrozeniDrag")) { UgrozenaVrsta uv = e.Data.GetData("ugrozeniDrag") as UgrozenaVrsta; Console.WriteLine("Dropovan " + uv.Ime); uv.Point = e.GetPosition(NaMapi); if (!naMapi.Contains(uv)) { naMapi.Add(uv); } //observable vezana za listu iz mape Console.WriteLine(naMapi.Count); //lokal.Tip.ukloniLokal(uv); //meni ova funkcija ukloni iz Observable kolekcije iz koje drvo uzima lokale za taj tip isDragging = false; } }
private void Tree_DragOver(object sender, DragEventArgs e) { if (!e.Data.GetDataPresent("ugrozeniDrag")) { e.Effects = DragDropEffects.None; e.Handled = true; } else //ova komplikacija je da se lokali ne mogu uzeti iz drveta i vratiti u drvo, jer je glupo { UgrozenaVrsta uv = e.Data.GetData("ugrozeniDrag") as UgrozenaVrsta; if (uv.Point.X == -1) { e.Effects = DragDropEffects.None; e.Handled = true; } } }
//poziva se iz one iznad. Ovde je zapravo posao private void StartDrag(MouseEventArgs e) { //obavezno if! tipovi se ne mogu dragovati, a ovako ako je neko slucajno kliknuo negde na drvo ne moze ni to if (xTree.SelectedItem is UgrozenaVrsta) { isDragging = true; UgrozenaVrsta selectedItem = (UgrozenaVrsta)xTree.SelectedItem; TreeViewItem tvi = xTree.Tag as TreeViewItem; // Initialize the drag & drop operation DataObject dragData = new DataObject("ugrozeniDrag", selectedItem); if (isDragging == true) { DragDrop.DoDragDrop(tvi, dragData, DragDropEffects.Move); } //ovde se dodje tek kada se spusti objekat isDragging = false; } }
private void obrisiAkcija(object sender, RoutedEventArgs e) { UgrozenaVrsta eta = (UgrozenaVrsta)dgrMain.SelectedItem; // Ako brisem vrstu uklonicu je iz tipova koji je sadrze foreach (TipVrste tv in MainWindow.TipoviVrsta) { foreach (UgrozenaVrsta uv in tv.SadrzaneVrste) { if (uv == eta) { tv.SadrzaneVrste.Remove(uv); break; } } } MainWindow.ugrozeneVrste.Remove(eta); if (MainWindow.naMapi.Contains(eta)) { MainWindow.naMapi.Remove(eta); } }
public Window1(UgrozenaVrsta uv, MainWindow mw) { mains = mw; this.DataContext = this; this.TipoviVrsta = MainWindow.TipoviVrsta; this.Etikete = MainWindow.Etikete; this.ugrozeneVrste = MainWindow.ugrozeneVrste; NekorisceneEtikete = new ObservableCollection <Etiketa>(); IskorisceneEtikete = uv.Etikete; foreach (Etiketa et in MainWindow.Etikete) { NekorisceneEtikete.Add(et); } foreach (Etiketa et in uv.Etikete) { NekorisceneEtikete.Remove(et); } //Console.WriteLine("Obradjivana postavljena"); obradjivana = uv; InitializeComponent(); // Preuzimanje parametara od ugrozene vrste xOznaka.Text = uv.Oznaka; xIme.Text = uv.Ime; xOpis.Text = uv.Opis; xStatus.SelectedIndex = uv.StatusUgrozenosti; if (uv.OpasnoPoCoveka == 1) // DA { opasnoPoCovekaDA.IsChecked = true; } else if (uv.OpasnoPoCoveka == -1) // NE { opasnoPoCovekaNE.IsChecked = true; } if (uv.NaIUCNCrvenojListi == 1) // DA { crvenoDA.IsChecked = true; } else { crvenoNE.IsChecked = true; } if (uv.UNaseljenomRegionu == 1) { naseljenoDA.IsChecked = true; } else { naseljenoNE.IsChecked = true; } xGodisnje.Text = uv.GodisnjiPrihod; xTurista.SelectedIndex = uv.TuristickiStatus; xDatum.SelectedDate = DateTime.Parse(uv.DatumOtkrivanja); xValuta.SelectedIndex = uv.ValutaPrihoda; Path = uv.imagePath; imgPhoto.Source = new BitmapImage(new Uri(Path)); mojaSlika = true; tip_SelectionChanged(null, null); PotvrdiDugme.IsEnabled = true; tip.SelectedItem = uv.TipVrste; this.Title = "Izmena vrste"; }
private void Potvrdi_Click(object sender, RoutedEventArgs e) { int opasnost; if (opasnoPoCovekaDA.IsChecked == true) { opasnost = 1; } else { opasnost = -1; } int crveno; if (crvenoDA.IsChecked == true) { crveno = 1; } else { crveno = -1; } int naseljeno; if (naseljenoDA.IsChecked == true) { naseljeno = 1; } else { naseljeno = -1; } if (obradjivana == null) { UgrozenaVrsta temp = new UgrozenaVrsta { Ime = xIme.Text, Oznaka = xOznaka.Text, Opis = xOpis.Text, StatusUgrozenosti = xStatus.SelectedIndex, OpasnoPoCoveka = opasnost, NaIUCNCrvenojListi = crveno, UNaseljenomRegionu = naseljeno, GodisnjiPrihod = xGodisnje.Text, TuristickiStatus = xTurista.SelectedIndex, DatumOtkrivanja = xDatum.ToString(), ValutaPrihoda = xValuta.SelectedIndex, imagePath = Path, Etikete = IskorisceneEtikete, TipVrste = (TipVrste)tip.SelectedItem }; TipVrste dodat = (TipVrste)tip.SelectedItem; dodat.SadrzaneVrste.Add(temp); MainWindow.ugrozeneVrste.Add(temp); } else // Ako se vrsi izmena neke { obradjivana.Ime = xIme.Text; obradjivana.Oznaka = xOznaka.Text; obradjivana.Opis = xOpis.Text; obradjivana.StatusUgrozenosti = xStatus.SelectedIndex; obradjivana.OpasnoPoCoveka = opasnost; obradjivana.NaIUCNCrvenojListi = crveno; obradjivana.UNaseljenomRegionu = naseljeno; obradjivana.GodisnjiPrihod = xGodisnje.Text; obradjivana.TuristickiStatus = xTurista.SelectedIndex; obradjivana.DatumOtkrivanja = xDatum.ToString(); obradjivana.ValutaPrihoda = xValuta.SelectedIndex; obradjivana.imagePath = Path; obradjivana.Etikete = IskorisceneEtikete; obradjivana.TipVrste.SadrzaneVrste.Remove(obradjivana); obradjivana.TipVrste = (TipVrste)tip.SelectedItem; obradjivana.TipVrste.SadrzaneVrste.Add(obradjivana); mains.xTree.ItemsSource = null; mains.xTree.ItemsSource = TipoviVrsta; // Dodato za tultip obradjivana.TulTip = "aa"; } this.Close(); }