mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-19 20:29:36 +00:00
When editing local variables, the data grid generally has the input focus, so hitting Enter doesn't close the dialog. Rather than play games with the focus, just take Ctrl+Enter as a shortcut to close the dialog (same as notes and long comments). (I found myself hitting Ctrl+Enter automatically, and being annoyed when it didn't work, so I figured I'd make it official.)
107 lines
5.5 KiB
XML
107 lines
5.5 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.EditLocalVariableTable"
|
|
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 Local Variable Table"
|
|
SizeToContent="WidthAndHeight" ResizeMode="NoResize"
|
|
ShowInTaskbar="False" WindowStartupLocation="CenterOwner"
|
|
Loaded="Window_Loaded"
|
|
PreviewKeyDown="Window_KeyEventHandler">
|
|
|
|
<Window.Resources>
|
|
<system:String x:Key="str_ConfirmDelete">Are you sure you want to delete the entire table?</system:String>
|
|
<system:String x:Key="str_ConfirmDeleteCaption">Confirm Deletion</system:String>
|
|
<system:String x:Key="str_TableHeaderFmt">Symbols defined in table at {0}:</system:String>
|
|
</Window.Resources>
|
|
|
|
<Grid Margin="8">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,4,0,0"
|
|
Text="{Binding TableHeaderText, FallbackValue=Symbols defined in table at +######:}"/>
|
|
|
|
<DataGrid Name="symbolsList" Grid.Column="0" Grid.Row="1" Margin="0,4,4,0"
|
|
Width="582" Height="300"
|
|
ItemsSource="{Binding Variables}"
|
|
IsReadOnly="True"
|
|
FontFamily="{StaticResource GeneralMonoFont}"
|
|
SnapsToDevicePixels="True"
|
|
GridLinesVisibility="Vertical"
|
|
VerticalGridLinesBrush="#FF7F7F7F"
|
|
AutoGenerateColumns="False"
|
|
HeadersVisibility="Column"
|
|
CanUserReorderColumns="False"
|
|
SelectionMode="Single"
|
|
SelectionChanged="SymbolsList_SelectionChanged"
|
|
Sorting="SymbolsList_Sorting"
|
|
MouseDoubleClick="SymbolsList_MouseDoubleClick">
|
|
<DataGrid.Resources>
|
|
<!-- make the no-focus color the same as the in-focus color -->
|
|
<!-- thanks: https://stackoverflow.com/a/13053511/294248 -->
|
|
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
|
|
Color="{x:Static SystemColors.HighlightColor}"/>
|
|
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}"
|
|
Color="{x:Static SystemColors.HighlightTextColor}"/>
|
|
</DataGrid.Resources>
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="Name" Width="118" Binding="{Binding Label}"/>
|
|
<DataGridTextColumn Header="Value" Width="72" Binding="{Binding Value}"/>
|
|
<DataGridTextColumn Header="Type" Width="45" Binding="{Binding Type}"/>
|
|
<DataGridTextColumn Header="Width" Width="45" Binding="{Binding Width}"/>
|
|
<DataGridTextColumn Header="Comment" Width="300" Binding="{Binding Comment}"/>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
<StackPanel Grid.Column="1" Grid.Row="1">
|
|
<Button Name="newSymbolButton" Width="120" Margin="4" Content="_New Symbol..."
|
|
Click="NewSymbolButton_Click"/>
|
|
<Button Name="editSymbolButton" Width="120" Margin="4,4" Content="_Edit Symbol..."
|
|
Click="EditSymbolButton_Click"/>
|
|
<Button Name="removeSymbolButton" Width="120" Margin="4,4" Content="_Remove"
|
|
Click="RemoveSymbolButton_Click"/>
|
|
</StackPanel>
|
|
|
|
<CheckBox Grid.Column="0" Grid.Row="2" Margin="0,4" IsChecked="{Binding ClearPrevious}"
|
|
Content="Clear values from previous tables"/>
|
|
|
|
<DockPanel Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Margin="0,8,0,0" LastChildFill="False">
|
|
<Button DockPanel.Dock="Left" Content="Delete Table" Width="120"
|
|
IsEnabled="{Binding IsNotNewTable}" Click="DeleteTableButton_Click"/>
|
|
<Button DockPanel.Dock="Left" Content="Move Table" Width="120" Margin="8,0,0,0"
|
|
IsEnabled="{Binding IsNotNewTable}" Click="MoveTableButton_Click"/>
|
|
<Button DockPanel.Dock="Right" Content="Cancel" Width="70" Margin="8,0,0,0" IsCancel="True"/>
|
|
<Button DockPanel.Dock="Right" Grid.Column="1" Content="OK" Width="70"
|
|
IsDefault="True" Click="OkButton_Click"/>
|
|
</DockPanel>
|
|
</Grid>
|
|
</Window>
|