Files
Beyhan Oğur d5f52cc3d3 first commit
2026-09-03 04:45:36 +03:00

255 lines
16 KiB
XML

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:resources="clr-namespace:ClassicAssist.Shared.Resources;assembly=ClassicAssist.Shared"
xmlns:viewModels="clr-namespace:ClassicAssist.UI.ViewModels"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:misc="clr-namespace:ClassicAssist.UI.Misc"
xmlns:misc1="clr-namespace:ClassicAssist.Misc"
xmlns:valueConverters="clr-namespace:ClassicAssist.UI.Misc.ValueConverters"
x:Class="ClassicAssist.UI.Views.ActiveObjectsWindow"
mc:Ignorable="d"
Title="{x:Static resources:Strings.Active_Objects}" Height="350" Width="400">
<Window.Resources>
<valueConverters:IntToHexStringValueConverter x:Key="IntToHexStringValueConverter" />
<misc1:BindingProxy x:Key="Proxy" Data="{Binding}" />
</Window.Resources>
<Window.DataContext>
<viewModels:ActiveObjectsViewModel />
</Window.DataContext>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TabControl>
<TabItem Header="{x:Static resources:Strings.Aliases}">
<TabControl>
<TabItem Header="{x:Static resources:Strings.Global}">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListView ItemsSource="{Binding Aliases}" SelectedItem="{Binding SelectedAlias}">
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="{x:Static resources:Strings.Remove}"
Command="{Binding Data.RemoveAliasCommand, Source={StaticResource Proxy}}"
CommandParameter="{Binding SelectedAlias}" />
<MenuItem Header="{x:Static resources:Strings.Set}" Command="{Binding Data.SetAliasCommand, Source={StaticResource Proxy}}"
CommandParameter="{Binding SelectedAlias}" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.View>
<GridView>
<GridViewColumn Header="{x:Static resources:Strings.Name}" Width="170"
DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="{x:Static resources:Strings.Serial}" Width="170"
DisplayMemberBinding="{Binding Serial, Converter={StaticResource IntToHexStringValueConverter}}" />
</GridView>
</ListView.View>
</ListView>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0, 10,0,0">
<StackPanel.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="25" />
<Setter Property="Padding" Value="10,0,10,0" />
<Setter Property="Margin" Value="0,0,10,0" />
</Style>
</StackPanel.Resources>
<Button Content="{x:Static resources:Strings.Close}">
<i:Interaction.Behaviors>
<misc:CloseOnClickBehaviour />
</i:Interaction.Behaviors>
</Button>
<Button Content="{x:Static resources:Strings.Refresh}"
Command="{Binding RefreshAliasesCommand}" />
<Button Content="{x:Static resources:Strings.Clear_All_Objects}"
Command="{Binding ClearAllAliasesCommand}" />
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="{x:Static resources:Strings.Instance}">
<TabItem.Resources>
<CollectionViewSource x:Key='src' Source="{Binding InstanceAliases}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Macro" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</TabItem.Resources>
<ListView ItemsSource="{Binding Source={StaticResource src}}"
SelectedItem="{Binding SelectedInstanceAlias}" Margin="5">
<ListView.View>
<GridView>
<GridViewColumn Header="{x:Static resources:Strings.Name}" Width="170"
DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="{x:Static resources:Strings.Serial}" Width="150"
DisplayMemberBinding="{Binding Serial, Converter={StaticResource IntToHexStringValueConverter}}" />
</GridView>
</ListView.View>
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="{x:Static resources:Strings.Remove}"
Command="{Binding Data.RemoveInstanceAliasCommand, Source={StaticResource Proxy}}"
CommandParameter="{Binding SelectedInstanceAlias}" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,0,5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="{Binding Items/IsExpanded}"
BorderThickness="0,0,0,0">
<Expander.Header>
<DockPanel>
<TextBlock FontSize="12" Text="{Binding Path=Name}"
Margin="5,0,0,0" Width="100" />
</DockPanel>
</Expander.Header>
<Expander.Content>
<ItemsPresenter />
</Expander.Content>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
</TabItem>
</TabControl>
</TabItem>
<TabItem Header="{x:Static resources:Strings.Lists}">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListView ItemsSource="{Binding Lists}" SelectedItem="{Binding SelectedList}">
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="{x:Static resources:Strings.Remove}"
Command="{Binding Data.RemoveListCommand, Source={StaticResource Proxy}}"
CommandParameter="{Binding Data.SelectedList, Source={StaticResource Proxy}}" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.ItemTemplate>
<DataTemplate>
<Expander IsExpanded="False" Header="{Binding Name}">
<ItemsControl ItemsSource="{Binding Serials}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Mode=OneWay}" Margin="25,0,0,0" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Expander>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0, 10,0,0">
<StackPanel.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="25" />
<Setter Property="Padding" Value="10,0,10,0" />
<Setter Property="Margin" Value="0,0,10,0" />
</Style>
</StackPanel.Resources>
<Button Content="{x:Static resources:Strings.Close}">
<i:Interaction.Behaviors>
<misc:CloseOnClickBehaviour />
</i:Interaction.Behaviors>
</Button>
<Button Content="{x:Static resources:Strings.Refresh}" Command="{Binding RefreshListsCommand}" />
<Button Content="{x:Static resources:Strings.Clear_All_Objects}"
Command="{Binding ClearAllListsCommand}" />
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="{x:Static resources:Strings.Timers}">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListView ItemsSource="{Binding Timers}" SelectedItem="{Binding SelectedTimer}">
<ListView.View>
<GridView>
<GridViewColumn Header="{x:Static resources:Strings.Name}" Width="170"
DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Header="{x:Static resources:Strings.Value}" Width="170"
DisplayMemberBinding="{Binding Value, Converter={StaticResource IntToHexStringValueConverter}}" />
</GridView>
</ListView.View>
</ListView>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0, 10,0,0">
<StackPanel.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="25" />
<Setter Property="Padding" Value="10,0,10,0" />
<Setter Property="Margin" Value="0,0,10,0" />
</Style>
</StackPanel.Resources>
<Button Content="{x:Static resources:Strings.Close}">
<i:Interaction.Behaviors>
<misc:CloseOnClickBehaviour />
</i:Interaction.Behaviors>
</Button>
<Button Content="{x:Static resources:Strings.Refresh}"
Command="{Binding RefreshTimersCommand}" />
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="{x:Static resources:Strings.Ignore_List}">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListBox x:Name="listBox" ItemsSource="{Binding IgnoreEntries}"
SelectedItem="{Binding SelectedIgnoreEntry}">
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="{x:Static resources:Strings.Remove}"
Command="{Binding Data.RemoveIgnoreEntryCommand, Source={StaticResource Proxy}}"
CommandParameter="{Binding SelectedIgnoreEntry}" />
</ContextMenu>
</ListBox.ContextMenu>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding StringFormat={}0x{0:x}}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0, 10,0,0">
<StackPanel.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="25" />
<Setter Property="Padding" Value="10,0,10,0" />
<Setter Property="Margin" Value="0,0,10,0" />
</Style>
</StackPanel.Resources>
<Button Content="{x:Static resources:Strings.Close}">
<i:Interaction.Behaviors>
<misc:CloseOnClickBehaviour />
</i:Interaction.Behaviors>
</Button>
<Button Content="{x:Static resources:Strings.Refresh}"
Command="{Binding RefreshIgnoreListCommand}" />
<Button Content="{x:Static resources:Strings.Clear_All}"
Command="{Binding ClearIgnoreListCommand}" />
</StackPanel>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Window>