Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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;

                //}
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        private void ButtunOk_Click(object sender, RoutedEventArgs e)
        {
            UpdatePolylineActuel();
            NewPolyline = PolylineActuel;

            Close();
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
                }
            }
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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
                }
            }
        }
Ejemplo n.º 12
0
 public FenetrePolyline(Polyline newPolyline)
 {
     InitializeComponent();
     _polylineDepart = newPolyline;
     DataContext     = this;
 }
Ejemplo n.º 13
0
 private void ButtonAppliquer_Click(object sender, RoutedEventArgs e)
 {
     UpdatePolylineActuel();
     NewPolyline = PolylineActuel;
 }
Ejemplo n.º 14
0
 private void ButtonClose_OnClick(object sender, RoutedEventArgs e)
 {
     NewPolyline = null;
     Close();
 }