feat: add Edit Drawings in Converter button to reopen nest drawings in CadConverterForm

Adds a toolbar button on the Drawings tab that opens the CAD converter
pre-populated with the current nest drawings, allowing users to revisit
layer filtering, quantities, and other settings without re-importing.

Also fixes PlateView stealing focus from text inputs on mouse enter
and FilterPanel crashing when loaded before form handle is created.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-08 08:37:20 -04:00
parent b2a723ca60
commit 7c28a35ad8
6 changed files with 1027 additions and 813 deletions
+25
View File
@@ -52,6 +52,7 @@ namespace OpenNest.Forms
private EditNestForm()
{
PlateView = new PlateView();
PlateView.MouseEnter += PlateView_MouseEnter;
PlateView.Enter += PlateView_Enter;
PlateView.PartAdded += PlateView_PartAdded;
PlateView.PartRemoved += PlateView_PartRemoved;
@@ -862,6 +863,24 @@ namespace OpenNest.Forms
Import();
}
private void EditDrawingsInConverter_Click(object sender, EventArgs e)
{
if (Nest.Drawings.Count == 0)
return;
var converter = new CadConverterForm();
converter.LoadDrawings(Nest.Drawings);
if (converter.ShowDialog() != DialogResult.OK)
return;
var drawings = converter.GetDrawings();
// Replace all drawings — clear existing and add new ones
Nest.Drawings.Clear();
drawings.ForEach(d => Nest.Drawings.Add(d));
}
private void CleanUnusedDrawings_Click(object sender, EventArgs e)
{
var result = MessageBox.Show(
@@ -1026,6 +1045,12 @@ namespace OpenNest.Forms
addPart = true;
}
private void PlateView_MouseEnter(object sender, EventArgs e)
{
if (!PlateView.Focused)
PlateView.Focus();
}
private void PlateView_Enter(object sender, EventArgs e)
{
if (!addPart)