493 lines
34 KiB
XML
493 lines
34 KiB
XML
<DockPanel
|
|
x:Class="JD.Guinness.WPF.Module.View.Ps4View"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:editors="http://schemas.actiprosoftware.com/winfx/xaml/editors"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:dataGrid="clr-namespace:ActiproSoftware.Windows.Controls.DataGrid;assembly=DataGrid.Contrib"
|
|
xmlns:behavior="clr-namespace:JD.Guinness.WPF.Module.Behavior"
|
|
xmlns:control="clr-namespace:JD.Guinness.WPF.Module.Control"
|
|
xmlns:sony="clr-namespace:JD.SonyTrophy.Service;assembly=JD.SonyTrophy.Service"
|
|
Name="This"
|
|
Margin="5">
|
|
<DockPanel.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceDictionary Source="../Resource/Icons.xaml"/>
|
|
<ResourceDictionary Source="../Resource/Converters.xaml"/>
|
|
</ResourceDictionary.MergedDictionaries>
|
|
<control:DataGridHeaderTemplateSelector x:Key="DataGridHeaderTemplateSelector" />
|
|
|
|
<Style TargetType="editors:AutoCompleteBox" BasedOn="{StaticResource {x:Type editors:AutoCompleteBox}}">
|
|
<Setter Property="ItemsSource" Value="{Binding DataContext.Game.OasisLines, ElementName=This}"/>
|
|
<Setter Property="PlaceholderText" Value="Select an oasis line"/>
|
|
<Setter Property="DataFilter">
|
|
<Setter.Value>
|
|
<editors:AutoCompleteBoxStringFilter />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="behavior:AutoCompleteBoxBehavior.ShowAllOnOpen" Value="True" />
|
|
</Style>
|
|
</ResourceDictionary>
|
|
</DockPanel.Resources>
|
|
<DockPanel DockPanel.Dock="Bottom" Margin="0,5,0,0">
|
|
<Button DockPanel.Dock="Right" VerticalAlignment="Bottom" Command="{Binding GenerateCommand}" Margin="5,0,0,0" Height="40" Padding="5">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="Generate " VerticalAlignment="Center"/>
|
|
<ContentPresenter ContentTemplate="{StaticResource GenerateIcon}"/>
|
|
</StackPanel>
|
|
</Button>
|
|
<TabControl Name="Zones" DockPanel.Dock="Bottom" ItemsSource="{Binding Configuration.Zones}" SelectedIndex="0">
|
|
<TabControl.Template>
|
|
<ControlTemplate TargetType="TabControl">
|
|
<Grid KeyboardNavigation.TabNavigation="Local">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="Zones" VerticalAlignment="Center" FontSize="15" Margin="0,0,5,0"/>
|
|
<TabPanel Name="HeaderPanel" Grid.Row="0" Panel.ZIndex="1" Margin="0,0,5,0" IsItemsHost="True" KeyboardNavigation.TabIndex="1" Background="Transparent" />
|
|
<Button ToolTip="Add PS4 zone" Command="{Binding AddZoneCommand}" VerticalAlignment="Center" Padding="0" Height="20">
|
|
<ContentPresenter ContentTemplate="{StaticResource AddIcon}"/>
|
|
</Button>
|
|
</StackPanel>
|
|
<Border
|
|
Grid.Row="1"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
KeyboardNavigation.TabNavigation="Local"
|
|
KeyboardNavigation.DirectionalNavigation="Contained"
|
|
KeyboardNavigation.TabIndex="2" >
|
|
<ContentPresenter Name="PART_SelectedContentHost" Margin="5" ContentSource="SelectedContent" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Foreground" Value="{DynamicResource GrayTextBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</TabControl.Template>
|
|
<TabControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<DockPanel Background="Transparent">
|
|
<Button ToolTip="Remove PS4 zone" Height="20" Padding="0" Command="{Binding DataContext.RemoveZoneCommand, ElementName=This}" CommandParameter="{Binding}" Margin="5,2,0,2" DockPanel.Dock="Right">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
|
|
<Setter Property="Visibility" Value="Hidden"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=DockPanel}}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
<ContentPresenter ContentTemplate="{StaticResource CloseIcon}"/>
|
|
</Button>
|
|
<ContentControl ToolTip="{Binding Warnings}" Margin="0,0,5,0">
|
|
<ContentControl.Style>
|
|
<Style TargetType="ContentControl">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Warnings}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentControl.Style>
|
|
<ContentPresenter Height="24" ContentTemplate="{StaticResource WarningIcon}"/>
|
|
</ContentControl>
|
|
<TextBlock VerticalAlignment="Center" Text="{Binding Name}"/>
|
|
</DockPanel>
|
|
</DataTemplate>
|
|
</TabControl.ItemTemplate>
|
|
<TabControl.ContentTemplate>
|
|
<DataTemplate>
|
|
<DockPanel>
|
|
<DockPanel DockPanel.Dock="Bottom" IsEnabled="{Binding DataContext.Game.IsAvailable, ElementName=This}">
|
|
<TextBlock DockPanel.Dock="Left" VerticalAlignment="Center" Text="Name"/>
|
|
<TextBox DockPanel.Dock="Left" Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0" MinWidth="100"/>
|
|
<TextBlock DockPanel.Dock="Left" VerticalAlignment="Center" Margin="5,0,0,0" Text="NpCommId"/>
|
|
<TextBox DockPanel.Dock="Left" Text="{Binding NpCommId, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0" MinWidth="100"/>
|
|
<TextBlock DockPanel.Dock="Left" Text="Trp file" Margin="5,0,0,0" VerticalAlignment="Center"/>
|
|
<Button DockPanel.Dock="Right" Content="..." Command="{Binding DataContext.SelectTrpFileCommand, ElementName=This}" CommandParameter="{Binding}"/>
|
|
<TextBox Text="{Binding TrpFilePath, UpdateSourceTrigger=PropertyChanged}" Margin="5,0,0,0"/>
|
|
</DockPanel>
|
|
<Expander Margin="0,0,0,5" Header="Languages">
|
|
<dataGrid:ThemedDataGrid
|
|
Tag="{Binding DataContext.Game, ElementName=This}"
|
|
ItemsSource="{Binding Languages}"
|
|
AutoGenerateColumns="False"
|
|
IsReadOnly="{Binding DataContext.Game.IsAvailable, ElementName=This, Converter={StaticResource InverseBooleanConverter}}"
|
|
SelectionMode="Single"
|
|
GridLinesVisibility="None"
|
|
HeadersVisibility="Column"
|
|
CanUserAddRows="False"
|
|
CanUserDeleteRows="False"
|
|
CanUserResizeRows="False"
|
|
CanUserSortColumns="True"
|
|
ColumnWidth="Auto">
|
|
<dataGrid:ThemedDataGrid.ContextMenu>
|
|
<ContextMenu>
|
|
<MenuItem
|
|
Header="Shown columns"
|
|
ItemsSource="{Binding PlacementTarget.Columns, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
ItemTemplateSelector="{StaticResource DataGridHeaderTemplateSelector}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource ColumnsIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Duplicate language"
|
|
Command="{Binding PlacementTarget.Tag.DuplicateLanguageCommand, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItem.Value, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource DuplicateIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Remove duplicate language"
|
|
Command="{Binding PlacementTarget.Tag.RemoveLanguageCommand, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItem.Value, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource RemoveIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
</ContextMenu>
|
|
</dataGrid:ThemedDataGrid.ContextMenu>
|
|
<dataGrid:ThemedDataGrid.Columns>
|
|
<DataGridCheckBoxColumn Header="Include" Binding="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<DataGridTemplateColumn Header="Oasis name" IsReadOnly="True" SortMemberPath="Value.Language.Name">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="{Binding Value.Language.Name}"/>
|
|
<TextBlock Text="*">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Value.IsDuplicate}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Oasis id" Binding="{Binding Value.Language.Id}" IsReadOnly="True" Visibility="Collapsed"/>
|
|
<DataGridTextColumn Header="PS4 id" Binding="{Binding Value.Ps4Id, UpdateSourceTrigger=PropertyChanged}"/>
|
|
</dataGrid:ThemedDataGrid.Columns>
|
|
</dataGrid:ThemedDataGrid>
|
|
</Expander>
|
|
</DockPanel>
|
|
</DataTemplate>
|
|
</TabControl.ContentTemplate>
|
|
</TabControl>
|
|
</DockPanel>
|
|
<StackPanel Orientation="Vertical" DockPanel.Dock="Top" Margin="0,0,0,5" IsEnabled="{Binding Game.IsAvailable}">
|
|
<TextBlock Text="Title" FontSize="15" Margin="0,0,0,5"/>
|
|
<DockPanel>
|
|
<DockPanel Margin="0,0,5,0" DockPanel.Dock="Left" Height="{Binding ActualHeight, ElementName=InfoGrid}">
|
|
<Button ToolTip="Select image" Command="{Binding DataContext.SetTitleImageCommand, ElementName=This}" HorizontalAlignment="Center" Padding="0">
|
|
<Grid>
|
|
<Image Name="TitleImage" MaxHeight="{Binding Game.Settings.ImageMaxHeight}" behavior:ImageBehavior.SourceFile="{Binding Configuration.TitleImagePath}"/>
|
|
<TextBlock Text="..." VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Source, ElementName=TitleImage}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Button}}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</Grid>
|
|
</Button>
|
|
</DockPanel>
|
|
<Grid Name="InfoGrid" Margin="0,1,0,0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="5"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="5"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Version" Margin="0,0,5,0" VerticalAlignment="Center"/>
|
|
<TextBlock Text="Title name" Margin="0,0,5,0" Grid.Row="2" VerticalAlignment="Center"/>
|
|
<TextBlock Text="Title description" Margin="0,0,5,0" Grid.Row="4" VerticalAlignment="Center"/>
|
|
<TextBox Text="{Binding Configuration.Version}" Grid.Column="1"/>
|
|
<ContentControl Grid.Column="1" Grid.Row="2" PreviewMouseLeftButtonDown="OnEditablePreviewMouseLeftButtonDown">
|
|
<TextBox Text="{Binding Configuration.TitleName, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" IsReadOnly="True" TextWrapping="Wrap" VerticalAlignment="Center">
|
|
<TextBox.Tag>
|
|
<editors:AutoCompleteBox Submitted="OnAutoCompleteBoxSubmitted" VerticalAlignment="Center" SelectedItem="{Binding Configuration.TitleName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Id" TextMemberPath="Id"/>
|
|
</TextBox.Tag>
|
|
</TextBox>
|
|
</ContentControl>
|
|
<ContentControl Grid.Column="1" Grid.Row="4" PreviewMouseLeftButtonDown="OnEditablePreviewMouseLeftButtonDown">
|
|
<TextBox Text="{Binding Configuration.TitleDescription, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}" IsReadOnly="True" TextWrapping="Wrap" VerticalAlignment="Center">
|
|
<TextBox.Tag>
|
|
<editors:AutoCompleteBox Submitted="OnAutoCompleteBoxSubmitted" VerticalAlignment="Center" SelectedItem="{Binding Configuration.TitleDescription, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Id" TextMemberPath="Id"/>
|
|
</TextBox.Tag>
|
|
</TextBox>
|
|
</ContentControl>
|
|
</Grid>
|
|
</DockPanel>
|
|
</StackPanel>
|
|
<Grid DockPanel.Dock="Top" Margin="0,0,0,5">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" >
|
|
<StackPanel.Resources>
|
|
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
|
|
<Setter Property="Width" Value="30"/>
|
|
<Setter Property="Height" Value="30"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
</Style>
|
|
</StackPanel.Resources>
|
|
<Button ToolTip="Add PS4 trophy" Command="{Binding AddPlatformChallengeCommand}">
|
|
<ContentPresenter ContentTemplate="{StaticResource AddIcon}"/>
|
|
</Button>
|
|
<Button ToolTip="Remove PS4 trophy" Command="{Binding RemovePlatformChallengeCommand}" CommandParameter="{Binding SelectedItems, ElementName=DataGrid}" Margin="5,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource RemoveIcon}"/>
|
|
</Button>
|
|
<Button ToolTip="Duplicate PS4 trophy" Command="{Binding DuplicatePlatformChallengeCommand}" CommandParameter="{Binding SelectedItems, ElementName=DataGrid}" Margin="5,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource DuplicateIcon}"/>
|
|
</Button>
|
|
<Button Padding="2" ToolTip="Replicate PS5 trophies" Command="{Binding SetSameAsPs5Command}" Margin="5,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource PS5Icon}"/>
|
|
</Button>
|
|
<Button ToolTip="Set images from id" Command="{Binding SetImageFromIdCommand}" Margin="10,0,0,0">
|
|
<ContentPresenter ContentTemplate="{StaticResource ImageFolderIcon}"/>
|
|
</Button>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<ContentControl ToolTip="{Binding Configuration.Warnings}" Margin="0,0,5,0">
|
|
<ContentControl.Style>
|
|
<Style TargetType="ContentControl">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Configuration.Warnings}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentControl.Style>
|
|
<ContentPresenter Height="24" ContentTemplate="{StaticResource WarningIcon}"/>
|
|
</ContentControl>
|
|
<TextBlock Text="{Binding PlatformChallenges.Count, StringFormat={}{0} trophies}" VerticalAlignment="Center" FontSize="15"/>
|
|
<TextBlock Text="/" VerticalAlignment="Center" Margin="5,0,5,0" FontSize="15"/>
|
|
<TextBlock Text="{Binding TotalPoints, StringFormat={}{0} points}" VerticalAlignment="Center" FontSize="15"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
<dataGrid:ThemedDataGrid
|
|
Name="DataGrid"
|
|
ItemsSource="{Binding PlatformChallenges}"
|
|
behavior:DataGridBehavior.ShowCustomColumns="True"
|
|
AutoGenerateColumns="False"
|
|
IsReadOnly="{Binding Game.IsAvailable, Converter={StaticResource InverseBooleanConverter}}"
|
|
SelectionMode="Extended"
|
|
GridLinesVisibility="None"
|
|
HeadersVisibility="Column"
|
|
CanUserAddRows="False"
|
|
CanUserDeleteRows="False"
|
|
CanUserResizeRows="False"
|
|
CanUserSortColumns="True"
|
|
CanUserReorderColumns="True"
|
|
ColumnWidth="Auto">
|
|
<dataGrid:ThemedDataGrid.InputBindings>
|
|
<KeyBinding Key="Insert" Command="{Binding AddPlatformChallengeCommand}"/>
|
|
<KeyBinding Key="Delete" Command="{Binding RemovePlatformChallengeCommand}" CommandParameter="{Binding SelectedItems, ElementName=DataGrid}"/>
|
|
<KeyBinding Key="F1" Command="{Binding Game.ItemFocuser.GoToItemCommand}" CommandParameter="{Binding SelectedItem.Challenge, ElementName=DataGrid}"/>
|
|
</dataGrid:ThemedDataGrid.InputBindings>
|
|
<dataGrid:ThemedDataGrid.ContextMenu>
|
|
<ContextMenu>
|
|
<MenuItem
|
|
Header="Add new column"
|
|
Command="{Binding Source={x:Static behavior:DataGridBehavior.AddColumnCommand}}"
|
|
CommandParameter="{Binding PlacementTarget, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource AddColumnIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Shown columns"
|
|
ItemsSource="{Binding PlacementTarget.Columns, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
ItemTemplateSelector="{StaticResource DataGridHeaderTemplateSelector}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource ColumnsIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Go to challenge"
|
|
InputGestureText="F1"
|
|
Command="{Binding Game.ItemFocuser.GoToItemCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItem.Challenge, RelativeSource={RelativeSource AncestorType=ContextMenu}}"/>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Add PS4 trophy"
|
|
Command="{Binding AddPlatformChallengeCommand}"
|
|
InputGestureText="Insert">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource AddIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Remove PS4 trophy"
|
|
Command="{Binding RemovePlatformChallengeCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
|
|
InputGestureText="Delete">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource RemoveIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Duplicate PS4 trophy"
|
|
Command="{Binding DuplicatePlatformChallengeCommand}"
|
|
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource DuplicateIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
<MenuItem Header="Set images from id" Command="{Binding SetImageFromIdCommand}">
|
|
<MenuItem.Icon>
|
|
<ContentPresenter ContentTemplate="{StaticResource ImageFolderIcon}"/>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
</ContextMenu>
|
|
</dataGrid:ThemedDataGrid.ContextMenu>
|
|
<dataGrid:ThemedDataGrid.Columns>
|
|
<DataGridTemplateColumn Header="Warnings" IsReadOnly="True" SortMemberPath="Warnings">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<ContentControl ToolTip="{Binding Warnings}" Margin="0,0,5,0">
|
|
<ContentControl.Style>
|
|
<Style TargetType="ContentControl">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Warnings}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentControl.Style>
|
|
<ContentPresenter Height="24" ContentTemplate="{StaticResource WarningIcon}"/>
|
|
</ContentControl>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Name (Oasis id)" Binding="{Binding Challenge.Name.Id}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Name (Oasis path)" Binding="{Binding Challenge.Name.Path}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Name" Binding="{Binding Challenge.Name, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Objective (Oasis id)" Binding="{Binding Challenge.Objective.Id}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Objective (Oasis path)" Binding="{Binding Challenge.Objective.Path}" Visibility="Collapsed"/>
|
|
<DataGridTextColumn IsReadOnly="True" Header="Objective" Binding="{Binding Challenge.Objective, Converter={StaticResource LocalizedLineToMasterConverter}, FallbackValue=..., IsAsync=True}"/>
|
|
<DataGridTextColumn Header="Id" Binding="{Binding Id, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<DataGridTemplateColumn Header="Grade" SortMemberPath="Grade">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<ContentPresenter ToolTip="{Binding Grade}" ContentTemplate="{StaticResource TrophyIcon}">
|
|
<ContentPresenter.Style>
|
|
<Style TargetType="ContentPresenter">
|
|
<Setter Property="TextBlock.Foreground" Value="SaddleBrown"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Grade}" Value="{x:Static sony:TrophyGrade.Silver}">
|
|
<Setter Property="TextBlock.Foreground" Value="Silver"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Grade}" Value="{x:Static sony:TrophyGrade.Gold}">
|
|
<Setter Property="TextBlock.Foreground" Value="Gold"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Grade}" Value="{x:Static sony:TrophyGrade.Platinium}">
|
|
<Setter Property="TextBlock.Foreground" Value="WhiteSmoke"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentPresenter.Style>
|
|
</ContentPresenter>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
<DataGridTemplateColumn.CellEditingTemplate>
|
|
<DataTemplate>
|
|
<ComboBox SelectedItem="{Binding Grade, UpdateSourceTrigger=PropertyChanged}">
|
|
<ComboBox.ItemsSource>
|
|
<x:Array Type="{x:Type sony:TrophyGrade}">
|
|
<sony:TrophyGrade>Bronze</sony:TrophyGrade>
|
|
<sony:TrophyGrade>Silver</sony:TrophyGrade>
|
|
<sony:TrophyGrade>Gold</sony:TrophyGrade>
|
|
<sony:TrophyGrade>Platinium</sony:TrophyGrade>
|
|
</x:Array>
|
|
</ComboBox.ItemsSource>
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal">
|
|
<ContentPresenter HorizontalAlignment="Center" ToolTip="{Binding}" ContentTemplate="{StaticResource TrophyIcon}">
|
|
<ContentPresenter.Style>
|
|
<Style TargetType="ContentPresenter">
|
|
<Setter Property="TextBlock.Foreground" Value="SaddleBrown"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding}" Value="{x:Static sony:TrophyGrade.Silver}">
|
|
<Setter Property="TextBlock.Foreground" Value="Silver"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding}" Value="{x:Static sony:TrophyGrade.Gold}">
|
|
<Setter Property="TextBlock.Foreground" Value="Gold"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding}" Value="{x:Static sony:TrophyGrade.Platinium}">
|
|
<Setter Property="TextBlock.Foreground" Value="WhiteSmoke"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentPresenter.Style>
|
|
</ContentPresenter>
|
|
<TextBlock Text="{Binding}" VerticalAlignment="Center" Margin="5,0,0,0"/>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellEditingTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridCheckBoxColumn Header="Is secret" Binding="{Binding IsSecret, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<DataGridCheckBoxColumn Header="Is required for platinium" Binding="{Binding IsRequiredForPlatinium, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<DataGridTemplateColumn Header="Image" IsReadOnly="True">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button ToolTip="Select image" Command="{Binding DataContext.SetImageCommand, ElementName=This}" CommandParameter="{Binding}" Padding="0">
|
|
<Grid>
|
|
<Image Name="TrophyImage" behavior:ImageBehavior.SourceFile="{Binding ImagePath}" MaxHeight="{Binding DataContext.Game.Settings.ImageMaxHeight, ElementName=This}"/>
|
|
<TextBlock Text="..." VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Source, ElementName=TrophyImage}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Button}}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</Grid>
|
|
</Button>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</dataGrid:ThemedDataGrid.Columns>
|
|
</dataGrid:ThemedDataGrid>
|
|
</DockPanel>
|