feat(ui): wire Pattern Tile menu item and apply logic in MainForm
This commit is contained in:
15
OpenNest/Forms/MainForm.Designer.cs
generated
15
OpenNest/Forms/MainForm.Designer.cs
generated
@@ -61,6 +61,7 @@
|
||||
mnuTools = new System.Windows.Forms.ToolStripMenuItem();
|
||||
mnuToolsMeasureArea = new System.Windows.Forms.ToolStripMenuItem();
|
||||
mnuToolsBestFitViewer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
mnuToolsPatternTile = new System.Windows.Forms.ToolStripMenuItem();
|
||||
mnuToolsAlign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
mnuToolsAlignLeft = new System.Windows.Forms.ToolStripMenuItem();
|
||||
mnuToolsAlignRight = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -380,7 +381,7 @@
|
||||
//
|
||||
// mnuTools
|
||||
//
|
||||
mnuTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuToolsMeasureArea, mnuToolsBestFitViewer, mnuToolsAlign, toolStripMenuItem14, mnuSetOffsetIncrement, mnuSetRotationIncrement, toolStripMenuItem15, mnuToolsOptions });
|
||||
mnuTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuToolsMeasureArea, mnuToolsBestFitViewer, mnuToolsPatternTile, mnuToolsAlign, toolStripMenuItem14, mnuSetOffsetIncrement, mnuSetRotationIncrement, toolStripMenuItem15, mnuToolsOptions });
|
||||
mnuTools.Name = "mnuTools";
|
||||
mnuTools.Size = new System.Drawing.Size(47, 20);
|
||||
mnuTools.Text = "&Tools";
|
||||
@@ -398,9 +399,16 @@
|
||||
mnuToolsBestFitViewer.Size = new System.Drawing.Size(214, 22);
|
||||
mnuToolsBestFitViewer.Text = "Best-Fit Viewer";
|
||||
mnuToolsBestFitViewer.Click += BestFitViewer_Click;
|
||||
//
|
||||
//
|
||||
// mnuToolsPatternTile
|
||||
//
|
||||
this.mnuToolsPatternTile.Name = "mnuToolsPatternTile";
|
||||
this.mnuToolsPatternTile.Size = new System.Drawing.Size(214, 22);
|
||||
this.mnuToolsPatternTile.Text = "Pattern Tile";
|
||||
this.mnuToolsPatternTile.Click += PatternTile_Click;
|
||||
//
|
||||
// mnuToolsAlign
|
||||
//
|
||||
//
|
||||
mnuToolsAlign.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuToolsAlignLeft, mnuToolsAlignRight, mnuToolsAlignTop, mnuToolsAlignBottom, toolStripMenuItem11, mnuToolsAlignHorizontal, mnuToolsAlignVertically, toolStripMenuItem8, mnuToolsEvenlySpaceHorizontal, mnuToolsEvenlySpaceVertical });
|
||||
mnuToolsAlign.Name = "mnuToolsAlign";
|
||||
mnuToolsAlign.Size = new System.Drawing.Size(214, 22);
|
||||
@@ -1169,6 +1177,7 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem autoSequenceAllPlatesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnuToolsMeasureArea;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnuToolsBestFitViewer;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnuToolsPatternTile;
|
||||
private System.Windows.Forms.ToolStripButton btnSaveAs;
|
||||
private System.Windows.Forms.ToolStripMenuItem centerPartsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripStatusLabel gpuStatusLabel;
|
||||
|
||||
@@ -596,6 +596,49 @@ namespace OpenNest.Forms
|
||||
}
|
||||
}
|
||||
|
||||
private void PatternTile_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (activeForm == null)
|
||||
return;
|
||||
|
||||
if (activeForm.Nest.Drawings.Count == 0)
|
||||
{
|
||||
MessageBox.Show("No drawings available.", "Pattern Tile",
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
using (var form = new PatternTileForm(activeForm.Nest))
|
||||
{
|
||||
if (form.ShowDialog(this) != DialogResult.OK || form.Result == null)
|
||||
return;
|
||||
|
||||
var result = form.Result;
|
||||
|
||||
if (result.Target == PatternTileTarget.CurrentPlate)
|
||||
{
|
||||
activeForm.PlateView.Plate.Parts.Clear();
|
||||
|
||||
foreach (var part in result.Parts)
|
||||
activeForm.PlateView.Plate.Parts.Add(part);
|
||||
|
||||
activeForm.PlateView.ZoomToFit();
|
||||
}
|
||||
else
|
||||
{
|
||||
var plate = activeForm.Nest.CreatePlate();
|
||||
plate.Size = result.PlateSize;
|
||||
|
||||
foreach (var part in result.Parts)
|
||||
plate.Parts.Add(part);
|
||||
|
||||
activeForm.LoadLastPlate();
|
||||
}
|
||||
|
||||
activeForm.Nest.UpdateDrawingQuantities();
|
||||
}
|
||||
}
|
||||
|
||||
private void SetOffsetIncrement_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (activeForm == null) return;
|
||||
|
||||
Reference in New Issue
Block a user