Kyungshin-Welder/AuroraVision/VisionUI/Aligner/AlignRecipeSettingView.xaml
2026-01-26 14:51:28 +09:00

185 lines
12 KiB
XML

<UserControl x:Class="VisionUI.Aligner.AlignRecipeSettingView"
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:VisionUI.Aligner"
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
xmlns:controls="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
xmlns:patternUi="clr-namespace:VisionUI.Pattern"
x:Name="alignRecipeSettingView"
d:DataContext="{d:DesignInstance Type=local:AlignRecipeSettingViewModel}"
mc:Ignorable="d" IsVisibleChanged="UserControl_IsVisibleChanged">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<aurora:BoolConverter x:Key="convFoldOpen" TrueValue="&#xE70E;" FalseValue="&#xE70D;"/>
<Style TargetType="GroupBox" BasedOn="{StaticResource AVDefaultGB}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
</Style>
<Style TargetType="ToggleButton"/>
<Style TargetType="TextBlock">
<Setter Property="FontWeight" Value="Bold"/>
</Style>
<Style TargetType="controls:UCKeyContentView">
<Setter Property="KeyTextBgColor" Value="{DynamicResource Aurora.Brushes.Accent}"/>
<Setter Property="KeyTextFgColor" Value="{DynamicResource AuroraVision.Brushes.UCContentView.Foreground}"/>
<Setter Property="KeyTextIsMouseOverBgColor" Value="{DynamicResource MahApps.Brushes.BackgroundHighlighted}"/>
<Setter Property="KeyTextCheckedBgColor" Value="LightGray"/>
<Setter Property="KeyBorderBrushColor" Value="Transparent"/>
<Setter Property="KeyTextSize" Value="14"/>
<Setter Property="KeyBorderCornerRadius" Value="100"/>
<Setter Property="UseFoldingButton" Value="True"/>
<Setter Property="FoldingBtnMargin" Value="-4"/>
<Setter Property="KeyTextMargin" Value="12,2,0,2"/>
<Setter Property="ValueMargin" Value="12,0,0,0"/>
<Setter Property="FoldingBtnWidth" Value="26"/>
<Setter Property="FoldingBtnHeight" Value="16"/>
<Setter Property="ValueBorderThickness" Value="0"/>
<Setter Property="ValueBorderBrushColor" Value="Transparent"/>
<Setter Property="ValueTextBgColor" Value="Transparent"/>
<Setter Property="FoldingBtnStyle" Value="{StaticResource ExpandCollapseToggleStyle}"/>
</Style>
<Style TargetType="aurora:PropertyGridEx">
<Setter Property="Margin" Value="0,0,10,0"/>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- Folding 관련 -->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<Button Style="{StaticResource StBtJog}" Content="{Binding IsAllOpen, FallbackValue=&#xE70D;, RelativeSource={RelativeSource AncestorType=UserControl}, Converter={StaticResource convFoldOpen}}"
TextElement.FontFamily="Segoe MDL2 Assets" Click="BtnClick_Fold" Margin="5" Width="35"
Background="{DynamicResource Aurora.Brushes.Accent}"
BorderThickness="0"
Foreground="{DynamicResource AuroraVision.Brushes.Button.Foreground}"/>
</StackPanel>
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
<StackPanel>
<controls:UCKeyContentView KeyText="Align Params">
<controls:UCKeyContentView.ContentView>
<UniformGrid Rows="1">
<!--AlignRetry-->
<GroupBox>
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Align], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Retry], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding AlignRetry}" FontSize="13" MinWidth="150"/>
</GroupBox>
<!--AlignLimit-->
<GroupBox>
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Align], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Limit], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding AlignLimit}" FontSize="13" MinWidth="150"/>
</GroupBox>
<!--AlignOffset-->
<GroupBox>
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Align], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Offset], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding AlignOffset}" FontSize="13" MinWidth="150"/>
</GroupBox>
<!--AlignTgtDist-->
<GroupBox>
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Align], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Target], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Dist], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding AlignTgtDist}" FontSize="13" MinWidth="150"/>
</GroupBox>
</UniformGrid>
</controls:UCKeyContentView.ContentView>
</controls:UCKeyContentView>
<controls:UCKeyContentView KeyText="Proc Params">
<controls:UCKeyContentView.ContentView>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<DockPanel>
<!--ProcParams-->
<GroupBox >
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Proc], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Prams], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding ProcParams}" FontSize="13" MinWidth="150"/>
</GroupBox>
<!--ProcPatterns-->
<GroupBox >
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Proc], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Patterns], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<ContentControl Margin="5" Content="{Binding Path=ProcPatternSettingView, RelativeSource= {RelativeSource AncestorType=local:AlignRecipeSettingView}}"/>
</GroupBox>
</DockPanel>
</Grid>
</controls:UCKeyContentView.ContentView>
</controls:UCKeyContentView>
<controls:UCKeyContentView KeyText="Sub Params">
<controls:UCKeyContentView.ContentView>
<StackPanel Orientation="Horizontal">
<!--LightRetry-->
<GroupBox >
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Light], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Retry], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding ProcParams.LightRetryParams}" FontSize="13"/>
</GroupBox>
<!--InspParams-->
<GroupBox >
<GroupBox.Header>
<TextBlock Foreground="{DynamicResource AVHighlightOrange}" HorizontalAlignment="Left">
<Run Text="{Binding [Insp], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Params], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<aurora:PropertyGridEx SelectedObject="{Binding InspParams}" FontSize="13"/>
</GroupBox>
</StackPanel>
</controls:UCKeyContentView.ContentView>
</controls:UCKeyContentView>
</StackPanel>
</ScrollViewer>
</Grid>
</UserControl>