2026-01-26 18:56:53 +09:00

169 lines
9.8 KiB
XML

<UserControl x:Class="MilUI.CamCalSettingView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:MilUI" xmlns:auroraUc="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<Style TargetType="{x:Type GroupBox}" BasedOn="{StaticResource AVDefaultGB}"/>
</UserControl.Resources>
<Grid Margin="10" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<!-- 설정 영역 -->
<RowDefinition Height="*" />
<!-- DataGrid -->
<RowDefinition Height="Auto" />
<!-- LoadButton-->
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" >
<GroupBox.Header>
<TextBlock Style="{StaticResource styleGroupBoxHeaderTextBlock}">
<Run Text="{Binding [Calibration], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Status], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<Grid>
<!-- 전체 세로 정렬 -->
<StackPanel Orientation="Vertical" Margin="10" HorizontalAlignment="Stretch">
<!-- 상태 신호등 -->
<StackPanel Orientation="Horizontal" Margin="10" HorizontalAlignment="Stretch" x:Name="Panel">
<StackPanel Margin="10">
<TextBlock Style="{StaticResource styleTextBlockTitleSmall}">
<Run Text="{Binding [Use], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Calibration], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Recipe], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
<Ellipse Width="20" Height="20" Fill="Gray" x:Name="LightUsed" />
</StackPanel>
<StackPanel Margin="10">
<TextBlock Style="{StaticResource styleTextBlockTitleSmall}">
<Run Text="{Binding [Calibration], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Enabled], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
<Ellipse Width="20" Height="20" Fill="Gray" x:Name="LightEnabled" />
</StackPanel>
<StackPanel Margin="10">
<TextBlock Style="{StaticResource styleTextBlockTitleSmall}">
<Run Text="{Binding [MCA], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Loaded], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
<Ellipse Width="20" Height="20" Fill="Gray" x:Name="LightLoaded" />
</StackPanel>
</StackPanel>
<!-- Start Calibration 버튼 -->
<Button x:Name="startbutton" Style="{StaticResource styleBtnProc}" Click="StartCalibration_Click" HorizontalAlignment="Stretch">
<StackPanel Orientation="Horizontal">
<Image Style="{StaticResource stylePatternButtonImage}"
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_arrow_right_down.png"/>
<TextBlock Style="{StaticResource styleTextBlockTitle}">
<Run Text="{Binding [Start], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Calibration], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
</StackPanel>
<Button x:Name="BtnHelp" Content="❔"
Width="30" Height="30"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Click="BtnHelp_Click"
Background="{DynamicResource AuroraVision.Brushes.ProcButton.Background}"
ToolTip="이 화면의 사용 가이드를 확인합니다." />
</Grid>
</GroupBox>
<!-- 설정 영역 -->
<GroupBox Grid.Row="1" Visibility="Collapsed" x:Name="SettingPanel">
<GroupBox.Header>
<TextBlock Style="{StaticResource styleGroupBoxHeaderTextBlock}">
<Run Text="{Binding [Calibration], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Parameters], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<Grid>
<StackPanel Orientation="Vertical" Margin="10" HorizontalAlignment="Stretch">
<!-- Row / Col -->
<Grid Margin="0,5">
<StackPanel Orientation="Horizontal">
<auroraUc:UCKeyValue KeyText="Rows:" x:Name="TxtRows" ValueTextSize="15" ValueTextWidth="150" />
<auroraUc:UCKeyValue KeyText="Cols:" x:Name="TxtCols" ValueTextSize="15" ValueTextWidth="150" />
</StackPanel>
</Grid>
<!-- Spacing X / Y -->
<Grid Margin="0,5">
<StackPanel Orientation="Horizontal" x:Name="SpacingXY">
<auroraUc:UCKeyValue KeyText="Spacing X (mm):" x:Name="TxtSpacingX" ValueTextSize="15" ValueTextWidth="150" />
<auroraUc:UCKeyValue KeyText="Spacing Y (mm):" x:Name="TxtSpacingY" ValueTextSize="15" ValueTextWidth="150" />
</StackPanel>
</Grid>
<!--Save Button-->
<Button Margin="5" Style="{StaticResource styleBtnProc}" Click="BtnSaveCalibration_Click" x:Name="BtnSaveCalibration">
<StackPanel Orientation="Horizontal">
<Image Height="21" Style="{StaticResource stylePatternButtonImage}"
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_ok.png"/>
<TextBlock Style="{StaticResource styleTextBlockTitle}">
<Run Text="{Binding [Save], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
</StackPanel>
<Button x:Name="BtnSetting_Help" Content="❔"
Width="30" Height="30"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Background="{DynamicResource AuroraVision.Brushes.ProcButton.Background}"
ToolTip="이 화면의 사용 가이드를 확인합니다." Click="BtnSetting_Help_Click" />
</Grid>
</GroupBox>
<!-- MCA 비교용 리스트 -->
<GroupBox Grid.Row="2">
<GroupBox.Header>
<TextBlock Style="{StaticResource styleGroupBoxHeaderTextBlock}">
<Run Text="{Binding [MCAFile], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Compare], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<DataGrid x:Name="McaFileGrid" AutoGenerateColumns="False"
Style="{StaticResource styleLogDataGrid}"
MouseDoubleClick="McaFileGrid_MouseDoubleClick">
<DataGrid.Columns>
<DataGridTextColumn Header="Filename" Binding="{Binding MCAFullPath}" Width="4*"/>
<DataGridTextColumn Header="Points" Binding="{Binding PointCount}" Width="*"/>
<DataGridTextColumn Header="Avg Error" Binding="{Binding AvgError}" Width="*"/>
<DataGridTemplateColumn Header="Action" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Content="Preview" Click="BtnComparePreview_Click" x:Name="prebtn"/>
<Button Content="SetRecipe" Click="BtnSetAsRecipe_Click" x:Name="recipebtn"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</GroupBox>
<Grid Grid.Row="3">
<Button Margin="5" Style="{StaticResource styleBtnProc}" Click="BtnLoadCalibration_Click" x:Name="AddButton">
<StackPanel Orientation="Horizontal">
<Image Height="21" Style="{StaticResource stylePatternButtonImage}"
Source="pack://application:,,,/VisionCommonUI;component/Icons/ColorIcons/img_add.png"/>
<TextBlock Style="{StaticResource styleTextBlockTitle}">
<Run Text="{Binding [Load], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
</Grid>
</Grid>
</UserControl>