コード例 #1
0
 private void DeleteButton_Click(object sender, EventArgs e)
 {
     if (PGrid.SelectedObject != null)
     {
         if (PGrid.SelectedObject is POI)
         {
             foreach (Polyline unePolyline in BLPLINE)
             {
                 foreach (POI unPOI in unePolyline.ListPOI)
                 {
                     if (unPOI.Id == (PGrid.SelectedObject as POI).Id)
                     {
                         unePolyline.ListPOI.Remove(unPOI);
                         break;
                     }
                 }
             }
             BLPOI.Remove(PGrid.SelectedObject as POI);
         }
         if (PGrid.SelectedObject is Polyline)
         {
             foreach (POI unPOI in (PGrid.SelectedObject as Polyline).ListPOI)
             {
                 BLPOI.Remove(unPOI);
             }
             BLPLINE.Remove(PGrid.SelectedObject as Polyline);
         }
         if (PGrid.SelectedObject is Polygon)
         {
             BLPGON.Remove(PGrid.SelectedObject as Polygon);
         }
         PGrid.SelectedObject = null;
         InpresMapPB.Invalidate();
     }
 }
コード例 #2
0
 private void ButtonValidate_Click(object sender, EventArgs e)
 {
     BLPGON.Add(currentPolygon);
     currentPolyline = new Polyline();
     currentPolygon  = new Polygon();
     InpresMapPB.Invalidate();
 }
コード例 #3
0
 private void PolygonLB_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (PGrid.SelectedObject != null)
     {
         (PGrid.SelectedObject as CartoObj).Largeur = largeurForm;
     }
     if (PolygonLB.SelectedItem != null)
     {
         Deselection(3);
         PGrid.SelectedObject = PolygonLB.SelectedItem;
         (PGrid.SelectedObject as CartoObj).Largeur += 4;
     }
     InpresMapPB.Invalidate();
 }
コード例 #4
0
 private void PGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
 {
     InpresMapPB.Invalidate();
 }
コード例 #5
0
        private void InpresMapPB_MouseClick(object sender, MouseEventArgs e)
        {
            if (CreateMI.Checked == true && PoiTB.Checked == true)
            {
                POI unPOI = new POI(e.Y, e.X, DescriptionTB.Text, ColorButton.BackColor, largeurForm);
                BLPOI.Add(unPOI);
                InpresMapPB.Invalidate();
            }
            else if (CreateMI.Checked == true && PolylineTB.Checked == true)
            {
                POI polyPOI = new POI(e.Y, e.X, DescriptionTB.Text, ColorButton.BackColor, largeurForm);
                currentPolyline.Colour = ColorButton.BackColor;
                currentPolyline.AddPOI(polyPOI);
                BLPOI.Add(polyPOI);
                if (e.Button == MouseButtons.Right)
                {
                    BLPLINE.Add(currentPolyline);
                    currentPolyline = new Polyline();
                }
                InpresMapPB.Invalidate();
            }
            else if (CreateMI.Checked == true && PolygonTB.Checked == true)
            {
                ButtonValidate.Visible = true;
                POI gonPOI = new POI(e.Y, e.X, DescriptionTB.Text, ColorButton.BackColor, largeurForm);
                currentPolygon.Colour  = ColorButton.BackColor;
                currentPolyline.Colour = ColorButton.BackColor;
                currentPolyline.AddPOI(gonPOI);
                BLPOI.Add(gonPOI);
                if (e.Button == MouseButtons.Right)
                {
                    currentPolygon.AddPolyline(currentPolyline);
                    BLPLINE.Add(currentPolyline);
                    currentPolyline = new Polyline();
                }
                InpresMapPB.Invalidate();
            }

            if (SelectMI.Checked == true)
            {
                // POI
                int  i = 0;
                bool cartoObjTrouve = false;
                DeleteButton.Enabled = true;
                for (i = 0; (i < BLPOI.Count) && cartoObjTrouve == false; i++)
                {
                    if (BLPOI[i].IsPointClose(e.X, e.Y, precisionForm) == true)
                    {
                        cartoObjTrouve = true;
                    }
                }
                if (cartoObjTrouve == true)
                {
                    if (PGrid.SelectedObject != null)
                    {
                        (PGrid.SelectedObject as CartoObj).Largeur = largeurForm;
                    }
                    PGrid.SelectedObject = BLPOI[i - 1];
                    (PGrid.SelectedObject as CartoObj).Largeur += 4;
                    InpresMapPB.Invalidate();
                }
                else
                {
                    // Polyline
                    cartoObjTrouve = false;
                    for (i = 0; i < (BLPLINE.Count) && cartoObjTrouve == false; i++)
                    {
                        if (BLPLINE[i].IsPointClose(e.X, e.Y, precisionForm) == true)
                        {
                            cartoObjTrouve = true;
                        }
                    }
                    if (cartoObjTrouve == true)
                    {
                        if (PGrid.SelectedObject != null)
                        {
                            (PGrid.SelectedObject as CartoObj).Largeur = largeurForm;
                        }
                        PGrid.SelectedObject = BLPLINE[i - 1];
                        (PGrid.SelectedObject as CartoObj).Largeur += 4;
                        currentX = e.X;
                        currentY = e.Y;
                        InpresMapPB.Invalidate();
                    }
                    else
                    {
                        // Polygon
                        cartoObjTrouve = false;
                        for (i = 0; i < (BLPGON.Count) && cartoObjTrouve == false; i++)
                        {
                            if (BLPGON[i].IsPointClose(e.X, e.Y, precisionForm) == true)
                            {
                                cartoObjTrouve = true;
                            }
                        }
                        if (cartoObjTrouve == true)
                        {
                            if (PGrid.SelectedObject != null)
                            {
                                (PGrid.SelectedObject as CartoObj).Largeur = largeurForm;
                            }
                            PGrid.SelectedObject = BLPGON[i - 1];
                            (PGrid.SelectedObject as CartoObj).Largeur += 4;
                            InpresMapPB.Invalidate();
                        }
                    }
                }
            }

            if (MoveMI.Checked == true)
            {
                if (PGrid.SelectedObject != null)
                {
                    if (PGrid.SelectedObject is POI)
                    {
                        (PGrid.SelectedObject as POI).Long = e.X;
                        (PGrid.SelectedObject as POI).Lat  = e.Y;
                        InpresMapPB.Invalidate();
                    }
                    if (PGrid.SelectedObject is Polyline)
                    {
                        // Decalage de chaque points
                        foreach (POI unPOI in (PGrid.SelectedObject as Polyline).ListPOI)
                        {
                            unPOI.Lat  = unPOI.Lat - (currentY - e.Y);
                            unPOI.Long = unPOI.Long - (currentX - e.X);
                        }
                        currentX = e.X;
                        currentY = e.Y;
                        InpresMapPB.Invalidate();
                    }
                }
            }
        }