diff --git a/OpenNest/Controls/FilterPanel.cs b/OpenNest/Controls/FilterPanel.cs index 9c72cb7..7e9bf0f 100644 --- a/OpenNest/Controls/FilterPanel.cs +++ b/OpenNest/Controls/FilterPanel.cs @@ -19,6 +19,7 @@ namespace OpenNest.Controls private readonly CheckedListBox colorsList; private readonly CheckedListBox lineTypesList; private readonly ListBox bendLinesList; + private readonly LinkLabel bendAddLink; private List currentEntities; private List currentBends; @@ -26,6 +27,7 @@ namespace OpenNest.Controls public event EventHandler FilterChanged; public event EventHandler BendLineSelected; public event EventHandler BendLineRemoved; + public event EventHandler AddBendLineClicked; public FilterPanel() { @@ -51,9 +53,8 @@ namespace OpenNest.Controls var bendDeleteLink = new LinkLabel { - Text = "Remove Selected", - Dock = DockStyle.Bottom, - Height = 20, + Text = "Remove", + AutoSize = true, Font = new Font("Segoe UI", 8f) }; bendDeleteLink.LinkClicked += (s, e) => @@ -62,8 +63,27 @@ namespace OpenNest.Controls BendLineRemoved?.Invoke(this, bendLinesList.SelectedIndex); }; + bendAddLink = new LinkLabel + { + Text = "Add Bend Line", + AutoSize = true, + Font = new Font("Segoe UI", 8f) + }; + bendAddLink.LinkClicked += (s, e) => + AddBendLineClicked?.Invoke(this, EventArgs.Empty); + + var bendLinksPanel = new FlowLayoutPanel + { + Dock = DockStyle.Bottom, + Height = 20, + FlowDirection = FlowDirection.LeftToRight, + WrapContents = false + }; + bendLinksPanel.Controls.Add(bendAddLink); + bendLinksPanel.Controls.Add(bendDeleteLink); + bendLinesPanel.ContentPanel.Controls.Add(bendLinesList); - bendLinesPanel.ContentPanel.Controls.Add(bendDeleteLink); + bendLinesPanel.ContentPanel.Controls.Add(bendLinksPanel); // Line Types lineTypesPanel = new CollapsiblePanel @@ -237,6 +257,12 @@ namespace OpenNest.Controls e.DrawFocusRectangle(); } + + public void SetPickMode(bool active) + { + bendAddLink.Text = active ? "Cancel (Esc)" : "Add Bend Line"; + bendAddLink.LinkColor = active ? Color.OrangeRed : Color.Empty; + } } public class ColorItem