private void HandleSimpleEdgeTypeChange(EdgeType edgeType, int lenght, string errorMessage) { if (inputHandler.SelectedElement is Edge selectedEdge) { if (inputHandler.SelectedPolygon.ChangeEdgeType(selectedEdge, edgeType, lenght)) { UpdateButtons(); drawingArea.Refresh(); } else { InformationDialog.Show(errorMessage); } } }
private void DeleteSelectedVertice(object sender, EventArgs e) { if (inputHandler.SelectedElement is Vertice v) { if (inputHandler.SelectedPolygon.DeleteVertice(v)) { inputHandler.ClearSelected(); drawingArea.Refresh(); } else { InformationDialog.Show(ErrorMessages.CanNotDeleteVertice); } } FakeButton.Focus(); }
private void StopDrawingPolygon() { FakeButton.Focus(); IPolygon polygonUnderCreation = polygons.Last(); if (polygonUnderCreation.Vertices.Count <= 3) { InformationDialog.Show(ErrorMessages.PolygonMustHaveAtLeastThreeVertices); return; } DetachInputHandlerEventsFromDrawingArea(); polygonUnderCreation.DeleteVertice(polygonUnderCreation.Vertices.Last()); polygonUnderCreation.CreateEdgeBetweenVertices(polygonUnderCreation.Vertices.First(), polygonUnderCreation.Vertices.Last()); inputHandler = GetStandardInputHandler(); AttachInputHandlerEventsToDrawingArea(); UpdateButtons(); drawingArea.Refresh(); }