Mesen2/UI/Debugger/Windows/BreakpointEditWindow.axaml
Sour 0352c7d675 Debugger: Always show modal popups in the taskbar
It's possible to click minimize on them, which isn't very user friendly (appears as a tiny title bar at the bottom left in Windows, not sure about Linux/macOS)
2024-12-13 23:35:47 +09:00

96 lines
4.3 KiB
XML

<Window
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:m="clr-namespace:Mesen"
xmlns:vm="using:Mesen.Debugger.ViewModels"
xmlns:sys="using:System"
xmlns:v="using:Mesen.Views"
xmlns:du="using:Mesen.Debugger.Utilities"
xmlns:c="using:Mesen.Controls"
xmlns:l="using:Mesen.Localization"
xmlns:i="using:Mesen.Interop"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:dvm="using:Mesen.Debugger.ViewModels"
xmlns:dc="using:Mesen.Debugger.Controls"
mc:Ignorable="d" d:DesignWidth="320" d:DesignHeight="180"
x:Class="Mesen.Debugger.Windows.BreakpointEditWindow"
x:DataType="vm:BreakpointEditViewModel"
Icon="/Assets/Edit.png"
Width="320" Height="180"
MinWidth="320" MinHeight="180"
Title="{Binding WindowTitle}"
>
<Design.DataContext>
<vm:BreakpointEditViewModel />
</Design.DataContext>
<DockPanel>
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Right">
<Button MinWidth="70" HorizontalContentAlignment="Center" IsDefault="True" Click="Ok_OnClick" Content="{l:Translate btnOK}" IsEnabled="{Binding OkEnabled}" />
<Button MinWidth="70" HorizontalContentAlignment="Center" IsCancel="True" Click="Cancel_OnClick" Content="{l:Translate btnCancel}" />
</StackPanel>
<StackPanel DockPanel.Dock="Bottom" Margin="0 0 0 -20">
<CheckBox
Content="{l:Translate chkIgnoreDummyOperations}"
IsChecked="{Binding Breakpoint.IgnoreDummyOperations}"
IsVisible="{Binding HasDummyOperations}"
/>
<CheckBox Content="{l:Translate chkMark}" IsChecked="{Binding Breakpoint.MarkEvent}" IsVisible="{Binding !Breakpoint.Forbid}" />
<CheckBox Content="{l:Translate chkEnable}" IsChecked="{Binding Breakpoint.Enabled}" IsVisible="{Binding !Breakpoint.Forbid}" />
<CheckBox Content="{l:Translate chkEnableForbid}" IsChecked="{Binding Breakpoint.Enabled}" IsVisible="{Binding Breakpoint.Forbid}" />
</StackPanel>
<Grid
DockPanel.Dock="Right"
ColumnDefinitions="Auto,*"
RowDefinitions="Auto,Auto,Auto,*"
Margin="5 0 5 0"
>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{l:Translate lblBreakpointType}" />
<StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="0">
<c:EnumComboBox
SelectedItem="{Binding Breakpoint.MemoryType}"
AvailableValues="{Binding AvailableMemoryTypes}"
Width="150"
/>
<TextBlock Margin="3 0 0 0" Text="{Binding MaxAddress}" Foreground="Gray" />
</StackPanel>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{l:Translate lblBreakOn}" IsVisible="{Binding !Breakpoint.Forbid}" />
<StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="1" IsVisible="{Binding !Breakpoint.Forbid}">
<CheckBox Content="{l:Translate chkBreakOnRead}" IsChecked="{Binding Breakpoint.BreakOnRead}" />
<CheckBox Content="{l:Translate chkBreakOnWrite}" IsChecked="{Binding Breakpoint.BreakOnWrite}" Margin="10 0 0 0" />
<CheckBox
Content="{l:Translate chkBreakOnExec}"
IsChecked="{Binding Breakpoint.BreakOnExec}"
Margin="10 0 0 0"
IsVisible="{Binding CanExec}"
/>
</StackPanel>
<TextBlock Grid.Column="0" Grid.Row="2" Text="{l:Translate lblAddress}" />
<StackPanel Grid.Column="1" Grid.Row="2" Orientation="Horizontal">
<TextBlock Margin="0 0 3 0">$</TextBlock>
<c:MesenNumericTextBox Name="startAddress" Value="{Binding Breakpoint.StartAddress}" Hex="True" Trim="True" Width="60" />
<TextBlock Margin="3 0 3 0" Text="{l:Translate lblAddressTo}" />
<c:MesenNumericTextBox Value="{Binding Breakpoint.EndAddress}" Hex="True" Trim="True" Width="60" />
</StackPanel>
<TextBlock Grid.Column="0" Grid.Row="3" Text="{l:Translate lblCondition}" />
<Grid ColumnDefinitions="*,Auto,Auto" Grid.Column="1" Grid.Row="3">
<TextBox
AcceptsReturn="True"
TextWrapping="Wrap"
Height="NaN"
Text="{Binding Breakpoint.Condition, Converter={StaticResource NullTextConverter}}"
/>
<Image Grid.Column="1" Stretch="None" Source="/Assets/Warning.png" ToolTip.Tip="{l:Translate lblConditionError}" IsVisible="{Binding !IsConditionValid}" />
<Image Grid.Column="2" Stretch="None" Source="/Assets/Help.png" ToolTip.Tip="{Binding HelpTooltip}" ToolTip.Placement="Right" ToolTip.ShowDelay="100" />
</Grid>
</Grid>
</DockPanel>
</Window>