public WindowResurs() //konstruktor { this.DataContext = this; this.TipoviResursa = MainWindow.TipoviResursa; this.Resursi = MainWindow.Resursi; this.Etikete = MainWindow.Etikete; //image.Source = new BitmapImage(new Uri("Images/resources.png", UriKind.Relative)); 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); PotvrdiBtn.IsEnabled = false; TipResursa temp = (TipResursa)tip.SelectedItem; Path = temp.ImagePath; obradjivani = null; }
//ubacuje resurs sa drveta na mapu private void NaMapi_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("resursDrag")) { Resurs uv = e.Data.GetData("resursDrag") as Resurs; naMapi.Add(uv); Console.WriteLine("Dropovan " + uv.Ime); uv.Point = e.GetPosition(NaMapi); /*if (!naMapi.Contains(uv)) * { * * naMapi.Add(uv); * }*/ //observable vezana za listu iz mape Image lbl = new Image(); lbl.Source = uv.Ikonica; lbl.ToolTip = "ana promeni me"; Canvas.SetLeft(lbl, uv.Point.X); Canvas.SetTop(lbl, uv.Point.Y); NaMapi.ItemsSource = naMapi; Console.WriteLine(naMapi.Count); isDragging = false; } }
public void Mapa_DoubleClick(object sender, RoutedEventArgs e) { if (NaMapi.SelectedItem is Resurs) { Resurs uv = (Resurs)NaMapi.SelectedItem; WindowResurs w1 = new WindowResurs(uv, this); w1.ShowDialog(); } }
private void Izmijeni_Click(object sender, RoutedEventArgs e) { if ((Resurs)dgrMain.SelectedItem == null) { MessageBox.Show("MORATE SELEKTOVATI RESURS", "UPOZORENJE", MessageBoxButton.OKCancel); } else { Resurs selektovani = (Resurs)dgrMain.SelectedItem; WindowResurs izmjenica = new WindowResurs(selektovani, mains); izmjenica.ShowDialog(); } }
private void Tree_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("resursDrag")) { Resurs uv = e.Data.GetData("resursDrag") as Resurs; //one sve f-je iznad samo mijenjaju mis da korisnik vidi da ne moze drop, a ako ipak drop, ovo sprjecava efekat //kod mene je point(-1,-1) ako nesto nije na mapi Console.WriteLine("Tree Drop"); NaMapi.ItemsSource = naMapi; naMapi.Remove(uv);//observable vezana za listu iz mape Console.WriteLine("Obrisan: " + naMapi.Count); uv.Point = new Point(-1, -1); isDragging = false; } }
private void Tree_DoubleClick(object sender, RoutedEventArgs e) { if (xTree.SelectedItem is Resurs) { Resurs uv = (Resurs)xTree.SelectedItem; WindowResurs w1 = new WindowResurs(uv, this); w1.ShowDialog(); } else if (xTree.SelectedItem is TipResursa) { TipResursa tv = (TipResursa)xTree.SelectedItem; WindowTip w2 = new WindowTip(tv, this); w2.ShowDialog(); } }
//funkcija koja zapravo pokrene drag sa mape private void StartDragMap(MouseEventArgs e) { if (NaMapi.SelectedItem is Resurs) //zbog null, ako je neko krenuo da vuce po mapi bezveze { isDragging = true; Resurs selectedItem = (Resurs)NaMapi.SelectedItem; ListBoxItem lwi = (ListBoxItem)NaMapi.ItemContainerGenerator.ContainerFromItem(selectedItem); // Initialize the drag & drop operation DataObject dragData = new DataObject("resursDrag", selectedItem); if (isDragging == true) { DragDrop.DoDragDrop(lwi, dragData, DragDropEffects.Move); } isDragging = false; } }
private void Tree_DragOver(object sender, DragEventArgs e) { if (!e.Data.GetDataPresent("resursDrag")) { e.Effects = DragDropEffects.None; e.Handled = true; } else //ova komplikacija je da se resursi ne mogu uzeti iz drveta i vratiti u drvo, jer je glupo { Resurs uv = e.Data.GetData("resursDrag") as Resurs; 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 Resurs) { isDragging = true; Resurs selectedItem = (Resurs)xTree.SelectedItem; TreeViewItem tvi = xTree.Tag as TreeViewItem; // Initialize the drag & drop operation DataObject dragData = new DataObject("resursDrag", 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) { Resurs resurcic = (Resurs)dgrMain.SelectedItem; //Ako brisem resurs, uklonicu je i iz tipova koji nju sadrze foreach (TipResursa tr in MainWindow.TipoviResursa) { foreach (Resurs r in tr.SadrzaniResursi) { if (r == resurcic) { tr.SadrzaniResursi.Remove(r); break; } } } MainWindow.Resursi.Remove(resurcic); if (MainWindow.naMapi.Contains(resurcic)) { MainWindow.naMapi.Remove(resurcic); } }
public WindowResurs(Resurs r, MainWindow mw) { mains = mw; this.DataContext = this; this.TipoviResursa = MainWindow.TipoviResursa; this.Etikete = MainWindow.Etikete; NekorisceneEtikete = new ObservableCollection <Etiketa>(); IskorisceneEtikete = r.Etikete; foreach (Etiketa et in MainWindow.Etikete) { NekorisceneEtikete.Add(et); } foreach (Etiketa et in r.Etikete) { NekorisceneEtikete.Remove(et); } obradjivani = r; InitializeComponent(); //preuzimanje parametara od resursa xOznaka.Text = r.Oznaka; xIme.Text = r.Ime; xOpis.Text = r.Opis; comboFrekv.SelectedIndex = r.Frekvencijaa; comboJedinica.SelectedIndex = r.JedinicaMjere; if (r.Eksploatacija == 1) //DA { eksploatacijaDA.IsChecked = true; } else if (r.Eksploatacija == -1) //ne { eksploatacijaNE.IsChecked = true; } if (r.StrateskaVaznost == 1)//da { StrateskaDa.IsChecked = true; } else if (r.StrateskaVaznost == -1) //ne { StrateskaNe.IsChecked = true; } if (r.Obnovljiv == 1)//da { ObnovljivDA.IsChecked = true; } else if (r.Obnovljiv == -1) //ne { ObnovljivNE.IsChecked = true; } xCijena.Text = r.Cijena; xDateField.SelectedDate = DateTime.Now; Path = r.imagePath; image.Source = new BitmapImage(new Uri(Path)); mojaSlika = true; tip_SelectionChanged(null, null); PotvrdiBtn.IsEnabled = true; tip.SelectedItem = r.TipResursa; this.Title = "Izmjena resursa"; }
private void Potvrdi_Click(object sender, RoutedEventArgs e) { int eksploatacija; if (eksploatacijaDA.IsChecked == true) { eksploatacija = 1; } else { eksploatacija = -1; } int obnovljiv; if (ObnovljivDA.IsChecked == true) { obnovljiv = 1; } else { obnovljiv = -1; } int strateskavaz; if (StrateskaDa.IsChecked == true) { strateskavaz = 1; } else { strateskavaz = -1; } DateTime d = datum; if (xDateField.SelectedDate == null) { MessageBox.Show("Datum ne smije biti prazan", "Unos resursa"); return; } if ((DateTime)xDateField.SelectedDate < DateTime.Now) { datum = (DateTime)xDateField.SelectedDate; } else { MessageBox.Show("Ne možete odabrati datum koji nije bio!", "Unos resursa"); return; } if (obradjivani == null) { Resurs temp = new Resurs { Ime = xIme.Text, Oznaka = xOznaka.Text, Opis = xOpis.Text, Frekvencijaa = comboFrekv.SelectedIndex, JedinicaMjere = comboJedinica.SelectedIndex, StrateskaVaznost = strateskavaz, Eksploatacija = eksploatacija, Obnovljiv = obnovljiv, Cijena = xCijena.Text, Datum = datum, imagePath = image.Source.ToString(), Etikete = IskorisceneEtikete, TipResursa = (TipResursa)tip.SelectedItem }; //obradjivani.imagePath = image.Source.ToString(); // Etikete = IskorisceneEtikete; TipResursa dodat = (TipResursa)tip.SelectedItem; //Resurs novi = new Resurs(xOznaka.Text, xIme.Text, xOpis.Text, image.Source.ToString(), xDateField.ToString(), xCijena.Text, comboFrekv.SelectedIndex, comboJedinica.SelectedIndex, obnovljiv, strateskavaz, eksploatacija, dodat); //TipResursa dodat = (TipResursa)tip.SelectedItem; //MainWindow.Resursi.Add(temp); //dodat.SadrzaniResursi.Add(temp); !!!!!! foreach (TipResursa tr in TipoviResursa) { if (dodat.Oznaka.Equals(tr.Oznaka)) { tr.SadrzaniResursi.Add(temp); } } MainWindow.Resursi.Add(temp); MessageBox.Show("Uspjesno dodat resurs!", "Resurs", MessageBoxButton.OK); } else //ZA IZMJENU { obradjivani.Ime = xIme.Text; obradjivani.Oznaka = xOznaka.Text; obradjivani.Opis = xOpis.Text; obradjivani.Frekvencijaa = comboFrekv.SelectedIndex; obradjivani.JedinicaMjere = comboJedinica.SelectedIndex; obradjivani.Obnovljiv = obnovljiv; obradjivani.Eksploatacija = eksploatacija; obradjivani.StrateskaVaznost = strateskavaz; //obradjivani.DatumOtkrivanja = xDateField.ToString(); obradjivani.Datum = datum; obradjivani.imagePath = image.Source.ToString(); obradjivani.Cijena = xCijena.Text; obradjivani.Etikete = IskorisceneEtikete; obradjivani.TipResursa.SadrzaniResursi.Remove(obradjivani); obradjivani.TipResursa = (TipResursa)tip.SelectedItem; obradjivani.TipResursa.SadrzaniResursi.Add(obradjivani); mains.xTree.ItemsSource = null; mains.xTree.ItemsSource = TipoviResursa; MessageBox.Show("Uspjesno izmijenjen resurs!", "Resurs", MessageBoxButton.OK); } this.Close(); }