private void UpdateListBox() { ListBox.Items.Clear(); foreach (ICartoObj o in PersonneConnectee.ObservableCollection) { if (o is POI) { POI p = o as POI; //ListBox.Items.Add("POI: " + p.Id + " / " + p.Description); ListBox.Items.Add(p); } if (o is Polyline) { Polyline p = o as Polyline; //ListBox.Items.Add("Trajet: " + p.Id); ListBox.Items.Add(p); } if (o is Polygon) { Polygon p = o as Polygon; //ListBox.Items.Add("Surface: " + p.Id); ListBox.Items.Add(p); } } }
private void tbStopAdd_Click(object sender, RoutedEventArgs e) { _stopAddPoi = true; if (comboNewElem.SelectedItem.ToString().Contains("POLYLINE")) { Carte.Children.Clear(); //afficher le trajet dans la fentetre de polyline FenetrePolyline fenetrePolyline = new FenetrePolyline(_polylineEnCour); fenetrePolyline.Owner = this; fenetrePolyline.ShowDialog(); if (fenetrePolyline.NewPolyline != null)//l'ajouter à la collection si on clique sur ok { _polylineEnCour.Epaisseur = fenetrePolyline.NewPolyline.Epaisseur; _polylineEnCour.Couleur = fenetrePolyline.NewPolyline.Couleur; _polylineEnCour.NomTrajet = fenetrePolyline.NewPolyline.NomTrajet; _polylineEnCour.CollectionDeCoordonnes = new List <Coordonnees>(fenetrePolyline.NewPolyline.CollectionDeCoordonnes); PersonneConnectee.ObservableCollection.Add(_polylineEnCour); afficherTrajet(_polylineEnCour); UpdateListBox(); } _stopAddPoi = false; tbStopAdd.Visibility = Visibility.Collapsed; _addPolylineEnCour = false; _polylineEnCour = null; } }
private void tbAfficher_Click(object sender, RoutedEventArgs e) { ICartoObj o = (ICartoObj)ListBox.SelectedItem; if (o == null) { MessageBox.Show("Aucun élément de la ListBox est sélectionné", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } else { Carte.Children.Clear(); if (o is POI) { POI p = o as POI; afficherPOI(p); } if (o is Polyline) { Polyline p = o as Polyline; afficherTrajet(p); } //if (o is Polygon) //{ // Polygon p = o as Polygon; //} } }
private void tbDetails_Click(object sender, RoutedEventArgs e) { ICartoObj o = (ICartoObj)ListBox.SelectedItem; string titreFenetre = "", messageFenetre = ""; if (o == null) { MessageBox.Show("Aucun élément de la ListBox est sélectionné", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } else { if (o is POI) { POI p = o as POI; titreFenetre = "Caractéristiques détaillées du POI sélectionné"; messageFenetre = p.Draw(); } if (o is Polyline) { Polyline p = o as Polyline; titreFenetre = "Caractéristiques détaillées du trajet (Polyline) sélectionné"; messageFenetre = p.Draw(); } if (o is Polygon) { Polygon p = o as Polygon; titreFenetre = "Caractéristiques détaillées de la surface (Polygon) sélectionné"; messageFenetre = p.Draw(); } MessageBox.Show(messageFenetre, titreFenetre, MessageBoxButton.OK, MessageBoxImage.Information); } }
private void ButtunOk_Click(object sender, RoutedEventArgs e) { UpdatePolylineActuel(); NewPolyline = PolylineActuel; Close(); }
private void afficherTrajet(Polyline trajet) { MapPolyline mapPolyline = new MapPolyline(); mapPolyline.Opacity = 0.7; mapPolyline.StrokeThickness = trajet.Epaisseur; SolidColorBrush couleurTrajet = new SolidColorBrush(trajet.Couleur); mapPolyline.Stroke = couleurTrajet; mapPolyline.Locations = new LocationCollection(); foreach (CartoObj o in trajet.CollectionDeCoordonnes) { if (o is POI) { POI p = o as POI; Pushpin pushpin = new Pushpin(); pushpin.ToolTip = p.Draw(); pushpin.Opacity = 0.7; pushpin.Location = new Location(p.Latitude, p.Longitude); pushpin.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red); Carte.Children.Add(pushpin); mapPolyline.Locations.Add(new Location(p.Latitude, p.Longitude)); } } Carte.Children.Add(mapPolyline); }
private void MenuFileTrajetExport_Click(object sender, RoutedEventArgs e) { bool erreurExport = false; ICartoObj o = (ICartoObj)ListBox.SelectedItem; if (o == null) { MessageBox.Show("Aucun élément de la ListBox est sélectionné", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } else { if (o is Polyline) { Polyline p = o as Polyline; SaveFileDialog saveFile = new SaveFileDialog(); saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); saveFile.Filter = "Fichier CSV files(*.csv) | *.csv"; saveFile.ShowDialog(); try { MyPersonalMapData.saveCSVtrajet(p, saveFile.FileName); } catch (CSVexception messageErreurSaveTrajet) { MessageBox.Show(messageErreurSaveTrajet.Message, "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); erreurExport = true; } if (!erreurExport) { MessageBox.Show("Exportation réussie", "", MessageBoxButton.OK, MessageBoxImage.Information); } } else { MessageBox.Show("L'élément sélectionné n'est pas un trajet (polyline)", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void Window_Loaded(object sender, RoutedEventArgs e) { //remplissage des possibilités de couleur de la comboBox foreach (PropertyInfo property in typeof(System.Drawing.Color).GetProperties(BindingFlags.Static | BindingFlags.Public)) { if (property.PropertyType == typeof(System.Drawing.Color)) { ComboBoxCouleurs.Items.Add(property.Name); } } PolylineActuel = new Polyline(); PolylineActuel.Id = _polylineDepart.Id; PolylineActuel.NomTrajet = _polylineDepart.NomTrajet; PolylineActuel.CollectionDeCoordonnes = new List <Coordonnees>(_polylineDepart.CollectionDeCoordonnes); PolylineActuel.Epaisseur = _polylineDepart.Epaisseur; PolylineActuel.Couleur = _polylineDepart.Couleur; NewPolyline = null; Couleur = FenetrePrincipale.GetColorName(PolylineActuel.Couleur); UpdateAffichage(); }
private void tbModifier_Click(object sender, RoutedEventArgs e) { bool modificationOK = false; ICartoObj o = (ICartoObj)ListBox.SelectedItem; if (o == null) { modificationOK = true; MessageBox.Show("Aucun élément de la ListBox est sélectionné", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } else { Carte.Children.Clear(); if (o is POI) { POI p = o as POI; fenetrePOI fenetrePOI = new fenetrePOI(p); fenetrePOI.Owner = this; fenetrePOI.ShowDialog(); if (fenetrePOI.NewPOI != null) { foreach (ICartoObj oInCollection in PersonneConnectee.ObservableCollection) { if (oInCollection is POI) { POI poiInCollection = oInCollection as POI; if (poiInCollection.Id == p.Id) { if (PersonneConnectee.ObservableCollection.Remove(poiInCollection)) { POI newPOI = new POI(); newPOI.Id = p.Id; newPOI.Latitude = fenetrePOI.NewPOI.Latitude; newPOI.Longitude = fenetrePOI.NewPOI.Longitude; newPOI.Description = fenetrePOI.NewPOI.Description; Console.WriteLine("DEBUG newPoi to string : " + newPOI.Draw()); PersonneConnectee.ObservableCollection.Add(newPOI); modificationOK = true; } break; } } } } else { modificationOK = true; } } if (o is Polyline) { Polyline p = o as Polyline; Console.WriteLine("DEBUG polyline dans modifier fenetre principale:\n" + p.Draw()); FenetrePolyline fenetrePolyline = new FenetrePolyline(p); fenetrePolyline.Owner = this; fenetrePolyline.ShowDialog(); if (fenetrePolyline.NewPolyline != null) { foreach (ICartoObj oInCollection in PersonneConnectee.ObservableCollection) { if (oInCollection is Polyline) { Polyline polylineInCollection = oInCollection as Polyline; if (polylineInCollection.Id == p.Id) { if (PersonneConnectee.ObservableCollection.Remove(polylineInCollection)) { Polyline newPolyline = new Polyline(); newPolyline.Id = p.Id; newPolyline.Epaisseur = fenetrePolyline.NewPolyline.Epaisseur; newPolyline.Couleur = fenetrePolyline.NewPolyline.Couleur; newPolyline.NomTrajet = fenetrePolyline.NewPolyline.NomTrajet; newPolyline.CollectionDeCoordonnes = new List <Coordonnees>(fenetrePolyline.NewPolyline.CollectionDeCoordonnes); PersonneConnectee.ObservableCollection.Add(newPolyline); modificationOK = true; } break; } } } } else { modificationOK = true; } } //} //if (o is Polygon) //{ // Polygon p = o as Polygon; // foreach (ICartoObj oInCollection in PersonneConnectee.ObservableCollection) // { // if (oInCollection is Polygon) // { // Polygon polygonInCollection = oInCollection as Polygon; // if (polygonInCollection.Id == p.Id) // { // if (PersonneConnectee.ObservableCollection.Remove(polygonInCollection)) // { // MessageBox.Show("Suppression du polyline OK", "", MessageBoxButton.OK, MessageBoxImage.Information); // suppressionOK = true; // } // break; // } // } // } //} UpdateListBox(); } if (!modificationOK) { MessageBox.Show("La modification à échouée", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void DeleteSelectItem_Click(object sender, RoutedEventArgs e) { bool suppressionOK = false; ICartoObj o = (ICartoObj)ListBox.SelectedItem; if (o == null) { suppressionOK = true; MessageBox.Show("Aucun élément de la ListBox est sélectionné", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } else { Carte.Children.Clear(); if (o is POI) { POI p = o as POI; foreach (ICartoObj oInCollection in PersonneConnectee.ObservableCollection) { if (oInCollection is POI) { POI poiInCollection = oInCollection as POI; if (poiInCollection.Id == p.Id) { if (PersonneConnectee.ObservableCollection.Remove(poiInCollection)) { MessageBox.Show("Suppression du POI OK", "", MessageBoxButton.OK, MessageBoxImage.Information); suppressionOK = true; } break; } } } } if (o is Polyline) { Polyline p = o as Polyline; foreach (ICartoObj oInCollection in PersonneConnectee.ObservableCollection) { if (oInCollection is Polyline) { Polyline polylineInCollection = oInCollection as Polyline; if (polylineInCollection.Id == p.Id) { if (PersonneConnectee.ObservableCollection.Remove(polylineInCollection)) { MessageBox.Show("Suppression du polyline OK", "", MessageBoxButton.OK, MessageBoxImage.Information); suppressionOK = true; } break; } } } } if (o is Polygon) { Polygon p = o as Polygon; foreach (ICartoObj oInCollection in PersonneConnectee.ObservableCollection) { if (oInCollection is Polygon) { Polygon polygonInCollection = oInCollection as Polygon; if (polygonInCollection.Id == p.Id) { if (PersonneConnectee.ObservableCollection.Remove(polygonInCollection)) { MessageBox.Show("Suppression du polyline OK", "", MessageBoxButton.OK, MessageBoxImage.Information); suppressionOK = true; } break; } } } } UpdateListBox(); } if (!suppressionOK) { MessageBox.Show("La suppresion à échouée", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void Map_DoubleClick(object sender, MouseEventArgs e) { e.Handled = true; if (comboNewElem.SelectedItem != null)//si on a sélectionné qqch dans la comboBox { //Get the mouse click coordinates Point mousePosition = e.GetPosition(Carte); //Convert the mouse coordinates to a locatoin on the map Location location = Carte.ViewportPointToLocation(mousePosition); if (comboNewElem.SelectedItem.ToString().Contains("POI")) { POI p = new POI(location.Latitude, location.Longitude, ""); fenetrePOI fenetrePOI = new fenetrePOI(p); fenetrePOI.Owner = this; fenetrePOI.ShowDialog(); if (fenetrePOI.NewPOI != null) { p.Latitude = fenetrePOI.NewPOI.Latitude; p.Longitude = fenetrePOI.NewPOI.Longitude; p.Description = fenetrePOI.NewPOI.Description; PersonneConnectee.ObservableCollection.Add(p); Carte.Children.Clear(); afficherPOI(p); UpdateListBox(); } } else if (comboNewElem.SelectedItem.ToString().Contains("POLYLINE")) { if (!_addPolylineEnCour) { _polylineEnCour = new Polyline(); _addPolylineEnCour = true; Carte.Children.Clear(); } tbStopAdd.Visibility = Visibility.Visible; if (!_stopAddPoi) { //ajouter des poi au trajet POI p = new POI(location.Latitude, location.Longitude, ""); fenetrePOI fenetrePOI = new fenetrePOI(p); fenetrePOI.Owner = this; fenetrePOI.ShowDialog(); if (fenetrePOI.NewPOI != null) { p.Latitude = fenetrePOI.NewPOI.Latitude; p.Longitude = fenetrePOI.NewPOI.Longitude; p.Description = fenetrePOI.NewPOI.Description; _polylineEnCour.CollectionDeCoordonnes.Add(p); afficherPOI(p); } } //else --> dans tbStopAdd_Click } } }
public FenetrePolyline(Polyline newPolyline) { InitializeComponent(); _polylineDepart = newPolyline; DataContext = this; }
private void ButtonAppliquer_Click(object sender, RoutedEventArgs e) { UpdatePolylineActuel(); NewPolyline = PolylineActuel; }
private void ButtonClose_OnClick(object sender, RoutedEventArgs e) { NewPolyline = null; Close(); }