feat: 在启动功能选择窗口中显示基础信息
在 StartupSelectionWindow 顶部添加基础信息展示模块, 显示文件名、最小钻咀、最小槽刀、最小EA刀直径, 与 MainWindow 中的基础信息面板布局一致。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
31
App.xaml.cs
31
App.xaml.cs
@@ -36,7 +36,8 @@ namespace DrillTools
|
|||||||
|
|
||||||
bool canClearParameters = CanClearDrillTapeParameters(filePath);
|
bool canClearParameters = CanClearDrillTapeParameters(filePath);
|
||||||
bool canGeneratePpDrillTape = CanGeneratePpDrillTape(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();
|
selectionWindow.ShowDialog();
|
||||||
|
|
||||||
switch (selectionWindow.SelectedAction)
|
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)
|
private static void PerformPpDrillTapeGeneration(string filePath)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
@@ -13,7 +13,57 @@
|
|||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<TextBlock Grid.Row="0" Text="{Binding FileName}" FontWeight="Bold" TextWrapping="Wrap" Margin="0,0,0,10"/>
|
<!-- 基础信息 -->
|
||||||
|
<GroupBox Grid.Row="0" Header="基础信息" Margin="0,0,0,10">
|
||||||
|
<Grid Margin="1">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Grid.Row="0" Orientation="Horizontal">
|
||||||
|
<TextBlock VerticalAlignment="Center" Text="文件名:" />
|
||||||
|
<TextBlock
|
||||||
|
Margin="0,0,0,5"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
FontWeight="Bold"
|
||||||
|
Text="{Binding FileName}" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<Grid Grid.Row="1">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Grid.Column="0" Orientation="Horizontal">
|
||||||
|
<TextBlock VerticalAlignment="Center" Text="最小钻咀:" />
|
||||||
|
<TextBlock
|
||||||
|
Margin="5,0,0,0"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Text="{Binding MinDrillDiameter, StringFormat=F3}" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
||||||
|
<TextBlock VerticalAlignment="Center" Text="最小槽刀:" />
|
||||||
|
<TextBlock
|
||||||
|
Margin="5,0,0,0"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Text="{Binding MinSlotDiameter, StringFormat=F3}" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Grid.Column="2" Orientation="Horizontal">
|
||||||
|
<TextBlock VerticalAlignment="Center" Text="最小EA刀:" />
|
||||||
|
<TextBlock
|
||||||
|
Margin="5,0,0,0"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Text="{Binding MinEADiameter, StringFormat=F3}" />
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
<TextBlock Grid.Row="1" Text="请选择要执行的功能:" Margin="0,0,0,15"/>
|
<TextBlock Grid.Row="1" Text="请选择要执行的功能:" Margin="0,0,0,15"/>
|
||||||
|
|
||||||
<StackPanel Grid.Row="2" HorizontalAlignment="Center" Orientation="Horizontal">
|
<StackPanel Grid.Row="2" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||||
|
|||||||
@@ -16,10 +16,17 @@ namespace DrillTools
|
|||||||
{
|
{
|
||||||
public StartupAction SelectedAction { get; private set; } = StartupAction.None;
|
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();
|
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;
|
ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed;
|
||||||
GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user