mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-30 01:50:10 +00:00
7bbe5692bd
Both dialogs got a couple extra radio buttons for selection of single character operands. The data operand editor got a combo box that lets you specify how it scans for viable strings. Various string scanning methods were made more generic. This got a little strange with auto-detection of low/high ASCII, but that was mostly a matter of keeping the previous code around as a special case. Made C64 Screen Code DCI strings a thing that works.
157 lines
9.6 KiB
XML
157 lines
9.6 KiB
XML
<!--
|
|
Copyright 2019 faddenSoft
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<Window x:Class="SourceGen.WpfGui.EditDataOperand"
|
|
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:system="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:local="clr-namespace:SourceGen.WpfGui"
|
|
mc:Ignorable="d"
|
|
Title="Edit Data Operand"
|
|
SizeToContent="WidthAndHeight" ResizeMode="NoResize"
|
|
ShowInTaskbar="False" WindowStartupLocation="CenterOwner"
|
|
Loaded="Window_Loaded"
|
|
ContentRendered="Window_ContentRendered">
|
|
|
|
<Window.Resources>
|
|
<system:String x:Key="str_SingleByte">Select data format (1 byte selected):</system:String>
|
|
<system:String x:Key="str_SingleGroup">Select data format ({0} bytes selected):</system:String>
|
|
<system:String x:Key="str_MultiGroup">Select data format ({0} bytes selected in {1} groups):</system:String>
|
|
|
|
<system:String x:Key="str_StringMixed">Mixed character ({0} bytes) and non-character ({1} bytes)</system:String>
|
|
<system:String x:Key="str_StringMixedReverse">Reversed character ({0} bytes) and non-character ({1} bytes)</system:String>
|
|
<system:String x:Key="str_StringNullTerm">Null-terminated strings ({0})</system:String>
|
|
<system:String x:Key="str_StringLen8">Strings prefixed with 8-bit length ({0})</system:String>
|
|
<system:String x:Key="str_StringLen16">Strings prefixed with 16-bit length ({0})</system:String>
|
|
<system:String x:Key="str_StringDci">Dextral character inverted ({0})</system:String>
|
|
</Window.Resources>
|
|
|
|
<StackPanel Margin="8">
|
|
<TextBlock Name="selectFormatLabel" Text="{StaticResource str_MultiGroup}"/>
|
|
<RadioButton Name="radioDefaultFormat" GroupName="Main" Content="_Default" Margin="0,8,0,0"/>
|
|
|
|
<TextBlock Text="Simple Data" Margin="0,12,0,0"/>
|
|
<Rectangle HorizontalAlignment="Stretch" Fill="LightGray" Height="2"/>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0">
|
|
<RadioButton Name="radioSingleBytes" GroupName="Main" Content="Single _bytes" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radio16BitLittle" GroupName="Main" Content="16-bit words, little-endian" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radio16BitBig" GroupName="Main" Content="16-bit words, big-endian" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radio24BitLittle" GroupName="Main" Content="24-bit words, little-endian" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radio32BitLittle" GroupName="Main" Content="32-bit words, little-endian" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
</StackPanel>
|
|
<GroupBox Name="simpleDisplayAsGroupBox" Grid.Column="1" Header="Display As..." Margin="16,0,0,0"
|
|
Padding="2,4">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Grid.Column="0" Grid.Row="0">
|
|
<RadioButton Name="radioSimpleDataHex" GroupName="Display" Content="Hex"
|
|
Checked="SimpleDisplay_CheckedChanged"/>
|
|
<RadioButton Name="radioSimpleDataDecimal" GroupName="Display" Content="Decimal"
|
|
Margin="0,4,18,0" Checked="SimpleDisplay_CheckedChanged"/>
|
|
<RadioButton Name="radioSimpleDataBinary" GroupName="Display" Content="Binary"
|
|
Margin="0,4,0,0" Checked="SimpleDisplay_CheckedChanged"/>
|
|
<RadioButton Name="radioSimpleDataAddress" GroupName="Display" Content="_Address"
|
|
Margin="0,4,0,0" Checked="SimpleDisplay_CheckedChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Grid.Column="1" Grid.Row="0">
|
|
<RadioButton Name="radioSimpleDataAscii" GroupName="Display"
|
|
Content="ASCII (low or high) character"
|
|
Checked="SimpleDisplay_CheckedChanged"/>
|
|
<RadioButton Name="radioSimpleDataPetscii" GroupName="Display"
|
|
Content="C64 PETSCII character"
|
|
Checked="SimpleDisplay_CheckedChanged"/>
|
|
<RadioButton Name="radioSimpleDataScreenCode" GroupName="Display"
|
|
Content="C64 Screen character"
|
|
Checked="SimpleDisplay_CheckedChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2">
|
|
<RadioButton Name="radioSimpleDataSymbolic" GroupName="Display" Content="_Symbolic reference"
|
|
Margin="0,4,0,0" Checked="SimpleDisplay_CheckedChanged"/>
|
|
<TextBox Name="symbolEntryTextBox" Margin="20,4,0,0" TextChanged="SymbolEntryTextBox_TextChanged"/>
|
|
|
|
<StackPanel Orientation="Horizontal" Margin="20,4,0,0"
|
|
IsEnabled="{Binding ElementName=radioSimpleDataSymbolic, Path=IsChecked}">
|
|
<RadioButton Name="radioSymbolPartLow" GroupName="Part" Content="Low"/>
|
|
<RadioButton Name="radioSymbolPartHigh" GroupName="Part" Content="High" Margin="8,0,0,0"/>
|
|
<RadioButton Name="radioSymbolPartBank" GroupName="Part" Content="Bank" Margin="8,0,8,0"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Grid>
|
|
</GroupBox>
|
|
</Grid>
|
|
|
|
<TextBlock Text="Bulk Data" Margin="0,12,0,0"/>
|
|
<Rectangle HorizontalAlignment="Stretch" Fill="LightGray" Height="2"/>
|
|
<RadioButton Name="radioDenseHex" GroupName="Main" Content="Densely-_packed bytes" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radioFill" GroupName="Main" Content="_Fill with value" Margin="0,4,0,0"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
|
|
<TextBlock Text="String" Margin="0,12,0,0"/>
|
|
<Rectangle HorizontalAlignment="Stretch" Fill="LightGray" Height="2"/>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="Character encoding:" Margin="0,7,0,0"/>
|
|
<ComboBox Name="stringEncodingComboBox" Width="150" Margin="8,4,0,4"
|
|
ItemsSource="{Binding StringEncodingItems}" DisplayMemberPath="Name"
|
|
SelectionChanged="StringEncodingComboBox_SelectionChanged"/>
|
|
</StackPanel>
|
|
<RadioButton Name="radioStringMixed" GroupName="Main" Margin="0,4,0,0"
|
|
Content="{StaticResource str_StringMixed}"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radioStringMixedReverse" GroupName="Main" Margin="0,4,0,0"
|
|
Content="{StaticResource str_StringMixedReverse}"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radioStringNullTerm" GroupName="Main" Margin="0,4,0,0"
|
|
Content="{StaticResource str_StringNullTerm}"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radioStringLen8" GroupName="Main" Margin="0,4,0,0"
|
|
Content="{StaticResource str_StringLen8}"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radioStringLen16" GroupName="Main" Margin="0,4,0,0"
|
|
Content="{StaticResource str_StringLen16}"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
<RadioButton Name="radioStringDci" GroupName="Main" Margin="0,4,0,0"
|
|
Content="{StaticResource str_StringDci}"
|
|
Checked="MainGroup_CheckedChanged"/>
|
|
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,8,0,0">
|
|
<Button Name="okButton" Content="OK" IsDefault="True" Width="70"
|
|
IsEnabled="{Binding IsValid}" Click="OkButton_Click"/>
|
|
<Button Name="cancelButton" Content="Cancel" IsCancel="True"
|
|
Width="70" Margin="4,0,0,0"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Window>
|