Skip to content

Commit 7cd7620

Browse files
committed
code_style: change UpdateSelectedChunk from public to protected
Signed-off-by: leo <longshuang@msn.cn>
1 parent 73b9ade commit 7cd7620

File tree

1 file changed

+102
-102
lines changed

1 file changed

+102
-102
lines changed

src/Views/TextDiffView.axaml.cs

Lines changed: 102 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -478,10 +478,6 @@ public ThemedTextDiffPresenter(TextArea area, TextDocument doc) : base(area, doc
478478
TextArea.TextView.LineTransformers.Add(_lineStyleTransformer);
479479
}
480480

481-
public virtual void UpdateSelectedChunk(double y)
482-
{
483-
}
484-
485481
public void GotoChange(ViewModels.BlockNavigationDirection direction)
486482
{
487483
if (DataContext is not ViewModels.TextDiffContext ctx)
@@ -603,6 +599,10 @@ protected override void OnSizeChanged(SizeChangedEventArgs e)
603599
}
604600
}
605601

602+
protected virtual void UpdateSelectedChunk(double y)
603+
{
604+
}
605+
606606
private async void OnTextAreaKeyDown(object sender, KeyEventArgs e)
607607
{
608608
if (e.KeyModifiers.Equals(OperatingSystem.IsMacOS() ? KeyModifiers.Meta : KeyModifiers.Control))
@@ -889,7 +889,62 @@ public class CombinedTextDiffPresenter : ThemedTextDiffPresenter
889889
TextArea.LeftMargins.Add(new LineModifyTypeMargin());
890890
}
891891

892-
public override void UpdateSelectedChunk(double y)
892+
protected override void OnLoaded(RoutedEventArgs e)
893+
{
894+
base.OnLoaded(e);
895+
896+
_scrollViewer = this.FindDescendantOfType<ScrollViewer>();
897+
if (_scrollViewer != null)
898+
{
899+
_scrollViewer.Bind(ScrollViewer.OffsetProperty, new Binding("ScrollOffset", BindingMode.TwoWay));
900+
_scrollViewer.ScrollChanged += OnTextViewScrollChanged;
901+
}
902+
}
903+
904+
protected override void OnUnloaded(RoutedEventArgs e)
905+
{
906+
if (_scrollViewer != null)
907+
_scrollViewer.ScrollChanged -= OnTextViewScrollChanged;
908+
909+
base.OnUnloaded(e);
910+
}
911+
912+
protected override void OnDataContextChanged(EventArgs e)
913+
{
914+
base.OnDataContextChanged(e);
915+
916+
if (DataContext is ViewModels.CombinedTextDiff { Data: { } diff })
917+
{
918+
var builder = new StringBuilder();
919+
foreach (var line in diff.Lines)
920+
{
921+
if (line.Content.Length > 10000)
922+
{
923+
builder.Append(line.Content.AsSpan(0, 1000));
924+
builder.Append($"...({line.Content.Length - 1000} characters trimmed)");
925+
}
926+
else
927+
{
928+
builder.Append(line.Content);
929+
}
930+
931+
if (line.NoNewLineEndOfFile)
932+
builder.Append("\u26D4");
933+
934+
builder.AppendLine();
935+
}
936+
937+
Text = builder.ToString();
938+
}
939+
else
940+
{
941+
Text = string.Empty;
942+
}
943+
944+
GC.Collect();
945+
}
946+
947+
protected override void UpdateSelectedChunk(double y)
893948
{
894949
if (DataContext is not ViewModels.CombinedTextDiff { Data: { } diff } combined)
895950
return;
@@ -988,39 +1043,75 @@ public override void UpdateSelectedChunk(double y)
9881043
}
9891044
}
9901045

1046+
private void OnTextViewScrollChanged(object sender, ScrollChangedEventArgs e)
1047+
{
1048+
if (!TextArea.TextView.IsPointerOver)
1049+
TrySetChunk(null);
1050+
}
1051+
1052+
private ScrollViewer _scrollViewer = null;
1053+
}
1054+
1055+
public class SingleSideTextDiffPresenter : ThemedTextDiffPresenter
1056+
{
1057+
public SingleSideTextDiffPresenter() : base(new TextArea(), new TextDocument())
1058+
{
1059+
TextArea.LeftMargins.Add(new LineNumberMargin(true, false));
1060+
TextArea.LeftMargins.Add(new VerticalSeparatorMargin());
1061+
TextArea.LeftMargins.Add(new LineModifyTypeMargin());
1062+
}
1063+
1064+
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
1065+
{
1066+
base.OnPropertyChanged(change);
1067+
1068+
if (change.Property == BlockNavigationProperty)
1069+
{
1070+
if (change.OldValue is ViewModels.BlockNavigation oldValue)
1071+
oldValue.PropertyChanged -= OnBlockNavigationPropertyChanged;
1072+
if (change.NewValue is ViewModels.BlockNavigation newValue)
1073+
newValue.PropertyChanged += OnBlockNavigationPropertyChanged;
1074+
}
1075+
}
1076+
9911077
protected override void OnLoaded(RoutedEventArgs e)
9921078
{
9931079
base.OnLoaded(e);
9941080

9951081
_scrollViewer = this.FindDescendantOfType<ScrollViewer>();
9961082
if (_scrollViewer != null)
9971083
{
998-
_scrollViewer.Bind(ScrollViewer.OffsetProperty, new Binding("ScrollOffset", BindingMode.TwoWay));
9991084
_scrollViewer.ScrollChanged += OnTextViewScrollChanged;
1085+
_scrollViewer.Bind(ScrollViewer.OffsetProperty, new Binding("ScrollOffset", BindingMode.OneWay));
10001086
}
10011087
}
10021088

10031089
protected override void OnUnloaded(RoutedEventArgs e)
10041090
{
10051091
if (_scrollViewer != null)
1092+
{
10061093
_scrollViewer.ScrollChanged -= OnTextViewScrollChanged;
1094+
_scrollViewer = null;
1095+
}
10071096

10081097
base.OnUnloaded(e);
1098+
GC.Collect();
10091099
}
10101100

10111101
protected override void OnDataContextChanged(EventArgs e)
10121102
{
10131103
base.OnDataContextChanged(e);
10141104

1015-
if (DataContext is ViewModels.CombinedTextDiff { Data: { } diff })
1105+
if (DataContext is ViewModels.TwoSideTextDiff diff)
10161106
{
10171107
var builder = new StringBuilder();
1018-
foreach (var line in diff.Lines)
1108+
var lines = IsOld ? diff.Old : diff.New;
1109+
foreach (var line in lines)
10191110
{
1020-
if (line.Content.Length > 10000)
1111+
if (line.Content.Length > 1000)
10211112
{
10221113
builder.Append(line.Content.AsSpan(0, 1000));
1023-
builder.Append($"...({line.Content.Length - 1000} character trimmed)");
1114+
builder.Append($"...({line.Content.Length - 1000} characters trimmed)");
10241115
}
10251116
else
10261117
{
@@ -1039,29 +1130,9 @@ protected override void OnDataContextChanged(EventArgs e)
10391130
{
10401131
Text = string.Empty;
10411132
}
1042-
1043-
GC.Collect();
10441133
}
10451134

1046-
private void OnTextViewScrollChanged(object sender, ScrollChangedEventArgs e)
1047-
{
1048-
if (!TextArea.TextView.IsPointerOver)
1049-
TrySetChunk(null);
1050-
}
1051-
1052-
private ScrollViewer _scrollViewer = null;
1053-
}
1054-
1055-
public class SingleSideTextDiffPresenter : ThemedTextDiffPresenter
1056-
{
1057-
public SingleSideTextDiffPresenter() : base(new TextArea(), new TextDocument())
1058-
{
1059-
TextArea.LeftMargins.Add(new LineNumberMargin(true, false));
1060-
TextArea.LeftMargins.Add(new VerticalSeparatorMargin());
1061-
TextArea.LeftMargins.Add(new LineModifyTypeMargin());
1062-
}
1063-
1064-
public override void UpdateSelectedChunk(double y)
1135+
protected override void UpdateSelectedChunk(double y)
10651136
{
10661137
if (DataContext is not ViewModels.TwoSideTextDiff diff)
10671138
return;
@@ -1163,77 +1234,6 @@ public override void UpdateSelectedChunk(double y)
11631234
}
11641235
}
11651236

1166-
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
1167-
{
1168-
base.OnPropertyChanged(change);
1169-
1170-
if (change.Property == BlockNavigationProperty)
1171-
{
1172-
if (change.OldValue is ViewModels.BlockNavigation oldValue)
1173-
oldValue.PropertyChanged -= OnBlockNavigationPropertyChanged;
1174-
if (change.NewValue is ViewModels.BlockNavigation newValue)
1175-
newValue.PropertyChanged += OnBlockNavigationPropertyChanged;
1176-
}
1177-
}
1178-
1179-
protected override void OnLoaded(RoutedEventArgs e)
1180-
{
1181-
base.OnLoaded(e);
1182-
1183-
_scrollViewer = this.FindDescendantOfType<ScrollViewer>();
1184-
if (_scrollViewer != null)
1185-
{
1186-
_scrollViewer.ScrollChanged += OnTextViewScrollChanged;
1187-
_scrollViewer.Bind(ScrollViewer.OffsetProperty, new Binding("ScrollOffset", BindingMode.OneWay));
1188-
}
1189-
}
1190-
1191-
protected override void OnUnloaded(RoutedEventArgs e)
1192-
{
1193-
if (_scrollViewer != null)
1194-
{
1195-
_scrollViewer.ScrollChanged -= OnTextViewScrollChanged;
1196-
_scrollViewer = null;
1197-
}
1198-
1199-
base.OnUnloaded(e);
1200-
GC.Collect();
1201-
}
1202-
1203-
protected override void OnDataContextChanged(EventArgs e)
1204-
{
1205-
base.OnDataContextChanged(e);
1206-
1207-
if (DataContext is ViewModels.TwoSideTextDiff diff)
1208-
{
1209-
var builder = new StringBuilder();
1210-
var lines = IsOld ? diff.Old : diff.New;
1211-
foreach (var line in lines)
1212-
{
1213-
if (line.Content.Length > 1000)
1214-
{
1215-
builder.Append(line.Content.AsSpan(0, 1000));
1216-
builder.Append($"...({line.Content.Length - 1000} characters trimmed)");
1217-
}
1218-
else
1219-
{
1220-
builder.Append(line.Content);
1221-
}
1222-
1223-
if (line.NoNewLineEndOfFile)
1224-
builder.Append("\u26D4");
1225-
1226-
builder.AppendLine();
1227-
}
1228-
1229-
Text = builder.ToString();
1230-
}
1231-
else
1232-
{
1233-
Text = string.Empty;
1234-
}
1235-
}
1236-
12371237
private void OnTextViewScrollChanged(object sender, ScrollChangedEventArgs e)
12381238
{
12391239
if (_scrollViewer == null || DataContext is not ViewModels.TwoSideTextDiff diff)

0 commit comments

Comments
 (0)