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(); } }
private void ButtonValidate_Click(object sender, EventArgs e) { BLPGON.Add(currentPolygon); currentPolyline = new Polyline(); currentPolygon = new Polygon(); InpresMapPB.Invalidate(); }
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(); }
private void PGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { InpresMapPB.Invalidate(); }
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(); } } } }