Mesen2/UI/Debugger/StatusViews/GsuStatusView.axaml
Sour d208fdc6a7 UI: Support for NativeAOT
Added Windows & Linux builds using AOT compilation
2024-06-05 20:23:31 +09:00

199 lines
7.8 KiB
XML

<UserControl
xmlns="https://github.com/avaloniaui"
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:du="using:Mesen.Debugger.Utilities"
xmlns:vm="using:Mesen.Debugger.StatusViews"
xmlns:c="using:Mesen.Controls"
mc:Ignorable="d" d:DesignWidth="350"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
x:DataType="vm:GsuStatusViewModel"
x:Class="Mesen.Debugger.StatusViews.GsuStatusView"
>
<Design.DataContext>
<vm:GsuStatusViewModel />
</Design.DataContext>
<UserControl.Styles>
<StyleInclude Source="/Styles/DebugStatusStyles.xaml" />
</UserControl.Styles>
<ScrollViewer>
<DockPanel>
<StackPanel DockPanel.Dock="Top" IsEnabled="{Binding EditAllowed}">
<WrapPanel MaxWidth="300" HorizontalAlignment="Left">
<WrapPanel.Styles>
<Style Selector="StackPanel > TextBlock">
<Setter Property="MinWidth" Value="25" />
</Style>
<Style Selector="StackPanel > TextBox">
<Setter Property="Margin" Value="0 1 3 1" />
</Style>
</WrapPanel.Styles>
<StackPanel Orientation="Horizontal">
<TextBlock>R0:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg0}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R1:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg1}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R2:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg2}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R3:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg3}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R4:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg4}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R5:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg5}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R6:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg6}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R7:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg7}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R8:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg8}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R9:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg9}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R10:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg10}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R11:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg11}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R12:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg12}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R13:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg13}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R14:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg14}" Hex="True" Max="0xFFFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>R15:</TextBlock>
<c:MesenNumericTextBox Value="{Binding Reg15}" Hex="True" Max="0xFFFF" />
</StackPanel>
</WrapPanel>
<Rectangle Stroke="{StaticResource MesenGrayBorderColor}" StrokeThickness="1" Margin="5 5 5 2" />
<WrapPanel Margin="0 5">
<StackPanel Orientation="Horizontal">
<TextBlock>SRC:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RegSrc}" Hex="True" Max="0xFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>DST:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RegDst}" Hex="True" Max="0xFF" />
</StackPanel>
</WrapPanel>
<WrapPanel Margin="0 5">
<StackPanel Orientation="Horizontal">
<TextBlock>PBR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RegPbr}" Hex="True" Max="0xFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>ROMBR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RomBank}" Hex="True" Max="0xFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>RAMBR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RamBank}" Hex="True" Max="0xFF" />
</StackPanel>
</WrapPanel>
<WrapPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>RAM ADDR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RamAddrCache}" Hex="True" Max="0xFFFF" />
</StackPanel>
</WrapPanel>
<Rectangle Stroke="{StaticResource MesenGrayBorderColor}" StrokeThickness="1" Margin="5 5 5 2" />
<WrapPanel Margin="0 2 0 0" DockPanel.Dock="Top">
<StackPanel Orientation="Horizontal">
<TextBlock>SFR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RegSfr}" Hex="True" Max="0xFFFF" IsEnabled="False" />
</StackPanel>
<WrapPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagZero}" Content="Zero" />
<CheckBox IsChecked="{Binding FlagCarry}" Content="Carry" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagSign}" Content="Sign" />
<CheckBox IsChecked="{Binding FlagOverflow}" Content="Overflow" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagRunning}" Content="Running" />
<CheckBox IsChecked="{Binding FlagRomReadPending}" Content="ROM Read" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagAlt1}" Content="Alt1" />
<CheckBox IsChecked="{Binding FlagAlt2}" Content="Alt2" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagImmLow}" Content="IL" IsVisible="False" />
<CheckBox IsChecked="{Binding FlagImmHigh}" Content="IH" IsVisible="False" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagPrefix}" Content="Prefix" />
<CheckBox IsChecked="{Binding FlagIrq}" Content="IRQ" />
</StackPanel>
</WrapPanel>
</WrapPanel>
<Rectangle Stroke="{StaticResource MesenGrayBorderColor}" StrokeThickness="1" Margin="5 5 5 2" />
<WrapPanel Margin="0 2 0 0" DockPanel.Dock="Top">
<StackPanel Orientation="Horizontal">
<TextBlock>COLOR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RegColor}" Hex="True" Max="0xFF" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>POR:</TextBlock>
<c:MesenNumericTextBox Value="{Binding RegPor}" Hex="True" Max="0xFF" IsEnabled="False" />
</StackPanel>
<WrapPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagPlotTransparent}" Content="Plot Transparent" />
<CheckBox IsChecked="{Binding FlagPlotDither}" Content="Plot Dither" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagColorHighNibble}" Content="Color Src High" />
<CheckBox IsChecked="{Binding FlagColorFreezeHigh}" Content="Color Freeze High" />
</StackPanel>
<StackPanel>
<CheckBox IsChecked="{Binding FlagObjMode}" Content="Obj Mode" />
</StackPanel>
</WrapPanel>
</WrapPanel>
</StackPanel>
</DockPanel>
</ScrollViewer>
</UserControl>