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)) { // Get the dragged ListViewItem ListView listView = sender as ListView; ListViewItem listViewItem = FindAncestor <ListViewItem>((DependencyObject)e.OriginalSource); // Find the data behind the ListViewItem if (listView.SelectedItem == null) { return; } Manifestacija m = (Manifestacija)listView.ItemContainerGenerator. ItemFromContainer(listViewItem); // Initialize the drag & drop operation DataObject dragData = new DataObject("Manifestacija", m); DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Move); } }
private void TextBox_TextChanged_1(object sender, TextChangedEventArgs e) { System.Windows.Controls.TextBox textbox = sender as System.Windows.Controls.TextBox; string filter = textbox.Text; ICollectionView cv = CollectionViewSource.GetDefaultView(manif); if (filter == "") { cv.Filter = null; } else { cv.Filter = o => { Manifestacija man = o as Manifestacija; string[] words = filter.Split(' '); if (words.Contains("")) { words = words.Where(word => word != "").ToArray(); } return(words.Any(word => man.Naziv.ToUpper().Contains(word.ToUpper()))); }; dgrMain.ItemsSource = manif; } }
private void Map_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("manifestation")) { Point dropPosition = e.GetPosition(Map); Manifestacija manifestationPin = e.Data.GetData("manifestation") as Manifestacija; Manifestacija manifestationOnThatPosition = Manifestation_Click((int)dropPosition.X, (int)dropPosition.Y); if (manifestationOnThatPosition != null && !manifestationPin.Id.Equals(manifestationOnThatPosition.Id)) { manifestationPin.X = (int)dropPosition.X + 35; manifestationPin.Y = (int)dropPosition.Y + 35; } // if it is close to the edge, move it a little bit else if ((int)dropPosition.Y > -30 && (int)dropPosition.Y < 10) { manifestationPin.X = (int)dropPosition.X - 35; manifestationPin.Y = (int)dropPosition.Y + 17; } else if ((int)dropPosition.X > -30 && (int)dropPosition.X < 10) { manifestationPin.X = (int)dropPosition.X + 17; manifestationPin.Y = (int)dropPosition.Y - 35; } else { manifestationPin.X = (int)dropPosition.X - 35; manifestationPin.Y = (int)dropPosition.Y - 35; } Database.UpdateManifestation(manifestationPin.Id, manifestationPin); ManifestationPins_Draw(); } }
private void btnObrisi_Click(object sender, RoutedEventArgs e) { Manifestacija m = null; if (dgrMain.SelectedValue is Manifestacija) { MessageBoxResult result = System.Windows.MessageBox.Show("Da li ste sigurni da želite da obrišete manifestaciju?", "Brisanje manifestacije", MessageBoxButton.YesNo); switch (result) { case MessageBoxResult.Yes: m = (Manifestacija)dgrMain.SelectedValue; baza.brisanjeManifestacije(m); Manif = baza.Manifestacije; break; case MessageBoxResult.No: break; case MessageBoxResult.Cancel: break; } } else { System.Windows.MessageBox.Show("Niste odabrali manifestaciju za brisanje!", "Brisanje manifestacije"); } }
private void ObrisiBtn_Click(object sender, RoutedEventArgs e) { Manifestacija m = (Manifestacija)listViewManifestacije.SelectedItem; /* Image selektovana = new Image(); * * foreach (Image img in canvasMap.Children) * { * if (m.OznakaManifestacije.Equals(img.Tag)) * { * selektovana = img; * } * }*/ Image selektovana = null; foreach (var img in canvasMap.Children) { foreach (Manifestacija manif in manifestacije) { /*if (manif.OznakaManifestacije.Equals(img.Tag)) * { * selektovana = img; * break; * } */ } } canvasMap.Children.Remove(selektovana); // manifestacije.Remove(m); }
private void Edit_Click(object sender, RoutedEventArgs e) { Manifestacija selekt1 = (Manifestacija)lista.SelectedItem; Manifestacija selekt2 = (Manifestacija)MapaGrada.SelectedItem; if ((selekt1 != null && selekt2 != null) || lista.SelectedItems.Count > 1 || MapaGrada.SelectedItems.Count > 1) { MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Cannot edit multiple items. Please select only one.", "Error", System.Windows.MessageBoxButton.OK); } else { if (selekt1 != null) { ManifestacijaWindow dv = new ManifestacijaWindow(this, true, selekt1); //true jer se edituje dv.ShowDialog(); } else if (selekt2 != null) { ManifestacijaWindow dv = new ManifestacijaWindow(this, true, selekt2); //true jer se edituje dv.ShowDialog(); } } saveMapEvents(aktivnaMapa); }
/* ----------- KONSTRUKTOR KOJI SE KORISTI KOD IZMENE MANIFESTACIJE ----------- */ public UnosManifestacija(Manifestacija staraM) { WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; //centriranje prozora staraManifestacija = staraM; staraManifestacijaOznaka = staraM.Oznaka; novaManifestacija = new Manifestacija(staraM); InitializeComponent(); tipCmbBox.ItemsSource = ((MainWindow)Application.Current.Windows[0]).TipoviManifestacija; //tipCmbBox.SelectedIndex = 0; mestoCmbBox.ItemsSource = Enum.GetValues(typeof(TipMesto)); alkCmbBox.ItemsSource = Enum.GetValues(typeof(TipAlkohol)); cenaCmbBox.ItemsSource = Enum.GetValues(typeof(TipCena)); listbox.ItemsSource = novaManifestacija.ListaEtiketa; this.DataContext = novaManifestacija; nastavak.Visibility = Visibility.Collapsed; mestoCmbBox.ItemsSource = listaMesta; alkCmbBox.ItemsSource = listaAlkohol; cenaCmbBox.ItemsSource = listaCena; //fokus je na prvom polju za popunjavanje oznTxtBox.Focus(); Keyboard.Focus(oznTxtBox); }
/* ----------- KONSTRUKTOR KOJI SE KORISTI KAD SE KREIRA MANIFESTACIJA IZ GLAVNOG PROZORA ----------- */ public UnosManifestacija() { WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; //centriranje prozora novaManifestacija = new Manifestacija() { DatumOdrzavanja = DateTime.Now }; //postavi datum na trenutni InitializeComponent(); tipCmbBox.ItemsSource = ((MainWindow)Application.Current.Windows[0]).TipoviManifestacija; //tipCmbBox.SelectedIndex = 0; listbox.ItemsSource = novaManifestacija.ListaEtiketa; this.DataContext = novaManifestacija; mestoCmbBox.ItemsSource = listaMesta; alkCmbBox.ItemsSource = listaAlkohol; cenaCmbBox.ItemsSource = listaCena; //fokus je na prvom polju za popunjavanje oznTxtBox.Focus(); Keyboard.Focus(oznTxtBox); }
/* ----------- POTVRDA I DODAVANJE/IZMENA MANIFESTACIJE ----------- */ private void PotvrdiClick(object sender, RoutedEventArgs e) { if (staraManifestacija == null) { if (!dodataIkonica) //uzima se ikonica tipa kao default ikonica, ako korisnik nije izabrao svoju { novaManifestacija.Ikonica = ((TipManifestacije)tipCmbBox.SelectedItem).Ikonica; } ((MainWindow)Application.Current.Windows[0]).addManifestacija(novaManifestacija); //kreiranje i dodavanje u listu svih manifestacija ((TipManifestacije)tipCmbBox.SelectedItem).ListaManifestacija.Add(novaManifestacija); //dodavanje u listu manifestacija izabranog tipa } else { //izmena iz liste svih manifestacija int ind1 = ((MainWindow)Application.Current.Windows[0]).Manifestacije.IndexOf(staraManifestacija); ((MainWindow)Application.Current.Windows[0]).Manifestacije.RemoveAt(ind1); ((MainWindow)Application.Current.Windows[0]).Manifestacije.Insert(ind1, novaManifestacija); int ind2 = staraManifestacija.Tip.ListaManifestacija.IndexOf(staraManifestacija); staraManifestacija.Tip.ListaManifestacija.RemoveAt(ind2); if (staraManifestacija.Tip.Oznaka.Equals(novaManifestacija.Tip.Oznaka)) //ako ostaje u istom tipu manifestacije { staraManifestacija.Tip.ListaManifestacija.Insert(ind2, novaManifestacija); } else //ako menja tip manifestacije { novaManifestacija.Tip.ListaManifestacija.Add(novaManifestacija); } if (((MainWindow)Application.Current.Windows[0]).ManifestacijeNaMapi.Contains(staraManifestacija)) //ako se nalazi na mapi { int ind3 = ((MainWindow)Application.Current.Windows[0]).ManifestacijeNaMapi.IndexOf(staraManifestacija); ((MainWindow)Application.Current.Windows[0]).ManifestacijeNaMapi.RemoveAt(ind3); ((MainWindow)Application.Current.Windows[0]).ManifestacijeNaMapi.Insert(ind3, novaManifestacija); } } if (((Button)sender).Name.Equals("nastavak")) { novaManifestacija = new Manifestacija() { DatumOdrzavanja = DateTime.Now }; listbox.ItemsSource = novaManifestacija.ListaEtiketa; this.DataContext = novaManifestacija; oznTxtBox.Focus(); Keyboard.Focus(oznTxtBox); } else { this.Close(); } }
private void Map_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { Point mousePosition = e.GetPosition(Map); ClickedManifestation = Manifestation_Click((int)mousePosition.X, (int)mousePosition.Y); if (ClickedManifestation != null) { var Map = sender as Canvas; Map.ContextMenu.IsOpen = true; } }
public static void UpdateManifestation(string oldId, Manifestacija manifestation) { for (int i = 0; i < getInstance().Manifestations.Count; i++) { if (oldId.Equals(getInstance().Manifestations[i].Id)) { getInstance().Manifestations[i] = manifestation; // SaveManifestations(); break; } } }
public static void DeleteManifestation(Manifestacija manifestation) { for (int i = 0; i < getInstance().Manifestations.Count; i++) { if (manifestation.Id.Equals(getInstance().Manifestations[i].Id)) { getInstance().Manifestations.RemoveAt(i); // SaveManifestations(); break; } } }
public static Manifestacija PretragaPoNazivu(string naziv) { Manifestacija retVal = null; foreach (Manifestacija m in manifestacije) { if (m.ImeManifestacije.Equals(naziv)) { retVal = m; } } return(retVal); }
private void Delete_Click(object sender, RoutedEventArgs e) { if ((lista.SelectedItems.Count + MapaGrada.SelectedItems.Count) > 1) { MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure you want to delete all the selected events?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.Yes) { Manifestacija selekt = (Manifestacija)MapaGrada.SelectedItem; if (selekt != null) { ManifestacijeNaMapi.Remove(selekt); } foreach (Manifestacija m in lista.SelectedItems) { ListaManifestacija.Manifestacije.Remove(m.ID); } this.setManifestacijeItems(); saveMapEvents(aktivnaMapa); return; } else { return; } } MessageBoxResult messageBoxResult1 = System.Windows.MessageBox.Show("Are you sure you want to delete selected event?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo); if (messageBoxResult1 == MessageBoxResult.Yes) { if (lista.SelectedItems.Count > 0) { Manifestacija selekt = (Manifestacija)lista.SelectedItem; ListaManifestacija.Manifestacije.Remove(selekt.ID); foreach (Etiketa etiketa in selekt.Etikete) { ListaEtiketa.Etikete.Remove(etiketa.ID); } this.setManifestacijeItems(); } if (MapaGrada.SelectedItems.Count > 0) { Manifestacija selekt = (Manifestacija)MapaGrada.SelectedItem; ManifestacijeNaMapi.Remove(selekt); foreach (Etiketa etiketa in selekt.Etikete) { ListaEtiketa.Etikete.Remove(etiketa.ID); } saveMapEvents(aktivnaMapa); } } }
private void ListViewItem_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) { Manifestacija selekt = (Manifestacija)lista.SelectedItem; var item = sender as ListViewItem; if (item != null && item.IsSelected) { if (ListaManifestacija.Manifestacije.ContainsKey(selekt.ID)) { ManifestacijaWindow rsv = new ManifestacijaWindow(this, true, selekt); rsv.ShowDialog(); } } }
private void ManifestacijeNaMapi_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("manifestacijaDrag")) { Manifestacija man = e.Data.GetData("manifestacijaDrag") as Manifestacija; man.Tacka = e.GetPosition(Mapa); if (!ManifestacijeNaMapi.Contains(man)) { ManifestacijeNaMapi.Add(man); } //man.Tip.ListaManifestacija.Remove(man); isDragging = false; } }
public ActionResult Manifestacija(string ID) { List <Manifestacija> manifesta = Baza.UcitajManifestacije(); Manifestacija man = new Manifestacija(); foreach (var item in manifesta) { if (ID == item.Id) { man = item; } } ViewBag.Manifestacija = man; return(View()); }
private void Tree_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("manifestacijaDrag")) { Manifestacija man = e.Data.GetData("manifestacijaDrag") as Manifestacija; if (man.Tacka.X != -1) { ManifestacijeNaMapi.Remove(man); man.Tacka = new Point(-1, -1); //man.Tip.ListaManifestacija.Add(man); } isDragging = false; } }
private void CanvasMap_DragEnter(object sender, DragEventArgs e) { if (!e.Data.GetDataPresent("Manifestacija") || sender == e.Source) { e.Effects = DragDropEffects.None; } Manifestacija m = e.Data.GetData("Manifestacija") as Manifestacija; /* if (m.IndeksNaMapi != 0) * { * e.Effects = DragDropEffects.None; * System.Windows.MessageBox.Show("Ikonica te manifestacije već se nalazi na mapi.", "Neuspješno!"); * * }*/ }
//DRAG AND DROP private void Map_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Point mousePosition = e.GetPosition(Map); ClickedManifestation = Manifestation_Click((int)mousePosition.X, (int)mousePosition.Y); if (e.ChangedButton == MouseButton.Left && e.ClickCount == 2) { if (ClickedManifestation != null) { Database.getInstance().SelectedManifestation = ClickedManifestation; EditManifestacija edit = new EditManifestacija(); edit.Show(); } } }
private void Row_DoubleClick(object sender, MouseButtonEventArgs e) { if (trenutniPanel == pnlManif) { Manifestacija selekt = (Manifestacija)tabelaManif.SelectedItem; var item = sender as DataGridRow; if (item != null && item.IsSelected) { if (ListaManifestacija.Manifestacije.ContainsKey(selekt.ID)) { ManifestacijaWindow rsv = new ManifestacijaWindow(this, true, selekt); rsv.ShowDialog(); return; } } } else if (trenutniPanel == pnlTipoviManif) { TipManifestacije selekt = (TipManifestacije)tabelaTipoviManif.SelectedItem; var item = sender as DataGridRow; if (item != null && item.IsSelected) { if (ListaTipManifestacijecs.TipoviManifestacija.ContainsKey(selekt.ID)) { TipManifestacijeWindow rsv = new TipManifestacijeWindow(this, true, selekt); rsv.ShowDialog(); return; } } } else if (trenutniPanel == pnlEtikete) { Etiketa selekt = (Etiketa)tabelaEtikete.SelectedItem; var item = sender as DataGridRow; if (item != null && item.IsSelected) { if (ListaEtiketa.Etikete.ContainsKey(selekt.ID)) { EtiketaWindow rsv = new EtiketaWindow(this, true, selekt); rsv.ShowDialog(); return; } } } }
private void ObrisiBtn_Click(object sender, RoutedEventArgs e) { Manifestacija zaBrisanje = new Manifestacija(); foreach (Manifestacija m in MainWindow.manifestacije) { if (m.TipManifestacijeStr == ((TipKomponenta)listaTipova.SelectedItem).Naziv_Tipa) { zaBrisanje = m; } } MainWindow.manifestacije.Remove(zaBrisanje); MainWindow.Lista1.RemoveAt(listaTipova.SelectedIndex); }
private void StartDragMapa(MouseEventArgs e) { if (Mapa.SelectedItem is Manifestacija) //zbog null, ako je neko krenuo da vuce po mapi bezveze { isDragging = true; Manifestacija selectedItem = (Manifestacija)Mapa.SelectedItem; ListBoxItem lwi = (ListBoxItem)Mapa.ItemContainerGenerator.ContainerFromItem(selectedItem); // Initialize the drag & drop operation DataObject dragData = new DataObject("manifestacijaDrag", selectedItem); if (isDragging == true) { DragDrop.DoDragDrop(lwi, dragData, DragDropEffects.Move); } isDragging = false; } }
private void Tree_DragOver(object sender, DragEventArgs e) { if (!e.Data.GetDataPresent("manifestacijaDrag")) { 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 { Manifestacija man = e.Data.GetData("manifestacijaDrag") as Manifestacija; if (man.Tacka.X == -1) { e.Effects = DragDropEffects.None; e.Handled = true; } } }
private void Lista_PreviewMouseMove(object sender, MouseEventArgs e) { Point position = e.GetPosition(null); Vector diff = startPoint - position; if (e.LeftButton == MouseButtonState.Pressed && (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance) && lista.SelectedItem is Manifestacija) { Manifestacija selectedMan = (Manifestacija)lista.SelectedItem; ListViewItem tvi = lista.Tag as ListViewItem; DataObject dragData = new DataObject("manifestacija", selectedMan); DragDrop.DoDragDrop(tvi, dragData, DragDropEffects.Move); } }
private void Mapa_Grada_PreviewMouseMove(object sender, MouseEventArgs e) { Point position = e.GetPosition(null); Vector diff = startPoint - position; if (e.LeftButton == MouseButtonState.Pressed && (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance) && MapaGrada.SelectedItem is Manifestacija) { Manifestacija selectedItem = (Manifestacija)MapaGrada.SelectedItem; ListBoxItem listBoxItem = (ListBoxItem)MapaGrada.ItemContainerGenerator.ContainerFromItem(selectedItem); DataObject dragData = new DataObject("manifestacijaMapa", selectedItem); DragDrop.DoDragDrop(listBoxItem, dragData, DragDropEffects.Move); } }
public bool TextFilter(object o) { Manifestacija m = (o as Manifestacija); if (m == null) { return(false); } if (m.Oznaka.Contains(searchBox.Text)) { return(true); } else { return(false); } }
private void Map_MouseMove(object sender, MouseEventArgs e) { Point mousePosition = e.GetPosition(Map); Vector diff = startPoint - mousePosition; if (e.LeftButton == MouseButtonState.Pressed && (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)) { Manifestacija manifestation = Manifestation_Click((int)mousePosition.X, (int)mousePosition.Y); if (manifestation != null) { DataObject dragData = new DataObject("manifestation", manifestation); DragDrop.DoDragDrop(Map, dragData, DragDropEffects.Move); } } }
private void StartDrag(MouseEventArgs e) { if (stablo.SelectedItem is Manifestacija) //da ne bi moglo nesto drugo da se drag-uje { isDragging = true; Manifestacija selectedMan = (Manifestacija)stablo.SelectedItem; TreeViewItem tvi = stablo.Tag as TreeViewItem; DataObject dragData = new DataObject("manifestacijaDrag", selectedMan); if (isDragging == true) { DragDrop.DoDragDrop(tvi, dragData, DragDropEffects.Move); } isDragging = false; } }
public Window1() { slika = null; datum = DateTime.Today; Alkohol = new ObservableCollection <string>(); Alkohol.Add("Nema alkohola"); Alkohol.Add("Može se doneti alkohol"); Alkohol.Add("Može se kupiti alkohol"); Mesto = new ObservableCollection <string>(); Mesto.Add("Na otvorenom"); Mesto.Add("Na zatvorenom"); Publika = new ObservableCollection <string>(); Publika.Add("Mladi"); Publika.Add("Sredovečni"); Publika.Add("Stariji"); Cena = new ObservableCollection <string>(); Cena.Add("Besplatno"); Cena.Add("Niske cene"); Cena.Add("Srednje cene"); Cena.Add("Visoke cene"); etikete = new ObservableCollection <Etiketa>(); tip = new Tip(); m = new Manifestacija(); InitializeComponent(); WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; //glavni prozor se prikazuje u centru this.DataContext = this; baza = new BazaPodataka(); baza.ucitajEtikete(); baza.ucitajTipove(); slika = ""; }