public void SubmitResult(ErrorResult result) { if (results.InvokeRequired) { CallResultMethodDelegate d = SubmitResult; try { progress.Invoke(d, result); } catch (ThreadInterruptedException) { } } else { if (!result.IsHidden && !hiddentresulttypes.Contains(result.GetType())) //mxd { results.Items.Add(result); } resultslist.Add(result); //mxd UpdateTitle(); } }
// Redrawing display public override void OnRedrawDisplay() { // Get the selection ErrorResult selection = BuilderPlug.Me.ErrorCheckForm.SelectedResult; renderer.RedrawSurface(); // Render lines if (renderer.StartPlotter(true)) { renderer.PlotLinedefSet(General.Map.Map.Linedefs); renderer.PlotVerticesSet(General.Map.Map.Vertices); if (selection != null) { selection.PlotSelection(renderer); } renderer.Finish(); } // Render things if (renderer.StartThings(true)) { renderer.RenderThingSet(General.Map.Map.Things, 1.0f); if (selection != null) { selection.RenderThingsSelection(renderer); } renderer.Finish(); } // Render overlay if (renderer.StartOverlay(true)) { if (selection != null) { selection.RenderOverlaySelection(renderer); } renderer.Finish(); } renderer.Present(); }
//mxd private Dictionary <Type, bool> GetSelectedTypes() { Dictionary <Type, bool> selectedtypes = new Dictionary <Type, bool>(); foreach (var ro in results.SelectedItems) { ErrorResult r = ro as ErrorResult; if (r == null) { continue; } Type t = r.GetType(); if (!selectedtypes.ContainsKey(t)) { selectedtypes.Add(t, false); } } return(selectedtypes); }
// Third button private void fix3_Click(object sender, EventArgs e) { // Anything selected? if (results.SelectedIndex >= 0) { if (running) { General.ShowWarningMessage("You must stop the analysis before you can make changes to your map!", MessageBoxButtons.OK); } else { ErrorResult r = (results.SelectedItem as ErrorResult); if (r.Button3Click()) { StartChecking(); } else { General.Interface.RedrawDisplay(); } } } }
// Results selection changed private void results_SelectedIndexChanged(object sender, EventArgs e) { // Anything selected? if (results.SelectedIndex >= 0) { ErrorResult r = (results.SelectedItem as ErrorResult); resultinfo.Text = r.Description; resultinfo.Enabled = true; fix1.Text = r.Button1Text; fix2.Text = r.Button2Text; fix3.Text = r.Button3Text; fix1.Visible = (r.Buttons >= 1); fix2.Visible = (r.Buttons >= 2); fix3.Visible = (r.Buttons >= 3); r.ZoomToObject(); } else { ClearSelectedResult(); } General.Interface.RedrawDisplay(); }
// This submits a result to show in the results list protected void SubmitResult(ErrorResult result) { BuilderPlug.Me.ErrorCheckForm.SubmitResult(result); }
// Results selection changed private void results_SelectedIndexChanged(object sender, EventArgs e) { //mxd if (bathselectioninprogress) { return; } // Anything selected? if (results.SelectedItems.Count > 0) { ErrorResult firstresult = (results.SelectedItems[0] as ErrorResult); if (firstresult == null) { ClearSelectedResult(); } else { bool sametype = true; List <ErrorResult> validresults = new List <ErrorResult>(); // Selected results have the same fixes? foreach (var ri in results.SelectedItems) { ErrorResult result = ri as ErrorResult; if (result == null) { continue; } validresults.Add(result); if (result.Buttons != firstresult.Buttons || result.Button1Text != firstresult.Button1Text || result.Button2Text != firstresult.Button2Text || result.Button3Text != firstresult.Button3Text) { sametype = false; break; } } resultinfo.Enabled = true; if (sametype) { resultinfo.Text = firstresult.Description; fix1.Text = firstresult.Button1Text; fix2.Text = firstresult.Button2Text; fix3.Text = firstresult.Button3Text; fix1.Visible = (firstresult.Buttons > 0); fix2.Visible = (firstresult.Buttons > 1); fix3.Visible = (firstresult.Buttons > 2); } else { resultinfo.Text = "Several types of map analysis results are selected. To display fixes, make sure that only a single result type is selected."; fix1.Visible = false; fix2.Visible = false; fix3.Visible = false; } // Zoom to area if (validresults.Count > 0) { RectangleF zoomarea = validresults[0].GetZoomArea(); foreach (ErrorResult result in validresults) { zoomarea = RectangleF.Union(zoomarea, result.GetZoomArea()); } ClassicMode editmode = (General.Editing.Mode as ClassicMode); editmode.CenterOnArea(zoomarea, 0.6f); } } UpdateTitle(); //mxd } else { ClearSelectedResult(); } General.Interface.RedrawDisplay(); }