LGES-OC5-PtoP-Welder/AuroraDevices/AuroraLaser/Coherent/HyperRapid/UCCoherentHyperRapidLaserDevice.xaml
2026-06-05 13:44:39 +09:00

169 lines
10 KiB
XML

<UserControl x:Class="AuroraLaser.Coherent.UCCoherentHyperRapidLaserDevice"
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:AuroraLaser.Coherent"
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"
d:DataContext="{d:DesignInstance Type=local:UCCoherentHyperRapidLaserDeviceViewModel}"
mc:Ignorable="d" x:Name="uc"
d:DesignHeight="750" d:DesignWidth="800">
<!--번역은 나중에 머지하고 꼭! 적용하자-->
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<aurora:SharedResourceDictionary Source="pack://application:,,,/AuroraUIComponent;component/Style/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<aurora:BoolConverter x:Key="convSignalConv" TrueValue="Lime" FalseValue="Gray"/>
<aurora:BoolConverter x:Key="bccConnection" TrueValue="LawnGreen" FalseValue="LightGray"/>
<aurora:BoolConverter x:Key="bscConnection" TrueValue="Connected" FalseValue="Disconnected"/>
<aurora:BoolConverter x:Key="bccShutter" TrueValue="LawnGreen" FalseValue="LightGray"/>
<aurora:BoolConverter x:Key="bccFault" TrueValue="Red" FalseValue="LightGray"/>
</ResourceDictionary>
</UserControl.Resources>
<behavior:Interaction.Triggers>
<behavior:PropertyChangedTrigger Binding="{Binding IsVisible, ElementName=uc}">
<behavior:InvokeCommandAction Command="{Binding CMD_VisibleChanged}" CommandParameter="{Binding IsVisible, ElementName=uc}"/>
</behavior:PropertyChangedTrigger>
</behavior:Interaction.Triggers>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="80"/>
<RowDefinition Height="80"/>
<RowDefinition Height="160"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.14*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
</Grid.ColumnDefinitions>
<GroupBox Grid.Row="0" Grid.Column="0" Margin="2" Header="Connection">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Margin="2" Background="{Binding IsConnection, Converter={StaticResource bccConnection}}"
CornerRadius="20" Width="20" Height="20" BorderThickness="1" BorderBrush="Black"/>
<TextBlock Grid.Row="0" Grid.Column="1" Margin="2,8,0,7" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding LaserConnect}" Grid.ColumnSpan="2"/>
<Button Grid.Row="0" Grid.Column="3" Margin="2" Content="Connect" IsEnabled="False"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="0" Grid.Column="1" Margin="2" Header="LaserShutter">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="113"/>
<ColumnDefinition Width="8"/>
<ColumnDefinition Width="79"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Margin="2" Background="{Binding IsInternalShutterOpened, Converter={StaticResource bccShutter}}"
CornerRadius="20" Width="20" Height="20" BorderThickness="1" BorderBrush="Black"/>
<mah:ToggleSwitch Grid.Row="0" Grid.Column="1" Margin="2" IsOn="{Binding IsInternalShutterOpened}"
OnContent="Opened" OffContent="Closed" Command="{Binding CMD_SetInternalShutter}" Grid.ColumnSpan="3"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="0" Grid.Column="2" Margin="2" Header="ShutterCylider">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="121"/>
<ColumnDefinition Width="79"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Margin="2" Background="{Binding IsShutterOpened, Converter={StaticResource bccShutter}}"
CornerRadius="20" Width="20" Height="20" BorderThickness="1" BorderBrush="Black"/>
<mah:ToggleSwitch Grid.Row="0" Grid.Column="1" Margin="2" IsOn="{Binding IsShutterOpened}"
OnContent="Opened" OffContent="Closed" Command="{Binding CMD_SetShutter}" Grid.ColumnSpan="2"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Margin="2" Header="System Status">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Margin="2" Background="{Binding IsSystemActivated, Converter={StaticResource bccConnection}}"
CornerRadius="20" Width="20" Height="20" BorderThickness="1" BorderBrush="Black"/>
<TextBlock Grid.Row="0" Grid.Column="1" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding curSystemStatus}"/>
<Button Grid.Row="0" Grid.Column="2" Margin="2" Content="Stop" Command="{Binding CMD_StopSystem}"/>
<Button Grid.Row="0" Grid.Column="3" Margin="2" Content="Start" Command="{Binding CMD_StartSystem}"/>
<Button Grid.Row="0" Grid.Column="4" Margin="2" Content="Clear" Command="{Binding CMD_ClearSystem}"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Margin="2" Header="Output">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30*"/>
<RowDefinition Height="30*"/>
<RowDefinition Height="30*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Center"
Text="Transmission (%)"/>
<TextBox Grid.Row="0" Grid.Column="1" Margin="2" VerticalContentAlignment="Center" Text="{Binding Transmission}"/>
<TextBlock Grid.Row="0" Grid.Column="2" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Center"
Text="[%]"/>
<Button Grid.Row="0" Grid.Column="4" Margin="2" Content="Set" Command="{Binding CMD_SetTransmission}"/>
<TextBox Grid.Row="0" Grid.Column="3" Margin="2" VerticalContentAlignment="Center" Text="{Binding CurTransmission}" IsReadOnly="True"/>
<TextBlock Grid.Row="1" Grid.Column="0" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Center"
Text="% of max"/>
<TextBox Grid.Row="1" Grid.Column="1" Margin="2" VerticalContentAlignment="Center" Text="{Binding OutputPower}"/>
<TextBlock Grid.Row="1" Grid.Column="2" Margin="2" HorizontalAlignment="Left" VerticalAlignment="Center"
Text="[%]"/>
<Button Grid.Row="1" Grid.Column="4" Margin="2" Content="Set" Command="{Binding CMD_SetPower}"/>
<TextBox Grid.Row="1" Grid.Column="3" Margin="2" VerticalContentAlignment="Center" Text="{Binding CurOutputPower}" IsReadOnly="True"/>
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5" Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="30*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0" Margin="2" Content="ON" Command="{Binding CMD_UmacLaserPowerOn}"/>
<Button Grid.Row="1" Grid.Column="1" Margin="2" Content="OFF" Command="{Binding CMD_UmacLaserPowerOff}"/>
<TextBox Grid.Row="0" Grid.Column="2" Margin="2" Grid.ColumnSpan="3" VerticalContentAlignment="Center" Text="{Binding CurAmp}" IsReadOnly="True"/>
</Grid>
</Grid>
</GroupBox>
<GroupBox Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" Margin="2" Header="Log">
<Grid>
<ListBox ItemsSource="{Binding LaserLogMessage}"/>
</Grid>
</GroupBox>
</Grid>
</UserControl>