Files
TracePad/TracePad/MainWindow.xaml
T

394 lines
21 KiB
XML

<Window x:Class="TracePad.MainWindow"
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:local="clr-namespace:TracePad"
mc:Ignorable="d"
Title="MainWindow" Height="670" Width="600">
<!-- Отключение системного заголовка -->
<WindowChrome.WindowChrome>
<WindowChrome CaptionHeight="30"
ResizeBorderThickness="0"
GlassFrameThickness="0"
CornerRadius="0" />
</WindowChrome.WindowChrome>
<Grid>
<Grid.RowDefinitions>
<!-- Шапка -->
<RowDefinition Height="30"/>
<!-- Основная часть -->
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- Кастомная Шапка -->
<Border Grid.Row = "0" Background="#888888" BorderBrush="Black" BorderThickness="3,3,3,0">
<DockPanel LastChildFill="False">
<TextBlock Text="TracePad"
FontFamily="Segoe UI"
FontSize="12"
FontWeight="SemiBold"
Foreground="#333333"
VerticalAlignment="Center"
Margin="10,0,0,0"/>
<!-- Кнопка Закрыть -->
<Button DockPanel.Dock="Right" Width="46" Height="27"
Content="&#x2715;" FontSize="10" Foreground="Black"
Background="Transparent" BorderThickness="0"
WindowChrome.IsHitTestVisibleInChrome="True"
Click="ExitButtonClick"/>
<!-- Кнопка Свернуть -->
<Button DockPanel.Dock="Right" Width="46" Height="27"
Content="&#x2014;" FontSize="10" Foreground="Black"
Background="Transparent" BorderThickness="0"
WindowChrome.IsHitTestVisibleInChrome="True"
Click="MinimizeButtonClick"/>
</DockPanel>
</Border>
<!-- Основная часть (Регистры) -->
<Border Grid.Row="1" BorderBrush="Black" BorderThickness="3" Background="#DDDDDD">
<StackPanel Margin="15">
<!-- Таблица основных регистров (RAX, RBX, RCX, RDX) -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!-- Rxx -->
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="90"/>
<!-- Exx -->
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="70"/>
<!-- xx -->
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="60"/>
<!-- xH -->
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="50"/>
<!-- xL -->
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="50"/>
</Grid.ColumnDefinitions>
<!-- Ваши оригинальные стили -->
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontFamily" Value="Consolas"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Right"/>
<Setter Property="Margin" Value="0,0,5,0"/>
</Style>
<Style TargetType="TextBox">
<Setter Property="FontFamily" Value="Consolas"/>
<Setter Property="Height" Value="24"/>
<Setter Property="Margin" Value="0,4,0,4"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#F5F5F5"/>
</Style>
</Grid.Resources>
<!-- Строка 1: RAX -->
<TextBlock Grid.Row="0" Grid.Column="0" Text="RAX"/>
<TextBox Grid.Row="0" Grid.Column="1" x:Name="RAX"/>
<TextBlock Grid.Row="0" Grid.Column="2" Text="EAX"/>
<TextBox Grid.Row="0" Grid.Column="3" x:Name="EAX"/>
<TextBlock Grid.Row="0" Grid.Column="4" Text="AX"/>
<TextBox Grid.Row="0" Grid.Column="5" x:Name="AX"/>
<TextBlock Grid.Row="0" Grid.Column="6" Text="AH"/>
<TextBox Grid.Row="0" Grid.Column="7" x:Name="AH"/>
<TextBlock Grid.Row="0" Grid.Column="8" Text="AL"/>
<TextBox Grid.Row="0" Grid.Column="9" x:Name="AL"/>
<!-- Строка 2: RBX -->
<TextBlock Grid.Row="1" Grid.Column="0" Text="RBX"/>
<TextBox Grid.Row="1" Grid.Column="1" x:Name="RBX"/>
<TextBlock Grid.Row="1" Grid.Column="2" Text="EBX"/>
<TextBox Grid.Row="1" Grid.Column="3" x:Name="EBX"/>
<TextBlock Grid.Row="1" Grid.Column="4" Text="BX"/>
<TextBox Grid.Row="1" Grid.Column="5" x:Name="BX"/>
<TextBlock Grid.Row="1" Grid.Column="6" Text="BH"/>
<TextBox Grid.Row="1" Grid.Column="7" x:Name="BH"/>
<TextBlock Grid.Row="1" Grid.Column="8" Text="BL"/>
<TextBox Grid.Row="1" Grid.Column="9" x:Name="BL"/>
<!-- Строка 3: RCX -->
<TextBlock Grid.Row="2" Grid.Column="0" Text="RCX"/>
<TextBox Grid.Row="2" Grid.Column="1" x:Name="RCX"/>
<TextBlock Grid.Row="2" Grid.Column="2" Text="ECX"/>
<TextBox Grid.Row="2" Grid.Column="3" x:Name="ECX"/>
<TextBlock Grid.Row="2" Grid.Column="4" Text="CX"/>
<TextBox Grid.Row="2" Grid.Column="5" x:Name="CX"/>
<TextBlock Grid.Row="2" Grid.Column="6" Text="CH"/>
<TextBox Grid.Row="2" Grid.Column="7" x:Name="CH"/>
<TextBlock Grid.Row="2" Grid.Column="8" Text="CL"/>
<TextBox Grid.Row="2" Grid.Column="9" x:Name="CL"/>
<!-- Строка 4: RDX -->
<TextBlock Grid.Row="3" Grid.Column="0" Text="RDX"/>
<TextBox Grid.Row="3" Grid.Column="1" x:Name="RDX"/>
<TextBlock Grid.Row="3" Grid.Column="2" Text="EDX"/>
<TextBox Grid.Row="3" Grid.Column="3" x:Name="EDX"/>
<TextBlock Grid.Row="3" Grid.Column="4" Text="DX"/>
<TextBox Grid.Row="3" Grid.Column="5" x:Name="DX"/>
<TextBlock Grid.Row="3" Grid.Column="6" Text="DH"/>
<TextBox Grid.Row="3" Grid.Column="7" x:Name="DH"/>
<TextBlock Grid.Row="3" Grid.Column="8" Text="DL"/>
<TextBox Grid.Row="3" Grid.Column="9" x:Name="DL"/>
<!-- Строка 5: R8 -->
<TextBlock Grid.Row="4" Grid.Column="0" Text="R8"/>
<TextBox Grid.Row="4" Grid.Column="1" x:Name="R8"/>
<TextBlock Grid.Row="4" Grid.Column="2" Text="R8D"/>
<TextBox Grid.Row="4" Grid.Column="3" x:Name="R8D"/>
<TextBlock Grid.Row="4" Grid.Column="4" Text="R8W"/>
<TextBox Grid.Row="4" Grid.Column="5" x:Name="R8W"/>
<TextBlock Grid.Row="4" Grid.Column="6" Text="R8B"/>
<TextBox Grid.Row="4" Grid.Column="7" Grid.ColumnSpan="3" x:Name="R8B"/>
<!-- Строка 6: R9 -->
<TextBlock Grid.Row="5" Grid.Column="0" Text="R9"/>
<TextBox Grid.Row="5" Grid.Column="1" x:Name="R9"/>
<TextBlock Grid.Row="5" Grid.Column="2" Text="R9D"/>
<TextBox Grid.Row="5" Grid.Column="3" x:Name="R9D"/>
<TextBlock Grid.Row="5" Grid.Column="4" Text="R9W"/>
<TextBox Grid.Row="5" Grid.Column="5" x:Name="R9W"/>
<TextBlock Grid.Row="5" Grid.Column="6" Text="R9B"/>
<TextBox Grid.Row="5" Grid.Column="7" Grid.ColumnSpan="3" x:Name="R9B"/>
<!-- Строка 7: R10 -->
<TextBlock Grid.Row="6" Grid.Column="0" Text="R10"/>
<TextBox Grid.Row="6" Grid.Column="1" x:Name="R10"/>
<TextBlock Grid.Row="6" Grid.Column="2" Text="R10D"/>
<TextBox Grid.Row="6" Grid.Column="3" x:Name="R10D"/>
<TextBlock Grid.Row="6" Grid.Column="4" Text="R10W"/>
<TextBox Grid.Row="6" Grid.Column="5" x:Name="R10W"/>
<TextBlock Grid.Row="6" Grid.Column="6" Text="R10B"/>
<TextBox Grid.Row="6" Grid.Column="7" Grid.ColumnSpan="3" x:Name="R10B"/>
<!-- Строка 8: R11 -->
<TextBlock Grid.Row="7" Grid.Column="0" Text="R11"/>
<TextBox Grid.Row="7" Grid.Column="1" x:Name="R11"/>
<TextBlock Grid.Row="7" Grid.Column="2" Text="R11D"/>
<TextBox Grid.Row="7" Grid.Column="3" x:Name="R11D"/>
<TextBlock Grid.Row="7" Grid.Column="4" Text="R11W"/>
<TextBox Grid.Row="7" Grid.Column="5" x:Name="R11W"/>
<TextBlock Grid.Row="7" Grid.Column="6" Text="R11B"/>
<TextBox Grid.Row="7" Grid.Column="7" Grid.ColumnSpan="3" x:Name="R11B"/>
<!-- Строка 9: R12 -->
<TextBlock Grid.Row="8" Grid.Column="0" Text="R12"/>
<TextBox Grid.Row="8" Grid.Column="1" x:Name="R12"/>
<TextBlock Grid.Row="8" Grid.Column="2" Text="R12D"/>
<TextBox Grid.Row="8" Grid.Column="3" x:Name="R12D"/>
<TextBlock Grid.Row="8" Grid.Column="4" Text="R12W"/>
<TextBox Grid.Row="8" Grid.Column="5" x:Name="R12W"/>
<TextBlock Grid.Row="8" Grid.Column="6" Text="R12B"/>
<TextBox Grid.Row="8" Grid.Column="7" Grid.ColumnSpan="3" x:Name="R12B"/>
</Grid>
<!-- Разделитель (отступ перед системными регистрами) -->
<Separator Height="20" Background="Transparent"/>
<!-- Указатели (RSP, RBP, RIP) -->
<Grid HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontFamily" Value="Consolas"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Right"/>
<Setter Property="Margin" Value="0,0,5,0"/>
</Style>
<Style TargetType="TextBox">
<Setter Property="FontFamily" Value="Consolas"/>
<Setter Property="Height" Value="24"/>
<Setter Property="Margin" Value="0,4,0,4"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#F5F5F5"/>
</Style>
</Grid.Resources>
<!-- RSP -->
<TextBlock Grid.Row="0" Grid.Column="0" Text="RSP"/>
<TextBox Grid.Row="0" Grid.Column="1" x:Name="RSP"/>
<!-- RBP -->
<TextBlock Grid.Row="1" Grid.Column="0" Text="RBP"/>
<TextBox Grid.Row="1" Grid.Column="1" x:Name="RBP"/>
<!-- RIP -->
<TextBlock Grid.Row="2" Grid.Column="0" Text="RIP"/>
<TextBox Grid.Row="2" Grid.Column="1" x:Name="RIP"/>
</Grid>
<!-- Разделитель -->
<Separator Height="20" Background="Transparent"/>
<!-- Флаги (Flags) -->
<!-- Первая группа флагов (CF, PF, AF, ZF, SF) -->
<Grid Margin="0,10,0,0" HorizontalAlignment="Left">
<Grid.RowDefinitions>
<!-- Строка 0: Текст, Строка 1: Чекбокс -->
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!-- По одной колонке фиксированной ширины на каждый флаг -->
<ColumnDefinition Width="50"/>
<!-- CF -->
<ColumnDefinition Width="50"/>
<!-- PF -->
<ColumnDefinition Width="50"/>
<!-- AF -->
<ColumnDefinition Width="50"/>
<!-- ZF -->
<ColumnDefinition Width="50"/>
<!-- SF -->
</Grid.ColumnDefinitions>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontFamily" Value="Consolas"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,0,0,4"/>
</Style>
<Style TargetType="CheckBox">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,2,0,4"/>
</Style>
</Grid.Resources>
<!-- Строка 1: Названия -->
<TextBlock Grid.Row="0" Grid.Column="0" Text="CF"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="PF"/>
<TextBlock Grid.Row="0" Grid.Column="2" Text="AF"/>
<TextBlock Grid.Row="0" Grid.Column="3" Text="ZF"/>
<TextBlock Grid.Row="0" Grid.Column="4" Text="SF"/>
<!-- Строка 2: Чекбоксы -->
<CheckBox Grid.Row="1" Grid.Column="0" x:Name="CF"/>
<CheckBox Grid.Row="1" Grid.Column="1" x:Name="PF"/>
<CheckBox Grid.Row="1" Grid.Column="2" x:Name="AF"/>
<CheckBox Grid.Row="1" Grid.Column="3" x:Name="ZF"/>
<CheckBox Grid.Row="1" Grid.Column="4" x:Name="SF"/>
</Grid>
<!-- Дополнительные флаги (TF, IF, DF, OF) -->
<Grid Margin="0,10,0,0" HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<!-- TF -->
<ColumnDefinition Width="50"/>
<!-- IF -->
<ColumnDefinition Width="50"/>
<!-- DF -->
<ColumnDefinition Width="50"/>
<!-- OF -->
</Grid.ColumnDefinitions>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontFamily" Value="Consolas"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,0,0,4"/>
</Style>
<Style TargetType="CheckBox">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,2,0,4"/>
</Style>
</Grid.Resources>
<!-- Строка 1: Названия -->
<TextBlock Grid.Row="0" Grid.Column="0" Text="TF"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="IF"/>
<TextBlock Grid.Row="0" Grid.Column="2" Text="DF"/>
<TextBlock Grid.Row="0" Grid.Column="3" Text="OF"/>
<!-- Строка 2: Чекбоксы -->
<CheckBox Grid.Row="1" Grid.Column="0" x:Name="TF"/>
<CheckBox Grid.Row="1" Grid.Column="1" x:Name="IF"/>
<CheckBox Grid.Row="1" Grid.Column="2" x:Name="DF"/>
<CheckBox Grid.Row="1" Grid.Column="3" x:Name="OF"/>
</Grid>
<!-- Разделитель -->
<Separator Height="20" Background="Transparent"/>
<!-- Кнопки управления -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="Открыть Json" Height="30"
FontFamily="Segoe UI" FontSize="13" FontWeight="SemiBold"
Background="#888888" Foreground="White"
BorderBrush="#666666" BorderThickness="1"
Cursor="Hand"
x:Name="OpenJsonButton"/>
<Button Grid.Column="2" Content="Создать Json" Height="30"
FontFamily="Segoe UI" FontSize="13" FontWeight="SemiBold"
Background="#888888" Foreground="White"
BorderBrush="#666666" BorderThickness="1"
Cursor="Hand"
x:Name="CreateJsonButton"/>
<Button Grid.Column="4" Content="Следующий шаг" Height="30"
FontFamily="Segoe UI" FontSize="13" FontWeight="SemiBold"
Background="#888888" Foreground="White"
BorderBrush="#666666" BorderThickness="1"
Cursor="Hand"
Click="ExitButtonClick"
x:Name="NextStepButton"/>
</Grid>
</StackPanel>
</Border>
</Grid>
</Window>