183 lines
11 KiB
XML
183 lines
11 KiB
XML
<Window x:Class="JD.Timeline.View.Helpers.PictogramClipEditionHelper"
|
|
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:helpers="clr-namespace:JD.Timeline.View.Helpers"
|
|
xmlns:serialization="clr-namespace:JD.Serialization;assembly=JD.Serialization"
|
|
xmlns:converters="clr-namespace:JD.Timeline.View.Converters"
|
|
mc:Ignorable="d"
|
|
Width="406"
|
|
WindowStyle="None"
|
|
AllowsTransparency="True"
|
|
ShowInTaskbar="False"
|
|
Deactivated="Window_Deactivated"
|
|
Background="Transparent"
|
|
SizeToContent="Height"
|
|
Topmost="False"
|
|
d:DesignHeight="127" Activated="Window_Activated">
|
|
<Window.Resources>
|
|
<!-- Converters -->
|
|
<BooleanToVisibilityConverter x:Key="boolToVisibility" />
|
|
<converters:PictogramImageConverter x:Key="imageConverter" />
|
|
|
|
<!-- Style used to display pictogram flags checkboxes -->
|
|
<Style x:Key="PictogramFlagStyle" TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Template" >
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type CheckBox}">
|
|
<StackPanel Orientation="Vertical">
|
|
<Grid>
|
|
<Border Width="32" Height="32" BorderThickness="1" BorderBrush="DarkGray">
|
|
<Image Source="{Binding IconUri}" Stretch="Fill" />
|
|
</Border>
|
|
<Rectangle x:Name="pictoCheckedOverlay" Fill="#B2F1D54E" Width="32" Height="32"/>
|
|
</Grid>
|
|
<TextBlock x:Name="pictoText" Text="{Binding Flag}" TextAlignment="Center" Foreground="DarkGray" FontSize="10"/>
|
|
</StackPanel>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="False">
|
|
<Setter TargetName="pictoCheckedOverlay" Property="Visibility" Value="Hidden" />
|
|
<Setter TargetName="pictoText" Property="Foreground" Value="DarkGray" />
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="pictoCheckedOverlay" Property="Visibility" Value="Visible" />
|
|
<Setter TargetName="pictoText" Property="Foreground" Value="#FFEA8E42" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- Template for picto models in Combobox -->
|
|
<DataTemplate x:Key="PictogramModelDataTemplate" DataType="serialization:PictogramModel">
|
|
<StackPanel Orientation="Horizontal" Height="42">
|
|
<Image Source="{Binding Path=., Converter={StaticResource imageConverter}}" MaxHeight="42"/>
|
|
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
|
|
<!-- Template for first entry in combobox used to add new models -->
|
|
<DataTemplate x:Key="CreatePictogramModelDataTemplate" DataType="helpers:AddNewPictogramModelAction">
|
|
<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="4 4 4 4" FontWeight="Bold" />
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
|
|
<!-- Template selector for combobox -->
|
|
<helpers:PictogramModelHelperTemplateSelector x:Key="DataTemplateSelector"
|
|
PictogramModelDataTemplate="{StaticResource PictogramModelDataTemplate}"
|
|
CreatePictogramModelDataTemplate="{StaticResource CreatePictogramModelDataTemplate}" />
|
|
|
|
</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*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock 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" VerticalAlignment="Center" FontStyle="Italic" Margin="5 0 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" >
|
|
</ComboBox>
|
|
</Grid>
|
|
<Button Grid.Column="2" Click="SnapshotButton_Click" ToolTip="Take a snapshot from video at current time" Margin="5 0 0 0" Height="24" Width="24" Visibility="{Binding ShowSnapshotButton,Converter={StaticResource boolToVisibility}}" >
|
|
<StackPanel>
|
|
<Image Source="/JD.Timeline;component/Resources/Icon_24x24_Snapshot.png" />
|
|
</StackPanel>
|
|
</Button>
|
|
<Button Grid.Column="3" Click="EditButton_Click" ToolTip="Edit pictogram image in external program" Margin="5 0 0 0" Height="24" Width="24" Visibility="{Binding ShowEditButton,Converter={StaticResource boolToVisibility}}" >
|
|
<StackPanel>
|
|
<Image Source="/JD.Timeline;component/Resources/Icon_24x24_Edit.png" />
|
|
</StackPanel>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<!-- Checkboxes to select pictogram flags -->
|
|
<ItemsControl Grid.Row="1" x:Name="_pictoFlags" Height="Auto" Margin="0,0,0,0">
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel />
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate DataType="helpers:PictogramFlagViewModel">
|
|
<StackPanel Orientation="Vertical" Margin="3 3 3 3">
|
|
<CheckBox Style="{StaticResource ResourceKey=PictogramFlagStyle}" IsChecked="{Binding IsChecked}"/>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
<helpers:PictogramFlagViewModel Flag="Pose" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_pose.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Move" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_arrow.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Arrow" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_arrow.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Ghost" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_ghost.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Shake" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_shake.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Clap" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_clap.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Punch" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_punch.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Object" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_object.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Jump" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_jump.png" />
|
|
<helpers:PictogramFlagViewModel Flag="Gold" IconUri="/JD.Timeline;component/Resources/Icon_64x64_picto_gold.png" />
|
|
</ItemsControl>
|
|
|
|
<!-- 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>
|