187 lines
11 KiB
XML
187 lines
11 KiB
XML
<Window x:Class="JD.Timeline.View.Helpers.MotionClipEditionHelper"
|
|
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:converters="clr-namespace:JD.Timeline.View.Converters"
|
|
xmlns:serialization="clr-namespace:JD.Serialization;assembly=JD.Serialization"
|
|
xmlns:helpers="clr-namespace:JD.Timeline.View.Helpers"
|
|
mc:Ignorable="d"
|
|
Width="299"
|
|
WindowStyle="None"
|
|
AllowsTransparency="True"
|
|
ShowInTaskbar="False"
|
|
Deactivated="Window_Deactivated"
|
|
Background="Transparent"
|
|
SizeToContent="Height"
|
|
Height="126" Activated="Window_Activated">
|
|
<Window.Resources>
|
|
<!-- Converters -->
|
|
<BooleanToVisibilityConverter x:Key="boolToVisibility" />
|
|
<converters:WinFormsColorToWpfColorConverter x:Key="WinFormsColorToWpfColor" />
|
|
|
|
<!-- Golden clip checkbox template -->
|
|
<Style x:Key="GoldenMoveStyle" TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Template" >
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type CheckBox}">
|
|
<StackPanel Orientation="Vertical" Visibility="{Binding IsGoldenMoveEditable,Converter={StaticResource boolToVisibility}}">
|
|
<Grid>
|
|
<Border Width="32" Height="32" BorderThickness="1" BorderBrush="DarkGray">
|
|
<Image Source="/JD.Timeline;component/Resources/Icon_64x64_picto_gold.png" Stretch="Fill" />
|
|
</Border>
|
|
<Rectangle x:Name="checkedOverlay" Fill="#B2F1D54E" Width="32" Height="32"/>
|
|
</Grid>
|
|
<TextBlock x:Name="pictoText" Text="Golden" TextAlignment="Center" Foreground="DarkGray" FontSize="10"/>
|
|
</StackPanel>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="False">
|
|
<Setter TargetName="checkedOverlay" Property="Visibility" Value="Hidden" />
|
|
<Setter TargetName="pictoText" Property="Foreground" Value="DarkGray" />
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="checkedOverlay" Property="Visibility" Value="Visible" />
|
|
<Setter TargetName="pictoText" Property="Foreground" Value="#FFEA8E42" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- Template for move models in Combobox -->
|
|
<DataTemplate x:Key="MoveModelDataTemplate" DataType="serialization:MoveModel" >
|
|
|
|
<Border x:Name="MoveModelDataTemplateBorder" Background="Transparent">
|
|
<Grid Name="MoveModelDataTemplateGrid">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
|
<ColumnDefinition Width="1*"></ColumnDefinition>
|
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
|
</Grid.ColumnDefinitions>
|
|
<Rectangle Grid.Column="0" Width="16" Height="16" Margin="2">
|
|
<Rectangle.Fill>
|
|
<SolidColorBrush Color="{Binding Path=Color, Mode=OneWay, Converter={StaticResource ResourceKey=WinFormsColorToWpfColor}}" />
|
|
</Rectangle.Fill>
|
|
</Rectangle>
|
|
<TextBlock Grid.Column="1" Text="{Binding Name}" VerticalAlignment="Center" Margin="2 0 0 0" HorizontalAlignment="Stretch"/>
|
|
<Button Grid.Column="2" ToolTip="Create a copy of this model" Click="CreateNewModelButton_Click" >
|
|
<Button.Style>
|
|
<Style TargetType="{x:Type Button}">
|
|
<Setter Property="Opacity" Value="0.2"></Setter>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ElementName=MoveModelDataTemplateBorder, Path=IsMouseOver}" Value="True">
|
|
<Setter Property="Opacity" Value="1.0"></Setter>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
<Image Source="/JD.Timeline;component/Resources/Icon_16x16_AddModel.png" />
|
|
</Button>
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<!-- Template for first entry in combobox used to add new movemodels -->
|
|
<DataTemplate x:Key="CreateMoveModelDataTemplate" DataType="helpers:AddNewMoveModelAction">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/JD.Timeline;component/Resources/Icon_16x16_AddModel.png" VerticalAlignment="Center" Margin="0 4 4 4"/>
|
|
<TextBlock Text="Create new model" VerticalAlignment="Center" Margin="0 4 4 4" FontWeight="Bold" />
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
|
|
<!-- Template selector for combobox -->
|
|
<helpers:MoveModelHelperTemplateSelector x:Key="DataTemplateSelector"
|
|
MoveModelDataTemplate="{StaticResource MoveModelDataTemplate}"
|
|
CreateMoveModelDataTemplate="{StaticResource CreateMoveModelDataTemplate}" />
|
|
|
|
</Window.Resources>
|
|
|
|
<!-- Window loading animation -->
|
|
<Window.Triggers>
|
|
<EventTrigger RoutedEvent="Window.Loaded">
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Duration="00:00:00.250" Storyboard.TargetProperty="Opacity" From="0" To="1" >
|
|
<DoubleAnimation.EasingFunction>
|
|
<CubicEase EasingMode="EaseIn"/>
|
|
</DoubleAnimation.EasingFunction>
|
|
</DoubleAnimation>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</EventTrigger>
|
|
</Window.Triggers>
|
|
|
|
<!-- Layout of the window -->
|
|
<Border Margin="5" Padding="5" Background="#DDFFFFFF" BorderBrush="LightGray" BorderThickness="2,2,2,2" CornerRadius="5" VerticalAlignment="Top">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="0" Width="Auto">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="1*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Grid.Row="0" Grid.Column="0" Text="Model" Margin="0 0 5 0" VerticalAlignment="Center"/>
|
|
|
|
<!-- Model Selection -->
|
|
<Grid Grid.Row="0" Grid.Column="1" >
|
|
<!-- Validation background color -->
|
|
<Rectangle>
|
|
<Rectangle.Style >
|
|
<Style TargetType="{x:Type Rectangle}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ShowNameWarning}" Value="False">
|
|
<Setter Property="Fill" Value="White"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding ShowNameWarning}" Value="True">
|
|
<Setter Property="Fill" Value="#FFEAA8A8"/>
|
|
<Setter Property="ToolTip" Value="This name is not valid."/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Rectangle.Style>
|
|
</Rectangle>
|
|
<!-- Watermark -->
|
|
<TextBlock Text="Enter model name" Foreground="Gray" FontStyle="Italic" Margin="5 2 0 0" Visibility="{Binding ShowWatermarkText,Converter={StaticResource boolToVisibility}}" />
|
|
<!-- Model Selection combobox -->
|
|
<ComboBox IsEditable="True" Background="Transparent" IsTextSearchEnabled="False" Name="_modelComboBox" ItemsSource="{Binding ModelList}" ItemTemplateSelector="{StaticResource DataTemplateSelector}" SelectionChanged="Models_SelectionChanged" TextBoxBase.TextChanged="Models_TextChanged" HorizontalContentAlignment="Stretch" />
|
|
</Grid>
|
|
|
|
<!-- Checkboxes to select color and golden -->
|
|
<StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal" Margin="0 5 0 0">
|
|
<CheckBox Margin="0 0 0 0" Style="{StaticResource ResourceKey=GoldenMoveStyle}" IsChecked="{Binding IsGoldenChecked}"/>
|
|
<StackPanel Margin="5 0 0 0" Orientation="Vertical" DataContext="{Binding CurrentModel}">
|
|
<Border Width="32" Height="32" BorderThickness="1" BorderBrush="DarkGray">
|
|
<Rectangle Width="32" Height="32" MouseLeftButtonDown="Color_MouseLeftButtonDown" >
|
|
<Rectangle.Fill>
|
|
<SolidColorBrush Color="{Binding Path=Color, Mode=OneWay, Converter={StaticResource ResourceKey=WinFormsColorToWpfColor}}" />
|
|
</Rectangle.Fill>
|
|
</Rectangle>
|
|
</Border>
|
|
<TextBlock Text="Color" TextAlignment="Center" Foreground="DarkGray" FontSize="10"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<!-- Dialog Buttons -->
|
|
<Grid Grid.Row="2" Visibility="{Binding IsModal,Converter={StaticResource boolToVisibility}}" Margin="0 5 0 0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Column="1" Click="OkClick" Content="Ok" IsDefault="true" Height="23" HorizontalAlignment="Right" Margin="0,0,12,0" VerticalAlignment="Bottom" Width="75" IsEnabled="{Binding IsCurrentNameValid}"/>
|
|
<Button Grid.Column="2" Click="CancelClick" Content="Cancel" IsCancel="True" Height="23" HorizontalAlignment="Right" Margin="0,0,12,0" VerticalAlignment="Bottom" Width="75" />
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</Window>
|