From 64cacf6d17c2d5766abe0752771a5e6d0bf63941 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Fri, 6 Mar 2026 19:31:55 -0500 Subject: [PATCH] feat: add View > Draw Offset menu item Toggles offset geometry visualization from the View menu, matching the existing Draw Rapids and Draw Bounds menu pattern. Co-Authored-By: Claude Opus 4.6 --- OpenNest/Forms/EditNestForm.cs | 6 ++++++ OpenNest/Forms/MainForm.Designer.cs | 13 ++++++++++++- OpenNest/Forms/MainForm.cs | 7 +++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/OpenNest/Forms/EditNestForm.cs b/OpenNest/Forms/EditNestForm.cs index 8185241..a7b9297 100644 --- a/OpenNest/Forms/EditNestForm.cs +++ b/OpenNest/Forms/EditNestForm.cs @@ -378,6 +378,12 @@ namespace OpenNest.Forms PlateView.Invalidate(); } + public void ToggleDrawOffset() + { + PlateView.DrawOffset = !PlateView.DrawOffset; + PlateView.Invalidate(); + } + public void ToggleFillParts() { PlateView.FillParts = !PlateView.FillParts; diff --git a/OpenNest/Forms/MainForm.Designer.cs b/OpenNest/Forms/MainForm.Designer.cs index 1cd9a23..87218d5 100644 --- a/OpenNest/Forms/MainForm.Designer.cs +++ b/OpenNest/Forms/MainForm.Designer.cs @@ -49,6 +49,7 @@ this.mnuView = new System.Windows.Forms.ToolStripMenuItem(); this.mnuViewDrawRapids = new System.Windows.Forms.ToolStripMenuItem(); this.mnuViewDrawBounds = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuViewDrawOffset = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator(); this.mnuViewZoomTo = new System.Windows.Forms.ToolStripMenuItem(); this.mnuViewZoomToArea = new System.Windows.Forms.ToolStripMenuItem(); @@ -312,6 +313,7 @@ this.mnuView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.mnuViewDrawRapids, this.mnuViewDrawBounds, + this.mnuViewDrawOffset, this.toolStripMenuItem5, this.mnuViewZoomTo, this.mnuViewZoomIn, @@ -334,7 +336,15 @@ this.mnuViewDrawBounds.Size = new System.Drawing.Size(222, 22); this.mnuViewDrawBounds.Text = "Draw Bounds"; this.mnuViewDrawBounds.Click += new System.EventHandler(this.ToggleDrawBounds_Click); - // + // + // mnuViewDrawOffset + // + this.mnuViewDrawOffset.CheckOnClick = true; + this.mnuViewDrawOffset.Name = "mnuViewDrawOffset"; + this.mnuViewDrawOffset.Size = new System.Drawing.Size(222, 22); + this.mnuViewDrawOffset.Text = "Draw Offset"; + this.mnuViewDrawOffset.Click += new System.EventHandler(this.ToggleDrawOffset_Click); + // // toolStripMenuItem5 // this.toolStripMenuItem5.Name = "toolStripMenuItem5"; @@ -1182,6 +1192,7 @@ private System.Windows.Forms.ToolStripMenuItem mnuView; private System.Windows.Forms.ToolStripMenuItem mnuViewDrawRapids; private System.Windows.Forms.ToolStripMenuItem mnuViewDrawBounds; + private System.Windows.Forms.ToolStripMenuItem mnuViewDrawOffset; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5; private System.Windows.Forms.ToolStripMenuItem mnuTools; private System.Windows.Forms.ToolStripMenuItem mnuToolsOptions; diff --git a/OpenNest/Forms/MainForm.cs b/OpenNest/Forms/MainForm.cs index 29bb428..16adabe 100644 --- a/OpenNest/Forms/MainForm.cs +++ b/OpenNest/Forms/MainForm.cs @@ -436,6 +436,13 @@ namespace OpenNest.Forms mnuViewDrawBounds.Checked = activeForm.PlateView.DrawBounds; } + private void ToggleDrawOffset_Click(object sender, EventArgs e) + { + if (activeForm == null) return; + activeForm.ToggleDrawOffset(); + mnuViewDrawOffset.Checked = activeForm.PlateView.DrawOffset; + } + private void ZoomToArea_Click(object sender, EventArgs e) { if (activeForm == null) return;