From d65f3460a9a3cca7c607421e7db8deadba93d2db Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Mon, 6 Apr 2026 00:12:59 -0400 Subject: [PATCH] feat: move add/remove plate buttons to plate tab, sync remove state Removed add and remove plate buttons from the plate header panel. The plate tab toolbar now has add/remove buttons with the remove button state driven by PlateManager.CanRemoveCurrent. MainForm's Plate > Remove menu item also syncs on plate change. Co-Authored-By: Claude Opus 4.6 (1M context) --- OpenNest/Forms/EditNestForm.Designer.cs | 52 ++++++++++-- OpenNest/Forms/EditNestForm.cs | 13 +-- OpenNest/Forms/EditNestForm.resx | 4 +- OpenNest/Forms/MainForm.cs | 1 + OpenNest/Properties/Resources.Designer.cs | 30 +++++-- OpenNest/Properties/Resources.resx | 94 ++++++++++++---------- OpenNest/Resources/delete.png | Bin 0 -> 16663 bytes OpenNest/Resources/plus.png | Bin 0 -> 14592 bytes 8 files changed, 123 insertions(+), 71 deletions(-) create mode 100644 OpenNest/Resources/delete.png create mode 100644 OpenNest/Resources/plus.png diff --git a/OpenNest/Forms/EditNestForm.Designer.cs b/OpenNest/Forms/EditNestForm.Designer.cs index 3e1360d..60fa820 100644 --- a/OpenNest/Forms/EditNestForm.Designer.cs +++ b/OpenNest/Forms/EditNestForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditNestForm)); splitContainer = new System.Windows.Forms.SplitContainer(); tabControl1 = new System.Windows.Forms.TabControl(); @@ -39,6 +40,9 @@ partsColumn = new System.Windows.Forms.ColumnHeader(); utilColumn = new System.Windows.Forms.ColumnHeader(); toolStrip1 = new System.Windows.Forms.ToolStrip(); + toolStripLabel1 = new System.Windows.Forms.ToolStripButton(); + toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + toolStripLabel2 = new System.Windows.Forms.ToolStripButton(); tabPage2 = new System.Windows.Forms.TabPage(); drawingListBox1 = new OpenNest.Controls.DrawingListBox(); toolStrip2 = new System.Windows.Forms.ToolStrip(); @@ -52,6 +56,7 @@ splitContainer.SuspendLayout(); tabControl1.SuspendLayout(); tabPage1.SuspendLayout(); + toolStrip1.SuspendLayout(); tabPage2.SuspendLayout(); toolStrip2.SuspendLayout(); SuspendLayout(); @@ -107,11 +112,11 @@ platesListView.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0); platesListView.FullRowSelect = true; platesListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; - platesListView.Location = new System.Drawing.Point(4, 28); + platesListView.Location = new System.Drawing.Point(4, 30); platesListView.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); platesListView.MultiSelect = false; platesListView.Name = "platesListView"; - platesListView.Size = new System.Drawing.Size(265, 396); + platesListView.Size = new System.Drawing.Size(265, 394); platesListView.TabIndex = 1; platesListView.UseCompatibleStateImageBehavior = false; platesListView.View = System.Windows.Forms.View.Details; @@ -128,16 +133,16 @@ sizeColumn.Width = 80; // // qtyColumn - // + // qtyColumn.Text = "Qty"; - // + // // partsColumn - // + // partsColumn.Text = "Parts"; partsColumn.Width = 45; - // + // // utilColumn - // + // utilColumn.Text = "Util"; utilColumn.Width = 45; // @@ -145,12 +150,38 @@ // toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); + toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { toolStripLabel1, toolStripSeparator3, toolStripLabel2 }); toolStrip1.Location = new System.Drawing.Point(4, 3); toolStrip1.Name = "toolStrip1"; - toolStrip1.Size = new System.Drawing.Size(265, 25); + toolStrip1.Size = new System.Drawing.Size(265, 27); toolStrip1.TabIndex = 2; toolStrip1.Text = "toolStrip1"; // + // toolStripLabel1 + // + toolStripLabel1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + toolStripLabel1.Image = Properties.Resources.plus; + toolStripLabel1.Name = "toolStripLabel1"; + toolStripLabel1.Padding = new System.Windows.Forms.Padding(5, 0, 5, 0); + toolStripLabel1.Size = new System.Drawing.Size(34, 24); + toolStripLabel1.Text = "Remove Selected Plate"; + toolStripLabel1.Click += toolStripLabel1_Click; + // + // toolStripSeparator3 + // + toolStripSeparator3.Name = "toolStripSeparator3"; + toolStripSeparator3.Size = new System.Drawing.Size(6, 27); + // + // toolStripLabel2 + // + toolStripLabel2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + toolStripLabel2.Image = Properties.Resources.delete; + toolStripLabel2.Name = "toolStripLabel2"; + toolStripLabel2.Padding = new System.Windows.Forms.Padding(5, 0, 5, 0); + toolStripLabel2.Size = new System.Drawing.Size(34, 24); + toolStripLabel2.Text = "Remove Selected"; + toolStripLabel2.Click += toolStripLabel2_Click; + // // tabPage2 // tabPage2.Controls.Add(drawingListBox1); @@ -255,6 +286,8 @@ tabControl1.ResumeLayout(false); tabPage1.ResumeLayout(false); tabPage1.PerformLayout(); + toolStrip1.ResumeLayout(false); + toolStrip1.PerformLayout(); tabPage2.ResumeLayout(false); tabPage2.PerformLayout(); toolStrip2.ResumeLayout(false); @@ -283,5 +316,8 @@ private System.Windows.Forms.ToolStripButton toolStripButton3; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripButton hideNestedButton; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripButton toolStripLabel1; + private System.Windows.Forms.ToolStripButton toolStripLabel2; } } \ No newline at end of file diff --git a/OpenNest/Forms/EditNestForm.cs b/OpenNest/Forms/EditNestForm.cs index f6e2629..0a475fc 100644 --- a/OpenNest/Forms/EditNestForm.cs +++ b/OpenNest/Forms/EditNestForm.cs @@ -35,7 +35,6 @@ namespace OpenNest.Forms private Panel plateHeaderPanel; private Label plateInfoLabel; private Button btnFirstPlate; - private Button btnRemovePlate; private Button btnPreviousPlate; private Button btnNextPlate; @@ -127,18 +126,8 @@ namespace OpenNest.Forms navPanel.Controls.AddRange(new Control[] { btnFirstPlate, btnPreviousPlate, btnNextPlate, btnLastPlate }); - btnRemovePlate = CreateNavButton(Resources.remove); - btnRemovePlate.Dock = DockStyle.Right; - btnRemovePlate.Click += (s, e) => RemoveCurrentPlate(); - - var btnAddPlate = CreateNavButton(Resources.add); - btnAddPlate.Dock = DockStyle.Right; - btnAddPlate.Click += (s, e) => Nest.CreatePlate(); - plateHeaderPanel.Controls.Add(navPanel); plateHeaderPanel.Controls.Add(plateInfoLabel); - plateHeaderPanel.Controls.Add(btnRemovePlate); - plateHeaderPanel.Controls.Add(btnAddPlate); // Center the nav panel on resize CenterNavPanel(navPanel); @@ -905,7 +894,7 @@ namespace OpenNest.Forms private void UpdateRemovePlateButton() { - btnRemovePlate.Enabled = PlateManager.CanRemoveCurrent; + toolStripLabel2.Enabled = PlateManager.CanRemoveCurrent; } #endregion diff --git a/OpenNest/Forms/EditNestForm.resx b/OpenNest/Forms/EditNestForm.resx index 01ae9c4..c655c1a 100644 --- a/OpenNest/Forms/EditNestForm.resx +++ b/OpenNest/Forms/EditNestForm.resx @@ -127,7 +127,7 @@ iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wAAADsABataJCQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABb8SURBVHhe7d15 + vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABb8SURBVHhe7d15 zG1XWQbwpxQ6MojBaCj4h9GAQplCJCpRKAUSoy1ECiYiYBogxhAEJMaEUCiJQ5iDpS1gxYJaUJBJZRQQ RCBKVAwWJUaZEgglDGIotGiWPVe+Lta99xvOsPd+f7/kSZre3u/sffbqu55zvjMkAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -232,7 +232,7 @@ iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN - 1QAADdUBPdZY8QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAEnhSURBVHhe7d15 + 0AAADdABEGw9BwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAEnhSURBVHhe7d15 nB1FuTfwFxAUxX296r2KmoR9FUEtWRREVlFQICIo+wBCCCScJJBAkgZERkXwupCQEMISICGQgIAUkBC2 sMm+Q9Iot+CCN7PvU++nTqZD8jw9M2fppar698cX9ZHp7unTp37PnNNd9f+01v8PoCiEVHsIqc4SUs0V Ui0QUk0TUv1USPUB+u8CAPiMFQB8JKT6ppBqmZBKD+INIdUvhFTr058FAPARKwD4Rkh1lJCqPyb048wR diff --git a/OpenNest/Forms/MainForm.cs b/OpenNest/Forms/MainForm.cs index ca33526..9959dc6 100644 --- a/OpenNest/Forms/MainForm.cs +++ b/OpenNest/Forms/MainForm.cs @@ -120,6 +120,7 @@ namespace OpenNest.Forms { NavigationEnableCheck(); UpdatePlateStatus(); + mnuPlateRemove.Enabled = activeForm?.PlateManager.CanRemoveCurrent ?? false; }; editForm.WindowState = windowState; editForm.Show(); diff --git a/OpenNest/Properties/Resources.Designer.cs b/OpenNest/Properties/Resources.Designer.cs index 953b82e..6873a6e 100644 --- a/OpenNest/Properties/Resources.Designer.cs +++ b/OpenNest/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace OpenNest.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -80,6 +80,16 @@ namespace OpenNest.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap clock { + get { + object obj = ResourceManager.GetObject("clock", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -89,13 +99,13 @@ namespace OpenNest.Properties { return ((System.Drawing.Bitmap)(obj)); } } - + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap clock { + internal static System.Drawing.Bitmap delete { get { - object obj = ResourceManager.GetObject("clock", resourceCulture); + object obj = ResourceManager.GetObject("delete", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -170,6 +180,16 @@ namespace OpenNest.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap plus { + get { + object obj = ResourceManager.GetObject("plus", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -179,7 +199,7 @@ namespace OpenNest.Properties { return ((System.Drawing.Bitmap)(obj)); } } - + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/OpenNest/Properties/Resources.resx b/OpenNest/Properties/Resources.resx index b84a2fc..dbaeb93 100644 --- a/OpenNest/Properties/Resources.resx +++ b/OpenNest/Properties/Resources.resx @@ -118,67 +118,73 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\clear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\doc_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\doc_open.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\move_first.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\move_last.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\move_next.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\move_previous.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\rotate_ccw.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\rotate_cw.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\save_as.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\zoom_in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\watermark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\clear.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\save_as.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\move_last.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\zoom_all.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\zoom_in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\move_first.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\zoom_out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\cutoff.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\move_next.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\remnants.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\move_previous.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\rotate_cw.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\rotate_ccw.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cutoff.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\doc_open.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\doc_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OpenNest/Resources/delete.png b/OpenNest/Resources/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..3f7789c1987fe15cb5f0df283526cbec301bd256 GIT binary patch literal 16663 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 literal 0 HcmV?d00001 diff --git a/OpenNest/Resources/plus.png b/OpenNest/Resources/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e2518e3bdb959e42e4a47529d7f306b3433d6c GIT binary patch literal 14592 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
    2MK(gd|BG@RCPAbLj#nx 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