-
Notifications
You must be signed in to change notification settings - Fork 247
/
Copy pathResourceListTreeViewItem.xaml
49 lines (42 loc) · 2.56 KB
/
ResourceListTreeViewItem.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<TreeViewItem x:Class="UndertaleModTool.ResourceListTreeViewItem"
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:UndertaleModTool"
xmlns:undertalelib="clr-namespace:UndertaleModLib;assembly=UndertaleModLib"
mc:Ignorable="d">
<TreeViewItem.Resources>
<local:ImplementsInterfaceConverter x:Key="ImplementsInterfaceConverter"/>
<DataTemplate x:Key="NullResourceItemTemplate">
<TextBlock Text="(null)"/>
</DataTemplate>
<local:ContextMenuDark x:Key="UndertaleResourceMenu" Opened="MenuItem_ContextMenuOpened">
<MenuItem Header="Open in new tab" Click="MenuItem_OpenInNewTab_Click"/>
<MenuItem Header="Find all references" Click="MenuItem_FindAllReferences_Click"/>
<MenuItem Header="Copy name to clipboard" Click="MenuItem_CopyName_Click"/>
<MenuItem Header="Delete" Click="MenuItem_Delete_Click"/>
</local:ContextMenuDark>
<!-- TODO: Would need some way to know the ID, IndexOf won't be reliable
<local:ContextMenuDark x:Key="NullResourceItemReplaceMenu" Opened="MenuItem_ContextMenuOpened_NullItem">
<MenuItem IsEnabled="False" Header="ID: " Name="ObjectIdLabel" />
<Separator />
<MenuItem Header="_Add in place" />
</local:ContextMenuDark>
-->
<Style x:Key="ResourceListTreeViewItem.ItemContainerStyle" TargetType="{x:Type TreeViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding ., Converter={StaticResource ImplementsInterfaceConverter}, ConverterParameter={x:Type undertalelib:UndertaleResource}}" Value="True">
<Setter Property="ContextMenu" Value="{StaticResource UndertaleResourceMenu}"/>
</DataTrigger>
<DataTrigger Binding="{Binding .}" Value="{x:Null}">
<Setter Property="Foreground" Value="Gray"/>
<!--<Setter Property="ContextMenu" Value="{StaticResource NullResourceItemReplaceMenu}"/>-->
</DataTrigger>
</Style.Triggers>
</Style>
</TreeViewItem.Resources>
<TreeViewItem.ItemContainerStyle>
<StaticResource ResourceKey="ResourceListTreeViewItem.ItemContainerStyle"/>
</TreeViewItem.ItemContainerStyle>
</TreeViewItem>