public UpravljanjeIkonicama(MainWindow mw, Manifestacija manifest) { this.mainWindow = mw; this.Manifestacija = manifest; InitializeComponent(); this.DataContext = this; }
private void ListView_MouseMove(object sender, MouseEventArgs e) { Point mousePos = e.GetPosition(null); Vector diff = startPoint - mousePos; if (e.LeftButton == MouseButtonState.Pressed && (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)) { try { // Get the dragged ListViewItem ListView listView = sender as ListView; ListViewItem listViewItem = FindAncestor <ListViewItem>((DependencyObject)e.OriginalSource); // Find the data behind the ListViewItem Manifestacija manifest = (Manifestacija)listView.ItemContainerGenerator. ItemFromContainer(listViewItem); // Initialize the drag & drop operation DataObject dragData = new DataObject(manifest); DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Move); } catch { } } }
private void button2_Click(object sender, RoutedEventArgs e) { if (idOdSelektovanog.Text != "") { Manifestacija man = new Manifestacija(); for (int i = 0; i < listaManifest.Count; i++) { if (listaManifest.ElementAt(i).ID.Equals(idOdSelektovanog.Text)) { man = listaManifest.ElementAt(i); } } var s = new IzmenaManifestacije(mainWindow, man); s.ShowDialog(); dgrMain.Items.Refresh(); dgrMain.SelectedItem = null; mainWindow.MemorisiManifestacije(); } }
private void Button_Click(object sender, RoutedEventArgs e) { p = 0; Manifestacija man = new Manifestacija(); man.etiketa = new ObservableCollection <Etiketa>(); for (int k = 0; k < listaManifestacija.Count; k++) { if (idMan.Text == listaManifestacija.ElementAt(k).ID) { p = 1; } } if (idMan.Text == "") { GreskaID = "Morate uneti ID!"; GreskaDatum = ""; GreskaNaziv = ""; } else if (p == 1 && Q == 1) { GreskaID = "Postojeci ID!"; GreskaDatum = ""; GreskaNaziv = ""; } else if (nazivMan.Text == "") { GreskaID = ""; GreskaDatum = ""; GreskaNaziv = "Morate uneti naziv!"; } else if (datumMan.SelectedDate == null) { GreskaNaziv = ""; GreskaID = ""; GreskaDatum = "Morate uneti datum!"; } else if (ikonica == false) { GreskaIkonica = "Morate uneti ikonicu!"; } else { man.ID = idMan.Text; man.Naziv = nazivMan.Text; man.opis = opisMan.Text; if (tipMan.SelectedIndex == -1) { } else { man.tip = SelektovaniTip; man.tipovId = SelektovaniTip.ime; man.ikonicaTi = SelektovaniTip.ikonica; man.pathT = SelektovaniTip.path; } if ((bool)dozvoljeno.IsChecked) { man.alkohol = "Dozvoljeno"; } else { man.alkohol = "Nedozvoljeno"; } man.Cene = (String)cenaMan.Text; if (man.Cene.Equals("Odaberite")) { man.Cene = ""; } man.hendikep = (bool)hendikepiraniMan.IsChecked; man.pusenje = (bool)pusenjeMan.IsChecked; if ((bool)napolje.IsChecked) { man.napoljuUnutra = "Napolju"; } else { man.napoljuUnutra = "Unutra"; } man.Datum = (DateTime)datumMan.SelectedDate; man.ocekivanePublike = (String)publikeMan.Text; for (int i = 0; i < listBoxTagovi.Count; i++) { man.etiketa.Add(listBoxTagovi.ElementAt(i)); } man.dragovan = false; man.ikonicaMa = ikonicaMan.Source; man.pathM = url1; //manifestZaDodavanje = new Manifestacija(); //manifestZaDodavanje = man; mainWindow.manifestacije.Add(man); mainWindow.manifestacijeZaDrag.Add(man); Exit1 = 2; mainWindow.MemorisiManifestacije(); // pravim novu listu etiketa i dodajem u nju sve iz leve i desne liste tagova mainWindow.etikete = null; mainWindow.etikete = new ObservableCollection <Etiketa>(); for (int i = 0; i < listaEtiketa.Count; i++) { _pomocnaEtiketa = listaEtiketa.ElementAt(i); mainWindow.etikete.Add(_pomocnaEtiketa); } for (int i = 0; i < listBoxTagovi.Count; i++) { _pomocnaEtiketa = listBoxTagovi.ElementAt(i); mainWindow.etikete.Add(_pomocnaEtiketa); } this.Close(); } }
//ovo je glavni deo za drag and drop i dodavanje dece na kanvas private void ListView_Drop(object sender, DragEventArgs e) { if (e.Data.GetData(typeof(Manifestacija)) != null) { Manifestacija manu = e.Data.GetData(typeof(Manifestacija)) as Manifestacija; ImageSource image = manu.ikonicaMa; //manu.dragovan = true; //Image imageControl = new Image() { Name = manu.ID, Source = image }; rect = new Rectangle { Stroke = Brushes.LightBlue, StrokeThickness = 2 }; rect.Name = manu.ID; rect.Height = image.Height; rect.Width = image.Width; rect.Fill = new ImageBrush(image); Canvas.SetLeft(rect, e.GetPosition(c).X - 11); Canvas.SetTop(rect, e.GetPosition(c).Y - 11); if (manu.dragovan == false) { if (DaLiSeSeku(e.GetPosition(c).X - 11, e.GetPosition(c).Y - 11, rect)) { c.Children.Add(rect); manu.dragovan = true; manu.pozicijaX = e.GetPosition(c).X - 11; manu.pozicijaY = e.GetPosition(c).Y - 11; } } // manifestacijeZaDrag.Remove(manu); // MemorisiManifestacije(); //Canvas.SetLeft(imageControl, e.GetPosition(c).X-11); //Canvas.SetTop(imageControl, e.GetPosition(c).Y-11); //if (manu.dragovan == false) //{ // c.Children.Add(imageControl); // manu.dragovan = true; //} MemorisiManifestacije(); } else if (e.Data.GetData(typeof(Rectangle)) != null) { Rectangle image = e.Data.GetData(typeof(Rectangle)) as Rectangle; if (c.Children.Contains(image)) { // c.Children.Remove(image); foreach (Manifestacija m in manifestacije) { if (m.ID.Equals(image.Name)) { if (!DaLiSeSeku(e.GetPosition(c).X - 11, e.GetPosition(c).Y - 11, image)) { break; } else if (DaLiSeSeku(e.GetPosition(c).X - 11, e.GetPosition(c).Y - 11, image)) { Canvas.SetLeft(image, e.GetPosition(c).X - 11); Canvas.SetTop(image, e.GetPosition(c).Y - 11); m.pozicijaX = e.GetPosition(c).X - 11; m.pozicijaY = e.GetPosition(c).Y - 11; MemorisiManifestacije(); } } } //c.Children.Add(image); } } }