using System.IO; using System.Windows; namespace DrillTools { public enum StartupAction { None, AdjustToolOrder, ExportHoleCount, ClearParameters, GeneratePpDrillTape } public partial class StartupSelectionWindow : Window { public StartupAction SelectedAction { get; private set; } = StartupAction.None; public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false, double minDrillDiameter = 0, double minSlotDiameter = 0, double minEADiameter = 0, bool isPpDrillTape = false, double ppXSpacing = 0, double ppYSpacing = 0, bool hasOuter3175Spacing = false, double outer3175XSpacing = 0, double outer3175YSpacing = 0) { InitializeComponent(); DataContext = new { FileName = Path.GetFileNameWithoutExtension(filePath), MinDrillDiameter = minDrillDiameter, MinSlotDiameter = minSlotDiameter, MinEADiameter = minEADiameter, IsPpDrillTape = isPpDrillTape, PpXSpacing = ppXSpacing, PpYSpacing = ppYSpacing, HasOuter3175Spacing = hasOuter3175Spacing, Outer3175XSpacing = outer3175XSpacing, Outer3175YSpacing = outer3175YSpacing }; ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed; GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed; } private void AdjustToolOrder_Click(object sender, RoutedEventArgs e) { SelectedAction = StartupAction.AdjustToolOrder; Close(); } private void ExportHoleCount_Click(object sender, RoutedEventArgs e) { SelectedAction = StartupAction.ExportHoleCount; Close(); } private void ClearParameters_Click(object sender, RoutedEventArgs e) { SelectedAction = StartupAction.ClearParameters; Close(); } private void GeneratePpDrillTape_Click(object sender, RoutedEventArgs e) { SelectedAction = StartupAction.GeneratePpDrillTape; Close(); } } }