diff --git a/App.xaml.cs b/App.xaml.cs index 903f2e9..6822a27 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -36,7 +36,8 @@ namespace DrillTools bool canClearParameters = CanClearDrillTapeParameters(filePath); bool canGeneratePpDrillTape = CanGeneratePpDrillTape(filePath); - var selectionWindow = new StartupSelectionWindow(filePath, canClearParameters, canGeneratePpDrillTape); + GetMinDiameters(filePath, out double minDrill, out double minSlot, out double minEA); + var selectionWindow = new StartupSelectionWindow(filePath, canClearParameters, canGeneratePpDrillTape, minDrill, minSlot, minEA); selectionWindow.ShowDialog(); switch (selectionWindow.SelectedAction) @@ -144,6 +145,34 @@ namespace DrillTools } } + private static void GetMinDiameters(string filePath, out double minDrillDiameter, out double minSlotDiameter, out double minEADiameter) + { + minDrillDiameter = 0; + minSlotDiameter = 0; + minEADiameter = 0; + + try + { + var viewModel = new MainWindowViewModel + { + ShouldCheckSortFileOnLoad = false + }; + + string content = CommandTypeFileReader.ReadAllText(filePath); + viewModel.LoadToolsFromDrillTape(content); + + if (viewModel.Tools.Count > 0) + { + minDrillDiameter = viewModel.MinDrillDiameter; + minSlotDiameter = viewModel.MinSlotDiameter; + minEADiameter = viewModel.MinEADiameter; + } + } + catch + { + } + } + private static void PerformPpDrillTapeGeneration(string filePath) { try diff --git a/StartupSelectionWindow.xaml b/StartupSelectionWindow.xaml index e5d91f1..63c5022 100644 --- a/StartupSelectionWindow.xaml +++ b/StartupSelectionWindow.xaml @@ -13,7 +13,57 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/StartupSelectionWindow.xaml.cs b/StartupSelectionWindow.xaml.cs index b2152f4..0458fb8 100644 --- a/StartupSelectionWindow.xaml.cs +++ b/StartupSelectionWindow.xaml.cs @@ -16,10 +16,17 @@ namespace DrillTools { public StartupAction SelectedAction { get; private set; } = StartupAction.None; - public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false) + public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false, + double minDrillDiameter = 0, double minSlotDiameter = 0, double minEADiameter = 0) { InitializeComponent(); - DataContext = new { FileName = Path.GetFileName(filePath) }; + DataContext = new + { + FileName = Path.GetFileNameWithoutExtension(filePath), + MinDrillDiameter = minDrillDiameter, + MinSlotDiameter = minSlotDiameter, + MinEADiameter = minEADiameter + }; ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed; GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed; }