Добавьте файлы проекта.

This commit is contained in:
2026-08-03 21:59:33 +03:00
parent f74c8d4047
commit d07f8eab1c
7 changed files with 398 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
<Solution>
<Project Path="TracePad/TracePad.csproj" />
</Solution>
+9
View File
@@ -0,0 +1,9 @@
<Application x:Class="TracePad.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TracePad"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
+14
View File
@@ -0,0 +1,14 @@
using System.Configuration;
using System.Data;
using System.Windows;
namespace TracePad
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
+10
View File
@@ -0,0 +1,10 @@
using System.Windows;
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
+328
View File
@@ -0,0 +1,328 @@
<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="700" 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"/>
</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"/>
<TextBlock Grid.Row="0" Grid.Column="2" Text="EAX"/>
<TextBox Grid.Row="0" Grid.Column="3"/>
<TextBlock Grid.Row="0" Grid.Column="4" Text="AX"/>
<TextBox Grid.Row="0" Grid.Column="5"/>
<TextBlock Grid.Row="0" Grid.Column="6" Text="AH"/>
<TextBox Grid.Row="0" Grid.Column="7"/>
<TextBlock Grid.Row="0" Grid.Column="8" Text="AL"/>
<TextBox Grid.Row="0" Grid.Column="9"/>
<!-- Строка 2: RBX -->
<TextBlock Grid.Row="1" Grid.Column="0" Text="RBX"/>
<TextBox Grid.Row="1" Grid.Column="1"/>
<TextBlock Grid.Row="1" Grid.Column="2" Text="EBX"/>
<TextBox Grid.Row="1" Grid.Column="3"/>
<TextBlock Grid.Row="1" Grid.Column="4" Text="BX"/>
<TextBox Grid.Row="1" Grid.Column="5"/>
<TextBlock Grid.Row="1" Grid.Column="6" Text="BH"/>
<TextBox Grid.Row="1" Grid.Column="7"/>
<TextBlock Grid.Row="1" Grid.Column="8" Text="BL"/>
<TextBox Grid.Row="1" Grid.Column="9"/>
<!-- Строка 3: RCX -->
<TextBlock Grid.Row="2" Grid.Column="0" Text="RCX"/>
<TextBox Grid.Row="2" Grid.Column="1"/>
<TextBlock Grid.Row="2" Grid.Column="2" Text="ECX"/>
<TextBox Grid.Row="2" Grid.Column="3"/>
<TextBlock Grid.Row="2" Grid.Column="4" Text="CX"/>
<TextBox Grid.Row="2" Grid.Column="5"/>
<TextBlock Grid.Row="2" Grid.Column="6" Text="CH"/>
<TextBox Grid.Row="2" Grid.Column="7"/>
<TextBlock Grid.Row="2" Grid.Column="8" Text="CL"/>
<TextBox Grid.Row="2" Grid.Column="9"/>
<!-- Строка 4: RDX -->
<TextBlock Grid.Row="3" Grid.Column="0" Text="RDX"/>
<TextBox Grid.Row="3" Grid.Column="1"/>
<TextBlock Grid.Row="3" Grid.Column="2" Text="EDX"/>
<TextBox Grid.Row="3" Grid.Column="3"/>
<TextBlock Grid.Row="3" Grid.Column="4" Text="DX"/>
<TextBox Grid.Row="3" Grid.Column="5"/>
<TextBlock Grid.Row="3" Grid.Column="6" Text="DH"/>
<TextBox Grid.Row="3" Grid.Column="7"/>
<TextBlock Grid.Row="3" Grid.Column="8" Text="DL"/>
<TextBox Grid.Row="3" Grid.Column="9"/>
</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"/>
<!-- RBP -->
<TextBlock Grid.Row="1" Grid.Column="0" Text="RBP"/>
<TextBox Grid.Row="1" Grid.Column="1"/>
<!-- RIP -->
<TextBlock Grid.Row="2" Grid.Column="0" Text="RIP"/>
<TextBox Grid.Row="2" Grid.Column="1"/>
</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"/>
<CheckBox Grid.Row="1" Grid.Column="1"/>
<CheckBox Grid.Row="1" Grid.Column="2"/>
<CheckBox Grid.Row="1" Grid.Column="3"/>
<CheckBox Grid.Row="1" Grid.Column="4"/>
</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"/>
<CheckBox Grid.Row="1" Grid.Column="1"/>
<CheckBox Grid.Row="1" Grid.Column="2"/>
<CheckBox Grid.Row="1" Grid.Column="3"/>
</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="2" Content="Сохранить в Json" Height="30"
FontFamily="Segoe UI" FontSize="13" FontWeight="SemiBold"
Background="#888888" Foreground="White"
BorderBrush="#666666" BorderThickness="1"
Cursor="Hand"/>
<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"/>
</Grid>
</StackPanel>
</Border>
</Grid>
</Window>
+23
View File
@@ -0,0 +1,23 @@
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace TracePad
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public void MinimizeButtonClick(object sender, EventArgs e) => this.WindowState = WindowState.Minimized; // Minimize Button
public void ExitButtonClick(object sender, EventArgs e) => Application.Current.Shutdown(); // Exit Button
}
}
+11
View File
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>