<UserControl x:Class="WpfDisplay.Views.Animation.ChannelEditor"
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:WpfDisplay.Views.Animation"
xmlns:common="clr-namespace:WpfDisplay.Views"
xmlns:vm="clr-namespace:WpfDisplay.ViewModels"
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="200"
d:DataContext="{d:DesignInstance Type=vm:ChannelViewModel, IsDesignTimeCreatable=False}"
>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Name}" Grid.Column="0"
ToolTip="Name" md:HintAssist.Hint="Channel Name" Style="{StaticResource MaterialDesignFloatingHintTextBox}" TextAlignment="Center" d:Text="Channel Name"/>
<Button Grid.Column="1" Style="{StaticResource MaterialDesignFlatButton}"
Command="{Binding CloseChannelEditorCommand}"
ToolTip="Close channel editor" Foreground="LightGreen"
>
✓
</Button>
</Grid>
<TextBox Text="{Binding Path, Mode=OneWay}" IsReadOnly="True" FontFamily="Consolas"
ToolTip="The property in the data structure that is controlled by this channel." md:HintAssist.Hint="Controlled value" Style="{StaticResource MaterialDesignFloatingHintTextBox}" md:TextFieldAssist.DecorationVisibility="Hidden" d:Text="Channel.Path"/>
<Grid>
<TextBlock VerticalAlignment="Center">Channel Drivers</TextBlock>
<Menu HorizontalAlignment="Right">
<MenuItem Header="+" Padding="8 0" FontSize="14" Height="26">
<MenuItem Icon="🎵" Header="Audio" Command="{Binding AddChannelDriverCommand}"/>
</MenuItem>
</Menu>
</Grid>
</StackPanel>
<!--TODO: ItemsControl for ChannelDrivers-->
<ScrollViewer Grid.Row="1">
<ScrollViewer.LayoutTransform>
<ScaleTransform ScaleX="0.75" ScaleY="0.75"/>
</ScrollViewer.LayoutTransform>
<Expander Visibility="{Binding HasAudioDriver, Converter={StaticResource booleanToVisibilityConverter}}"
IsExpanded="True"
VerticalAlignment="Top" md:ExpanderAssist.HorizontalHeaderPadding="0" Margin="4 0">
<Expander.Header>
<Grid>
<CheckBox IsChecked="{Binding IsDriverEnabled}">Audio Driver</CheckBox>
<Button Command="{Binding RemoveChannelDriverCommand}" Padding="10 0" Style="{StaticResource MaterialDesignFlatButton}" FontSize="9" HorizontalAlignment="Right">🗑️</Button>
</Grid>
</Expander.Header>
<StackPanel>
<ComboBox ItemsSource="{Binding AnimationVM.LoadedAudioChannels}"
SelectedItem="{Binding SelectedAudioChannelOption}"
md:HintAssist.Hint="Audio channel"/>
<common:ValueSlider Value="{Binding EffectStrength}" SliderSettings="{Binding EffectSlider}"/>
<common:ValueSlider Value="{Binding MinFreq}" SliderSettings="{Binding MinFreqSlider}"/>
<common:ValueSlider Value="{Binding MaxFreq}" SliderSettings="{Binding MaxFreqSlider}"/>
</StackPanel>
</Expander>
</ScrollViewer>
</Grid>
</UserControl>