778 lines
45 KiB
XML
778 lines
45 KiB
XML
<UserControl
|
|
x:Class="Tornado3_2026Election.Controls.ChannelSchedulePanel"
|
|
x:Name="Root"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:domain="using:Tornado3_2026Election.Domain"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:vm="using:Tornado3_2026Election.ViewModels"
|
|
mc:Ignorable="d">
|
|
|
|
<UserControl.Resources>
|
|
<Style x:Key="PanelCommandButtonStyle" TargetType="Button" BasedOn="{StaticResource ConsoleGhostButtonStyle}">
|
|
<Setter Property="MinWidth" Value="78" />
|
|
<Setter Property="FontSize" Value="12" />
|
|
<Setter Property="FontFamily" Value="Bahnschrift SemiBold" />
|
|
</Style>
|
|
|
|
<Style x:Key="MiniSignalTextStyle" TargetType="TextBlock" BasedOn="{StaticResource ConsoleLabelTextStyle}">
|
|
<Setter Property="Foreground" Value="{StaticResource ControlRoomTextPrimaryBrush}" />
|
|
<Setter Property="FontFamily" Value="Consolas" />
|
|
</Style>
|
|
</UserControl.Resources>
|
|
|
|
<Border
|
|
Padding="22"
|
|
Background="{StaticResource ControlRoomPanelGradientBrush}"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="26">
|
|
<StackPanel Spacing="18">
|
|
<Grid ColumnSpacing="16">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="6">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="28"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="{x:Bind ViewModel.Title, Mode=OneWay}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind ViewModel.OperatorQuickSummary, Mode=OneWay}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CgStatusSummary, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<StackPanel
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Right"
|
|
Spacing="10">
|
|
<Border
|
|
Padding="12,8"
|
|
Background="#33FF5A54"
|
|
BorderBrush="{StaticResource ControlRoomSignalRedBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="14">
|
|
<TextBlock
|
|
Style="{StaticResource MiniSignalTextStyle}"
|
|
Text="{x:Bind ViewModel.TransmissionLabel, Mode=OneWay}" />
|
|
</Border>
|
|
<Border
|
|
Padding="12,8"
|
|
Background="#22293B52"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="14">
|
|
<TextBlock
|
|
Style="{StaticResource MiniSignalTextStyle}"
|
|
Text="{x:Bind ViewModel.AdapterStateLabel, Mode=OneWay}" />
|
|
</Border>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="1.25*" />
|
|
<ColumnDefinition Width="1.25*" />
|
|
<ColumnDefinition Width="0.8*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Border
|
|
Padding="16"
|
|
Background="#18263A"
|
|
BorderBrush="#25405D"
|
|
BorderThickness="1"
|
|
CornerRadius="18">
|
|
<StackPanel Spacing="8">
|
|
<TextBlock Style="{StaticResource ConsoleLabelTextStyle}" Text="현재" />
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="22"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="{x:Bind ViewModel.CurrentItemName, Mode=OneWay}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind ViewModel.QueueSummary, Mode=OneWay}" />
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<Border
|
|
Grid.Column="1"
|
|
Padding="16"
|
|
Background="#1E2438"
|
|
BorderBrush="#5D4B35"
|
|
BorderThickness="1"
|
|
CornerRadius="18">
|
|
<StackPanel Spacing="8">
|
|
<TextBlock Style="{StaticResource ConsoleLabelTextStyle}" Text="다음" />
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="22"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="{x:Bind ViewModel.NextItemName, Mode=OneWay}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind ViewModel.LoopSummary, Mode=OneWay}" />
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<Border
|
|
Grid.Column="2"
|
|
Padding="16"
|
|
Background="#131D2B"
|
|
BorderBrush="#27405F"
|
|
BorderThickness="1"
|
|
CornerRadius="18">
|
|
<StackPanel Spacing="6">
|
|
<TextBlock Style="{StaticResource ConsoleLabelTextStyle}" Text="대기열" />
|
|
<TextBlock
|
|
FontFamily="Consolas"
|
|
FontSize="30"
|
|
Foreground="{StaticResource ControlRoomSignalAmberBrush}"
|
|
Text="{x:Bind ViewModel.QueuedItemCount, Mode=OneWay}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind ViewModel.QueueFootnote, Mode=OneWay}" />
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<Border
|
|
Padding="16"
|
|
Background="#0C1421"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="20">
|
|
<StackPanel Spacing="14">
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="제어 패널" />
|
|
|
|
<Grid ColumnSpacing="16">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="14">
|
|
<Grid ColumnSpacing="12" RowSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="240" />
|
|
<ColumnDefinition Width="220" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<ComboBox
|
|
Grid.Column="0"
|
|
DisplayMemberPath="Name"
|
|
ItemsSource="{x:Bind ViewModel.AvailableFormats, Mode=OneWay}"
|
|
SelectedItem="{x:Bind ViewModel.SelectedFormat, Mode=TwoWay}" />
|
|
|
|
<ComboBox
|
|
Grid.Column="1"
|
|
DisplayMemberPath="Label"
|
|
ItemsSource="{x:Bind ViewModel.RegionOptions, Mode=OneWay}"
|
|
SelectedItem="{x:Bind ViewModel.SelectedRegionOption, Mode=TwoWay}" />
|
|
|
|
<Button
|
|
Grid.Column="2"
|
|
Command="{x:Bind ViewModel.AddFormatCommand}"
|
|
Content="컷 추가"
|
|
Style="{StaticResource ConsolePrimaryButtonStyle}" />
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="3"
|
|
Header="반복"
|
|
IsOn="{x:Bind ViewModel.LoopEnabled, Mode=TwoWay}" />
|
|
|
|
<ComboBox
|
|
Grid.Column="4"
|
|
Width="150"
|
|
DisplayMemberPath="Label"
|
|
ItemsSource="{x:Bind ViewModel.EmptyBehaviorOptions, Mode=OneWay}"
|
|
SelectedItem="{x:Bind ViewModel.SelectedEmptyBehaviorOption, Mode=TwoWay}" />
|
|
|
|
<Button
|
|
Grid.Column="5"
|
|
Width="22"
|
|
Height="22"
|
|
MinWidth="22"
|
|
MinHeight="22"
|
|
Padding="0"
|
|
VerticalAlignment="Center"
|
|
Content="?"
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="11">
|
|
<Button.Flyout>
|
|
<Flyout>
|
|
<TextBlock
|
|
MaxWidth="240"
|
|
Text="스케줄이 비었을 때의 동작입니다. 루프 유지, 정지, 대기 방식 중 하나를 선택합니다."
|
|
TextWrapping="WrapWholeWords" />
|
|
</Flyout>
|
|
</Button.Flyout>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<StackPanel
|
|
Orientation="Horizontal"
|
|
Spacing="10">
|
|
<Button
|
|
Command="{x:Bind ViewModel.StartCommand}"
|
|
Content="시작"
|
|
Style="{StaticResource ConsolePrimaryButtonStyle}" />
|
|
<Button
|
|
Command="{x:Bind ViewModel.StopCommand}"
|
|
Content="정지"
|
|
Style="{StaticResource ConsoleGhostButtonStyle}" />
|
|
<Button
|
|
Command="{x:Bind ViewModel.ForceNextCommand}"
|
|
Style="{StaticResource ConsoleGhostButtonStyle}">
|
|
<TextBlock TextAlignment="Center">
|
|
<Run Text="다음 컷" />
|
|
<LineBreak />
|
|
<Run Text="즉시 송출" />
|
|
</TextBlock>
|
|
</Button>
|
|
<Button
|
|
Command="{x:Bind ViewModel.ForceQueueNextCommand}"
|
|
Style="{StaticResource ConsoleGhostButtonStyle}">
|
|
<TextBlock TextAlignment="Center">
|
|
<Run Text="다음 목록" />
|
|
<LineBreak />
|
|
<Run Text="즉시 송출" />
|
|
</TextBlock>
|
|
</Button>
|
|
<Button
|
|
Command="{x:Bind ViewModel.ResetQueueCommand}"
|
|
Content="큐 초기화"
|
|
Style="{StaticResource ConsoleGhostButtonStyle}" />
|
|
</StackPanel>
|
|
|
|
<Border
|
|
Padding="12"
|
|
Background="#101C2E"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="8"
|
|
Visibility="{x:Bind ViewModel.CutDebugPanelVisibility, Mode=OneWay}">
|
|
<StackPanel Spacing="12">
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="4">
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="컷 디버그" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugSummary, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="항목을 하나씩 끄고 다시 송출하면 어떤 값 묶음이 화면을 바꾸는지 바로 비교할 수 있습니다."
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Right"
|
|
IsOn="{x:Bind ViewModel.CutDebug.IsEnabled, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="텍스트 값" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugTextTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyTextValues, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="이미지 값" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugImageTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyImageValues, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="표시/숨김" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugVisibilityTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyVisibilityValues, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="득표율 텍스트" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugVoteRateTextTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyVoteRateTextValues, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="득표율 카운터" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugVoteRateCounterTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyVoteRateCounterValues, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="정당 바/막대 색상" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugPartyBarColorTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyPartyBarStyleColors, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="정당 판/문자 색상" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugPartyPlateColorTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyPartyPlateStyleColors, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Grid ColumnSpacing="12">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="14"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="득표율 색상" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.CutDebugVoteRateColorTargets, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
</StackPanel>
|
|
|
|
<ToggleSwitch
|
|
Grid.Column="1"
|
|
IsOn="{x:Bind ViewModel.CutDebug.ApplyVoteRateStyleColors, Mode=TwoWay}"
|
|
OffContent="OFF"
|
|
OnContent="ON" />
|
|
</Grid>
|
|
|
|
<Border
|
|
Padding="12"
|
|
Background="#0B1624"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="8">
|
|
<StackPanel Spacing="8">
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="개별 항목 토글" />
|
|
<TextBlock Style="{StaticResource ConsoleBodyTextStyle}">
|
|
<Run Text="항목 " />
|
|
<Run Text="{x:Bind ViewModel.CutDebugItemCount, Mode=OneWay}" />
|
|
<Run Text="개" />
|
|
</TextBlock>
|
|
<ListView
|
|
MaxHeight="300"
|
|
ItemsSource="{x:Bind ViewModel.CutDebugItems, Mode=OneWay}"
|
|
SelectionMode="None">
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate x:DataType="domain:CutDebugItemState">
|
|
<Grid
|
|
Margin="0,0,0,6"
|
|
ColumnSpacing="10">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<CheckBox
|
|
VerticalAlignment="Center"
|
|
IsChecked="{x:Bind IsEnabled, Mode=TwoWay}" />
|
|
|
|
<Border
|
|
Grid.Column="1"
|
|
Padding="8,4"
|
|
Background="#18314B"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="6">
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind KindLabel, Mode=OneWay}" />
|
|
</Border>
|
|
|
|
<StackPanel
|
|
Grid.Column="2"
|
|
Spacing="2">
|
|
<TextBlock
|
|
FontFamily="Consolas"
|
|
FontSize="13"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="{x:Bind Key, Mode=OneWay}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind GroupLabel, Mode=OneWay}" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<Border
|
|
Grid.Column="1"
|
|
Padding="12"
|
|
Background="#101C2E"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="8">
|
|
<StackPanel Spacing="8">
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="선택된 컷 미리보기" />
|
|
<Border
|
|
Width="{x:Bind ViewModel.SelectedFormatThumbnailWidth, Mode=OneWay}"
|
|
Height="{x:Bind ViewModel.SelectedFormatThumbnailHeight, Mode=OneWay}"
|
|
Background="#0B1624"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="6">
|
|
<Image
|
|
Source="{x:Bind ViewModel.SelectedFormatThumbnailSource, Mode=OneWay}"
|
|
Stretch="Uniform" />
|
|
</Border>
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="16"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="{x:Bind ViewModel.SelectedFormatName, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind ViewModel.SelectedFormatDescription, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords"
|
|
MaxLines="2" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.SelectedFormatPath, Mode=OneWay}"
|
|
TextWrapping="WrapWholeWords"
|
|
MaxLines="2" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind ViewModel.SelectedFormatThumbnailStatus, Mode=OneWay}" />
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<Border
|
|
Padding="16"
|
|
Background="#0B1220"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="20">
|
|
<StackPanel Spacing="14">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel Orientation="Horizontal" Spacing="8">
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleSectionTitleTextStyle}"
|
|
Text="대기 중 목록" />
|
|
<Button
|
|
Width="22"
|
|
Height="22"
|
|
MinWidth="22"
|
|
MinHeight="22"
|
|
Padding="0"
|
|
VerticalAlignment="Center"
|
|
Content="?"
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="11">
|
|
<Button.Flyout>
|
|
<Flyout>
|
|
<TextBlock
|
|
MaxWidth="280"
|
|
Text="빨강은 현재 송출 중, 노랑은 다음 송출 예정입니다. 목록의 다음 버튼은 다음 예약만 바꾸고, '다음 컷 즉시 송출'은 노란 컷을 바로 송출합니다. '다음 목록 즉시 송출'은 대기열 순서상 다음 목록을 바로 송출합니다."
|
|
TextWrapping="WrapWholeWords" />
|
|
</Flyout>
|
|
</Button.Flyout>
|
|
</Button>
|
|
</StackPanel>
|
|
<TextBlock
|
|
Grid.Column="1"
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="실행 순서" />
|
|
</Grid>
|
|
|
|
<ListView
|
|
x:Name="QueueListView"
|
|
ItemsSource="{x:Bind ViewModel.Queue, Mode=OneWay}"
|
|
SelectionMode="None">
|
|
<ListView.ItemContainerTransitions>
|
|
<TransitionCollection>
|
|
<AddDeleteThemeTransition />
|
|
<ReorderThemeTransition />
|
|
</TransitionCollection>
|
|
</ListView.ItemContainerTransitions>
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate x:DataType="domain:ChannelScheduleItem">
|
|
<Border
|
|
Margin="0,0,0,10"
|
|
Opacity="{x:Bind CardOpacity, Mode=OneWay}"
|
|
Padding="14"
|
|
Background="#122033"
|
|
BorderBrush="#27405F"
|
|
BorderThickness="1"
|
|
CornerRadius="18">
|
|
<Grid ColumnSpacing="14">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="140" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Border
|
|
Background="{x:Bind StateBrush, Mode=OneWay}"
|
|
CornerRadius="4" />
|
|
|
|
<StackPanel Grid.Column="1" Spacing="6">
|
|
<Border
|
|
Padding="10,6"
|
|
Background="#1A2E47"
|
|
CornerRadius="12">
|
|
<TextBlock
|
|
Style="{StaticResource MiniSignalTextStyle}"
|
|
Text="{x:Bind StateLabel, Mode=OneWay}" />
|
|
</Border>
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind LastPlayedLabel, Mode=OneWay}" />
|
|
</StackPanel>
|
|
|
|
<StackPanel
|
|
Grid.Column="2"
|
|
Spacing="6"
|
|
VerticalAlignment="Center">
|
|
<Border
|
|
Width="{x:Bind ThumbnailWidth, Mode=OneWay}"
|
|
Height="{x:Bind ThumbnailHeight, Mode=OneWay}"
|
|
Background="#0B1624"
|
|
BorderBrush="{StaticResource ControlRoomPanelStrokeBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="8">
|
|
<Image
|
|
Source="{x:Bind ThumbnailSource, Mode=OneWay}"
|
|
Stretch="Uniform" />
|
|
</Border>
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
HorizontalAlignment="Center"
|
|
Text="{x:Bind ThumbnailStatusLabel, Mode=OneWay}" />
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Column="3" Spacing="6">
|
|
<TextBlock
|
|
FontFamily="Bahnschrift SemiBold"
|
|
FontSize="18"
|
|
Foreground="{StaticResource ControlRoomTextPrimaryBrush}"
|
|
Text="{x:Bind DisplayName}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleBodyTextStyle}"
|
|
Text="{x:Bind Description}" />
|
|
<TextBlock
|
|
Style="{StaticResource ConsoleLabelTextStyle}"
|
|
Text="{x:Bind DisplayRegionLabel, Mode=OneWay}" />
|
|
<TextBlock Style="{StaticResource ConsoleLabelTextStyle}">
|
|
<Run Text="컷 " />
|
|
<Run Text="{x:Bind TotalCuts}" />
|
|
<Run Text=" | 기본 " />
|
|
<Run Text="{x:Bind DefaultCutDurationSeconds}" />
|
|
<Run Text="초" />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
|
|
<StackPanel
|
|
Grid.Column="4"
|
|
Orientation="Horizontal"
|
|
Spacing="8"
|
|
VerticalAlignment="Center">
|
|
<Button
|
|
Click="PromoteToNextButton_Click"
|
|
Content="다음"
|
|
Style="{StaticResource PanelCommandButtonStyle}" />
|
|
<Button
|
|
Click="MoveUpButton_Click"
|
|
Content="위"
|
|
Style="{StaticResource PanelCommandButtonStyle}" />
|
|
<Button
|
|
Click="MoveDownButton_Click"
|
|
Content="아래"
|
|
Style="{StaticResource PanelCommandButtonStyle}" />
|
|
<Button
|
|
Click="RemoveItemButton_Click"
|
|
Content="제거"
|
|
Style="{StaticResource PanelCommandButtonStyle}" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
</Border>
|
|
</UserControl>
|
|
|