2026-01-26 14:51:28 +09:00

129 lines
9.5 KiB
XML

<UserControl x:Class="AuroraUIComponent.UserControls.SequenceDrawer.UCSequenceDiagramControl"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:AuroraUIComponent.UserControls.SequenceDrawer"
mc:Ignorable="d" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
d:DesignHeight="950" d:DesignWidth="900"
d:DataContext="{d:DesignInstance Type=local:UCSequenceDiagramControlViewModel}"
x:Name="uc">
<!--dx:ThemeManager.ThemeName="VS2019Dark">-->
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<aurora:SharedResourceDictionary Source="pack://application:,,,/AuroraUIComponent;component/Style/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<local:StartStopTokenConveter x:Key="ConvStart"/>
<local:PauseResumeTokenConveter x:Key="ConvPauseContent"/>
<aurora:BoolConverter x:Key="ConvPauseEnable" FalseValue="false" TrueValue="true"/>
<aurora:BoolConverter x:Key="convVisibleCollapsed" FalseValue="Collapsed" TrueValue="Visible"/>
<aurora:BoolConverter x:Key="convTrueLayerFalseTree" FalseValue="Layer" TrueValue="Tree"/>
<aurora:BoolConverter x:Key="convTrueStraightFalseCurved" FalseValue="Straight" TrueValue="Curved"/>
</ResourceDictionary>
</UserControl.Resources>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="20" FontWeight="Bold" HorizontalAlignment="Left" Margin="10 0" Text="{Binding SequenceName}"
Foreground="#EAC77D" VerticalAlignment="Center"/>
<TextBlock HorizontalAlignment="Right" FontSize="14" FontWeight="Bold" Text="{Binding Param.SeqState}"
VerticalAlignment="Center" Margin="5" Foreground="#42C9B0"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<ToggleButton Grid.Row="1" Style="{StaticResource StToggleButtonLed}" Padding="10 0"
IsChecked="{Binding Param.IsStepMode}" Content="StepMode"/>
<UniformGrid Columns="1" Width="150">
<ToggleButton Grid.Column="1" Margin="5 0" Style="{StaticResource StToggleButtonAccentBlue}"
Command="{Binding CMD_Start}" CommandParameter="{Binding IsRunning}"
Content="{Binding IsRunning, Mode=OneWay, Converter={StaticResource ConvStart}}"
IsChecked="{Binding IsRunning, Mode=OneWay}"/>
<ToggleButton Grid.Column="1" Margin="5 0" Style="{StaticResource StToggleButtonAccentPurple}"
Command="{Binding CMD_Pause}" CommandParameter="{Binding IsPaused}"
Content="{Binding IsPaused, Mode=OneWay, Converter={StaticResource ConvPauseContent}}"
IsEnabled="{Binding IsRunning, Mode=OneWay, Converter={StaticResource ConvPauseEnable}}"
IsChecked="{Binding IsPaused, Mode=OneWay}"/>
</UniformGrid>
<Button Grid.Column="2" Style="{DynamicResource StButtonAccent}" Margin="5 0" Padding="10 5"
Content="Refresh"
Command="{Binding CMD_Refresh}"/>
<Button Grid.Column="2" Style="{DynamicResource StButtonAccentGray}" Margin="5 0" Padding="10 5"
Content="Zoom"
Command="{Binding CMD_Zoom}" IsEnabled="{Binding EnableZoomButton}"
Visibility="{Binding ShowZoomButton, Converter={StaticResource convVisibleCollapsed}}"/>
<Button Grid.Column="2" Style="{DynamicResource StButtonAccentGray}" Margin="5 0" Padding="10 5"
Content="Export"
Command="{Binding CMD_Export}"/>
</StackPanel>
<StackPanel Grid.Row="1" Panel.ZIndex="1" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Background="{StaticResource MahApps.Brushes.ThemeBackground}" Margin="0 5">
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0 5 0 0"
Visibility="{Binding ShowOptions, Converter={StaticResource convVisibleCollapsed}}"
IsEnabled="{Binding IsRunning, Converter={StaticResource inverter}}">
<GroupBox Header="Layer/Tree" Margin="5 0 0 0">
<StackPanel>
<RadioButton GroupName="LayerTree" IsChecked="{Binding Param.IsOptionLayer}"
Content="Layer"
Style="{StaticResource StButtonRadio}" HorizontalContentAlignment="Left" Foreground="{StaticResource MahApps.Brushes.Foreground}"/>
<RadioButton GroupName="LayerTree" IsChecked="{Binding Param.IsOptionTree}"
Content="Tree"
Style="{StaticResource StButtonRadio}" HorizontalContentAlignment="Left" Foreground="{StaticResource MahApps.Brushes.Foreground}"/>
</StackPanel>
</GroupBox>
<GroupBox Header="Line Option" Margin="5 0 0 0">
<StackPanel>
<RadioButton GroupName="LineOpt" IsChecked="{Binding Param.IsOptionStraight}"
Content="Straight"
Style="{StaticResource StButtonRadio}" HorizontalContentAlignment="Left" Foreground="{StaticResource MahApps.Brushes.Foreground}"/>
<RadioButton GroupName="LineOpt" IsChecked="{Binding Param.IsOptionCurved}"
Content="Curved"
Style="{StaticResource StButtonRadio}" HorizontalContentAlignment="Left" Foreground="{StaticResource MahApps.Brushes.Foreground}"/>
<RadioButton GroupName="LineOpt" IsChecked="{Binding Param.IsOptionRightAngle}"
Content="RightAngle"
Style="{StaticResource StButtonRadio}" HorizontalContentAlignment="Left" Foreground="{StaticResource MahApps.Brushes.Foreground}"/>
</StackPanel>
<!--<ToggleButton IsChecked="{Binding Param.IsOptionStraight}" FontSize="12"
Content="{Binding Param.IsOptionStraight, Converter={StaticResource convTrueStraightFalseCurved}, FallbackValue=sTREIGHT}"/>-->
</GroupBox>
</StackPanel>
<StackPanel Grid.Row="1">
<CheckBox Content="Show SubSequences" IsChecked="{Binding Param.IsShowSubSequence}" VerticalAlignment="Top" Margin="5 0 0 0"/>
<CheckBox Content="Show Options" IsChecked="{Binding ShowOptions}" VerticalAlignment="Top" Margin="5 0 0 0"/>
<TextBlock Text="Cannot Change" Foreground="Gray" FontSize="10" HorizontalAlignment="Left" Margin="33 0 0 0" Visibility="{Binding ShowOptions, Converter={StaticResource convVisibleCollapsed}}"/>
<TextBlock Text="Options" Foreground="Gray" FontSize="10" HorizontalAlignment="Left" Margin="33 0 0 0" Visibility="{Binding ShowOptions, Converter={StaticResource convVisibleCollapsed}}"/>
<TextBlock Text="When Seq Is" Foreground="Gray" FontSize="10" HorizontalAlignment="Left" Margin="33 0 0 0" Visibility="{Binding ShowOptions, Converter={StaticResource convVisibleCollapsed}}"/>
<TextBlock Text="Running" Foreground="Gray" FontSize="10" HorizontalAlignment="Left" Margin="33 0 0 0" Visibility="{Binding ShowOptions, Converter={StaticResource convVisibleCollapsed}}"/>
</StackPanel>
</StackPanel>
<Grid Grid.Row="2" Margin="0 5 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<!--<local:UCSequenceDiagram x:Name="UCDiagram" Grid.Row="2" SeqBuilder="{Binding SelectedSeqBuilder}"/>-->
<ContentControl Content="{Binding ContentDiagram}"/>
<ContentControl Grid.Column="1" Content="{Binding CustomControl}"/>
</Grid>
<!-- <aurora:UCSequenceDiagram Grid.Column="1" Grid.RowSpan="3" Margin="10 10 5 5"
SequenceID="{Binding DataContext.SelectedSeq.SeqId, Mode=OneWay, ElementName=uc}"
DiagramType="{Binding DataContext.DiagramType, Mode=OneWay, ElementName=uc}"
LineType="{Binding DataContext.LineType, Mode=OneWay, ElementName=uc}"
ShowSubSequence="{Binding DataContext.IsShowSubSequence, Mode=OneWay, ElementName=uc}"/> -->
</Grid>
</UserControl>