2019-06-16 23:34:47 +00:00
|
|
|
<!--
|
|
|
|
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.
|
|
|
|
-->
|
|
|
|
|
2019-07-20 20:28:10 +00:00
|
|
|
<Window x:Class="SourceGen.WpfGui.EditAddress"
|
2019-06-16 23:34:47 +00:00
|
|
|
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"
|
2021-09-22 21:39:39 +00:00
|
|
|
xmlns:system="clr-namespace:System;assembly=mscorlib"
|
2019-07-20 20:28:10 +00:00
|
|
|
xmlns:local="clr-namespace:SourceGen.WpfGui"
|
2019-06-16 23:34:47 +00:00
|
|
|
mc:Ignorable="d"
|
2021-09-27 00:06:43 +00:00
|
|
|
Title="Set Address Range Properties"
|
|
|
|
Width="350" SizeToContent="Height" ResizeMode="NoResize"
|
2019-06-16 23:34:47 +00:00
|
|
|
ShowInTaskbar="False" WindowStartupLocation="CenterOwner"
|
2019-07-21 22:24:39 +00:00
|
|
|
ContentRendered="Window_ContentRendered">
|
2019-06-16 23:34:47 +00:00
|
|
|
|
2021-09-22 21:39:39 +00:00
|
|
|
<Window.Resources>
|
2021-09-27 00:06:43 +00:00
|
|
|
<BooleanToVisibilityConverter x:Key="BoolToVis"/>
|
|
|
|
|
|
|
|
<system:String x:Key="str_HdrCreate">Creating new address region</system:String>
|
|
|
|
<system:String x:Key="str_HdrEdit">Editing existing address region:</system:String>
|
|
|
|
|
|
|
|
<system:String x:Key="str_OptEditAsIs">
|
|
|
|
Edit the region's attributes. Region length will not be changed.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_OptEditAndFix">
|
|
|
|
Edit the region's attributes, and convert the floating end to a fixed end.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_OptResize">
|
|
|
|
Edit the region's attributes, and resize it to the selection. The new
|
|
|
|
end offset will be {0}, for a length of {1}.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_CreateFixed">
|
|
|
|
Create a new region, with a fixed end point. The region will start at {0}
|
|
|
|
and have a length of {1}.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_CreateFixedFail">
|
|
|
|
Unable to create a new region with a fixed end point here.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_CreateFloating">
|
|
|
|
Create a new region, with a floating end point. The region will start at {0}
|
|
|
|
and end at the next region boundary. Currently, the length is {1}, but that
|
|
|
|
may change as other regions are added and removed.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_CreateFloatingFail">
|
|
|
|
Unable to create a new region with a floating end point here.
|
|
|
|
</system:String>
|
|
|
|
|
|
|
|
<system:String x:Key="str_ErrInternal">Internal error.</system:String>
|
|
|
|
<system:String x:Key="str_ErrInvalidValue">Internal error (invalid value).</system:String>
|
|
|
|
<system:String x:Key="str_ErrOverlapExisting">
|
|
|
|
The new region has the same start offset and length as an existing region.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_ErrOverlapFloating">
|
|
|
|
The start offset of the new region is the same as the start offset of an existing
|
|
|
|
region, and one or both have a floating end point.
|
|
|
|
</system:String>
|
|
|
|
<system:String x:Key="str_ErrStraddleExisting">
|
|
|
|
The new region straddles the start or end of an existing region.
|
|
|
|
</system:String>
|
2021-09-22 21:39:39 +00:00
|
|
|
</Window.Resources>
|
|
|
|
|
2019-06-16 23:34:47 +00:00
|
|
|
<StackPanel Margin="8">
|
2021-09-27 00:06:43 +00:00
|
|
|
<TextBlock Text="{Binding OperationStr, FallbackValue=Editing existing region}"/>
|
|
|
|
<Grid Visibility="{Binding ShowExistingRegion, Converter={StaticResource BoolToVis}}">
|
2021-09-22 21:39:39 +00:00
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
<ColumnDefinition Width="Auto"/>
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto"/>
|
|
|
|
<RowDefinition Height="Auto"/>
|
|
|
|
<RowDefinition Height="Auto"/>
|
2021-09-27 00:06:43 +00:00
|
|
|
<RowDefinition Height="Auto"/>
|
2021-09-22 21:39:39 +00:00
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Grid.Row="0" Margin="8,0,0,0" Text="Start:"/>
|
|
|
|
<TextBlock Grid.Column="1" Grid.Row="0" Margin="4,2,0,0"
|
|
|
|
Text="{Binding RegionStartOffsetStr, FallbackValue=+123456}"
|
2019-12-26 01:15:37 +00:00
|
|
|
FontFamily="{StaticResource GeneralMonoFont}"/>
|
|
|
|
|
2021-09-22 21:39:39 +00:00
|
|
|
<TextBlock Grid.Column="0" Grid.Row="1" Margin="8,0,0,0" Text="End:"/>
|
2021-09-27 00:06:43 +00:00
|
|
|
<StackPanel Grid.Column="1" Grid.Row="1" Margin="4,0,0,0" Orientation="Horizontal">
|
2021-09-22 21:39:39 +00:00
|
|
|
<TextBlock Margin="0,2,0,0"
|
2021-09-27 00:06:43 +00:00
|
|
|
Text="{Binding RegionEndOffsetStr, FallbackValue=+123456}"
|
2019-12-26 01:15:37 +00:00
|
|
|
FontFamily="{StaticResource GeneralMonoFont}"/>
|
2021-09-22 21:39:39 +00:00
|
|
|
<TextBlock Text="(floating)" Margin="4,0,0,0" FontWeight="Bold"
|
2021-09-27 00:06:43 +00:00
|
|
|
Visibility="{Binding IsFloating, Converter={StaticResource BoolToVis}}"/>
|
2019-12-26 01:15:37 +00:00
|
|
|
</StackPanel>
|
2021-09-22 21:39:39 +00:00
|
|
|
|
2021-09-27 00:06:43 +00:00
|
|
|
<TextBlock Grid.Column="0" Grid.Row="2" Margin="8,0,0,0" Text="Length:"/>
|
|
|
|
<TextBlock Grid.Column="1" Grid.Row="2" Margin="4,2,0,0"
|
|
|
|
Text="{Binding RegionLengthStr, FallbackValue=23456 ($1234)}"
|
|
|
|
FontFamily="{StaticResource GeneralMonoFont}"/>
|
|
|
|
</Grid>
|
2021-09-22 21:39:39 +00:00
|
|
|
|
2021-09-27 00:06:43 +00:00
|
|
|
<RadioButton Name="radioOption1" Margin="0,12,0,0"
|
|
|
|
Visibility="{Binding ShowOption1, Converter={StaticResource BoolToVis}}"
|
|
|
|
IsEnabled="{Binding EnableOption1}"
|
|
|
|
IsChecked="{Binding CheckOption1}">
|
|
|
|
<RadioButton.Content>
|
|
|
|
<TextBlock TextWrapping="Wrap" Text="{Binding Option1Str, FallbackValue=Option 1}"/>
|
|
|
|
</RadioButton.Content>
|
|
|
|
</RadioButton>
|
|
|
|
<RadioButton Name="radioOption2" Margin="0,4,0,0"
|
|
|
|
Visibility="{Binding ShowOption2, Converter={StaticResource BoolToVis}}"
|
|
|
|
IsEnabled="{Binding EnableOption2}"
|
|
|
|
IsChecked="{Binding CheckOption2}">
|
|
|
|
<RadioButton.Content>
|
|
|
|
<TextBlock TextWrapping="Wrap" Text="{Binding Option2Str, FallbackValue=Option 2}"/>
|
|
|
|
</RadioButton.Content>
|
|
|
|
</RadioButton>
|
|
|
|
|
|
|
|
<Border Visibility="{Binding ShowErrorMessage, Converter={StaticResource BoolToVis}}"
|
|
|
|
BorderThickness="1" Padding="1" Margin="0,6"
|
|
|
|
BorderBrush="Red">
|
|
|
|
<TextBlock TextWrapping="Wrap" Width="300"
|
|
|
|
Text="{Binding ErrorMessageStr, FallbackValue=Error Message}"/>
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
<Rectangle HorizontalAlignment="Stretch" Fill="LightGray" Height="2" Margin="0,8,0,0"/>
|
|
|
|
|
|
|
|
<StackPanel IsEnabled="{Binding EnableAttributeControls}">
|
2021-09-22 21:39:39 +00:00
|
|
|
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
|
|
|
<TextBlock Text="Address (hex):"/>
|
|
|
|
|
|
|
|
<TextBox Name="addrTextBox" Width="100" Margin="4,1,0,0"
|
|
|
|
FontFamily="{StaticResource GeneralMonoFont}"
|
|
|
|
Text="{Binding Path=AddressText, UpdateSourceTrigger=PropertyChanged}"
|
|
|
|
IsInactiveSelectionHighlightEnabled="True">
|
|
|
|
<TextBox.Resources>
|
|
|
|
<!-- default non-focus highlight color is nearly invisible -->
|
|
|
|
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
|
|
|
|
Color="LightBlue"/>
|
|
|
|
</TextBox.Resources>
|
|
|
|
</TextBox>
|
2019-12-26 01:15:37 +00:00
|
|
|
</StackPanel>
|
2021-09-22 21:39:39 +00:00
|
|
|
|
|
|
|
<TextBlock Text="• Enter 16-bit or 24-bit address, e.g. $1000 or 01/be00." Margin="0,4,0,0"/>
|
|
|
|
<TextBlock Text="• Enter 'NA' if the region is non-addressable."/>
|
2019-06-16 23:34:47 +00:00
|
|
|
</StackPanel>
|
|
|
|
|
2021-09-27 00:06:43 +00:00
|
|
|
<StackPanel IsEnabled="{Binding EnableAttributeControls}">
|
|
|
|
<GroupBox Header="Advanced" Padding="2,4" Margin="0,12,0,0">
|
|
|
|
<StackPanel>
|
|
|
|
<CheckBox Content="Use relative addressing"
|
|
|
|
IsChecked="{Binding UseRelativeAddressing}"/>
|
|
|
|
|
|
|
|
<StackPanel Orientation="Horizontal" Margin="0,12,0,0">
|
|
|
|
<TextBlock Text="Pre-label:"/>
|
|
|
|
<TextBox Name="preLabelTextBox" Width="100" Margin="4,1,0,0"
|
|
|
|
FontFamily="{StaticResource GeneralMonoFont}"
|
|
|
|
Text="{Binding Path=PreLabelText, UpdateSourceTrigger=PropertyChanged}"/>
|
|
|
|
<TextBlock Text="(address: " Margin="8,0,0,0"/>
|
|
|
|
<TextBlock Text="{Binding Path=PreLabelAddressStr, FallbackValue=$1234}"
|
|
|
|
Margin="0,2,0,0"
|
|
|
|
FontFamily="{StaticResource GeneralMonoFont}"/>
|
|
|
|
<TextBlock Text=")"/>
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
<TextBlock Text="• Must be valid label syntax; may not be a local label." Margin="0,4,0,0"/>
|
|
|
|
<TextBlock Text="• Must not be a duplicate of an existing label."/>
|
|
|
|
<TextBlock Text="• Will not appear if parent region is non-addressable."/>
|
2021-09-22 21:39:39 +00:00
|
|
|
</StackPanel>
|
2021-09-27 00:06:43 +00:00
|
|
|
</GroupBox>
|
|
|
|
</StackPanel>
|
2021-09-22 21:39:39 +00:00
|
|
|
|
2021-09-27 00:06:43 +00:00
|
|
|
<DockPanel Margin="0,10,0,0" LastChildFill="False">
|
|
|
|
<Button DockPanel.Dock="Left" Content="Delete Region" Width="120"
|
|
|
|
IsEnabled="{Binding CanDeleteRegion}" Click="DeleteRegion_Click"/>
|
|
|
|
<Button DockPanel.Dock="Right" Content="Cancel" Width="70" Margin="4,0,0,0" IsCancel="True"/>
|
|
|
|
<Button DockPanel.Dock="Right" Grid.Column="1" Content="OK" Width="70"
|
|
|
|
IsDefault="True" IsEnabled="{Binding IsValid}" Click="OkButton_Click"/>
|
|
|
|
</DockPanel>
|
2021-09-22 21:39:39 +00:00
|
|
|
|
2019-06-16 23:34:47 +00:00
|
|
|
</StackPanel>
|
|
|
|
</Window>
|