1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-08-09 02:29:27 +00:00
6502bench/SourceGenWPF/WpfGui/DiscardChanges.xaml
Andy McFadden a0dca6a5be Improve save & restore of top line
Whenever the display list gets regenerated, we need to restore the
code list view scroll position to the previous location in the file.
This gets tricky when multiple lines are appearing or disappearing.
We were saving the file offset of the line, but that works poorly
when there's a multi-line comment associated with that offset,
because we end up scrolling to the top of the comment whenever any
part of the comment is at the top of the screen.

We now track the file offset and the number of lines we were from
the top of that offset's content.  This works well unless we remove
a lot of lines.  If the adjusted line index would put us into a
different file offset, we punt and just scroll to the top of the item.

Also, fix a crasher in Edit Note.

Also, fix behavior when the list shrinks while a line near the end
of the file is selected.

Also, change a few instances of "Color.FromArgb(0,0,0,0)" to use a
common constant.
2019-07-17 14:08:53 -07:00

42 lines
1.9 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="SourceGenWPF.WpfGui.DiscardChanges"
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:local="clr-namespace:SourceGenWPF.WpfGui"
mc:Ignorable="d"
Title="Discard Changes?"
FocusManager.FocusedElement="{Binding ElementName=cancelButton}"
SizeToContent="WidthAndHeight" ResizeMode="NoResize"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
<StackPanel Margin="8">
<TextBlock Text="You have unsaved changes that will be lost if you continue."/>
<TextBlock Margin="0,8,0,0" Text="How do you wish to proceed?"/>
<StackPanel Margin="0,16,0,0" Orientation="Horizontal">
<Button Name="saveButton" Width="120"
Content="_Save &amp; Continue" Click="SaveButton_Click"/>
<Button Name="dontSaveButton" Width="120" Margin="12,0,0,0"
Content="_Discard &amp; Continue" Click="DontSaveButton_Click"/>
<Button Name="cancelButton" Width="120" Margin="12,0,0,0"
Content="Cancel" IsCancel="True"/>
</StackPanel>
</StackPanel>
</Window>