Files
2023-01-25 16:03:56 -05:00

64 lines
2.5 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:l="using:Mesen.Localization"
xmlns:c="using:Mesen.Controls"
xmlns:u="using:Mesen.Utilities"
mc:Ignorable="d"
MinWidth="120"
x:Name="root"
HorizontalAlignment="Stretch"
x:Class="Mesen.Debugger.Controls.HexInput"
>
<UserControl.Resources>
<StreamGeometry x:Key="FirstButton">M7,0 L2,5 7,10 M0,0 L0,10</StreamGeometry>
<StreamGeometry x:Key="LargeButton">M0,0 L5,5 0,10 M7,0 L7,10</StreamGeometry>
<StreamGeometry x:Key="PrevLargeButton">M7,0 L3,5 7,10 M3,0 L0,5 3,10</StreamGeometry>
<StreamGeometry x:Key="NextLargeButton">M0,0 L4,5 0,10 M4,0 L7,5 4,10</StreamGeometry>
<StreamGeometry x:Key="PrevSmallButton">M5,0 L0,5 5,10</StreamGeometry>
<StreamGeometry x:Key="NextSmallButton">M0,0 L5,5 0,10</StreamGeometry>
</UserControl.Resources>
<UserControl.Styles>
<Style Selector="RepeatButton">
<Setter Property="Width" Value="16" />
<Setter Property="MinWidth" Value="16" />
<Setter Property="Padding" Value="4 0" />
<Setter Property="MinHeight" Value="21" />
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
<Style Selector="Path">
<Setter Property="Stroke" Value="{DynamicResource ButtonForeground}"/>
<Setter Property="StrokeThickness" Value="2"/>
</Style>
<Style Selector="RepeatButton:disabled Path">
<Setter Property="Stroke" Value="{DynamicResource ButtonForegroundDisabled}"/>
</Style>
</UserControl.Styles>
<DockPanel DataContext="{Binding ElementName=root}">
<RepeatButton Command="{Binding DecrementLarge}" DockPanel.Dock="Left" ToolTip.Tip="Previous page">
<Path Data="{StaticResource PrevLargeButton}" />
</RepeatButton>
<RepeatButton Command="{Binding DecrementSmall}" DockPanel.Dock="Left" ToolTip.Tip="Previous byte" Margin="-1 0 0 0">
<Path Data="{StaticResource PrevSmallButton}"/>
</RepeatButton>
<RepeatButton Command="{Binding IncrementLarge}" DockPanel.Dock="Right" ToolTip.Tip="Next page">
<Path Data="{StaticResource NextLargeButton}" />
</RepeatButton>
<RepeatButton Command="{Binding IncrementSmall}" DockPanel.Dock="Right" ToolTip.Tip="Next byte" Margin="0 0 -1 0">
<Path Data="{StaticResource NextSmallButton}" />
</RepeatButton>
<c:MesenNumericTextBox
Hex="True"
Value="{Binding Value}"
Max="{Binding Maximum}"
Min="{Binding Minimum}"
/>
</DockPanel>
</UserControl>