feat: add 'Add Bend Line' toggle and pick mode UI to FilterPanel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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<Entity> currentEntities;
|
||||
private List<Bend> currentBends;
|
||||
@@ -26,6 +27,7 @@ namespace OpenNest.Controls
|
||||
public event EventHandler FilterChanged;
|
||||
public event EventHandler<int> BendLineSelected;
|
||||
public event EventHandler<int> 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
|
||||
|
||||
Reference in New Issue
Block a user