Browse Source

remove display of deleted text; remove support for Diff engines

pull/15/head
Siegfried Pammer 16 years ago
parent
commit
2df5196a30
  1. 9
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs
  2. 49
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs

9
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs

@ -50,13 +50,14 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -50,13 +50,14 @@ namespace ICSharpCode.AvalonEdit.AddIn
drawingContext.DrawRectangle(Brushes.Blue, null, rect);
break;
case ChangeType.Unsaved:
drawingContext.DrawRectangle(Brushes.Yellow, null, rect);
drawingContext.DrawRectangle(Brushes., null, rect);
break;
default:
throw new Exception("Invalid value for ChangeType");
}
if (!string.IsNullOrEmpty(info.DeletedLinesAfterThisLine)) {
// not needed currently - TODO we have no complete SVN/Git support
/*if (!string.IsNullOrEmpty(info.DeletedLinesAfterThisLine)) {
Point pt1 = new Point(5, line.VisualTop + line.Height - textView.ScrollOffset.Y - 4);
Point pt2 = new Point(10, line.VisualTop + line.Height - textView.ScrollOffset.Y);
Point pt3 = new Point(5, line.VisualTop + line.Height - textView.ScrollOffset.Y + 4);
@ -75,7 +76,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -75,7 +76,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
drawingContext.DrawGeometry(Brushes.Red, null, new PathGeometry(new List<PathFigure>() { CreateNAngle(pt1, pt2, pt3) }));
}
}
}*/
}
}
}
@ -123,7 +124,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -123,7 +124,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
protected override Size MeasureOverride(Size availableSize)
{
return new Size(10, 0);
return new Size(5, 0);
}
bool disposed = false;

49
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DefaultChangeWatcher.cs

@ -58,30 +58,30 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -58,30 +58,30 @@ namespace ICSharpCode.AvalonEdit.AddIn
{
changeList.Clear();
Stream baseFileStream = GetBaseVersion();
byte[] baseFile = new byte[baseFileStream.Length];
ReadAll(baseFileStream, baseFile);
Stream currentFileStream = GetCurrentVersion();
byte[] currentFile = new byte[currentFileStream.Length];
// Stream baseFileStream = GetBaseVersion();
// byte[] baseFile = new byte[baseFileStream.Length];
//
// ReadAll(baseFileStream, baseFile);
//
// Stream currentFileStream = GetCurrentVersion();
// byte[] currentFile = new byte[currentFileStream.Length];
ReadAll(currentFileStream, currentFile);
MyersDiff diff = new MyersDiff(new RawText(baseFile), new RawText(currentFile));
// MyersDiff diff = new MyersDiff(new RawText(baseFile), new RawText(currentFile));
if (diff == null)
// if (diff == null)
changeList.InsertRange(0, document.TotalNumberOfLines + 1, new LineChangeInfo(ChangeType.None, ""));
else {
changeList.Add(new LineChangeInfo(ChangeType.None, ""));
int lastEnd = 0;
foreach (Edit edit in diff.GetEdits()) {
changeList.InsertRange(changeList.Count, edit.BeginB - lastEnd, new LineChangeInfo(ChangeType.None, ""));
changeList.InsertRange(changeList.Count, edit.EndB - edit.BeginB, new LineChangeInfo(edit.EditType, ""));
lastEnd = edit.EndB;
}
changeList.InsertRange(changeList.Count, document.TotalNumberOfLines - lastEnd, new LineChangeInfo(ChangeType.None, ""));
}
// else {
// changeList.Add(new LineChangeInfo(ChangeType.None, ""));
// int lastEnd = 0;
// foreach (Edit edit in diff.GetEdits()) {
// changeList.InsertRange(changeList.Count, edit.BeginB - lastEnd, new LineChangeInfo(ChangeType.None, ""));
// changeList.InsertRange(changeList.Count, edit.EndB - edit.BeginB, new LineChangeInfo(edit.EditType, ""));
// lastEnd = edit.EndB;
// }
// changeList.InsertRange(changeList.Count, document.TotalNumberOfLines - lastEnd, new LineChangeInfo(ChangeType.None, ""));
// }
OnChangeOccurred(EventArgs.Empty);
}
@ -133,11 +133,12 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -133,11 +133,12 @@ namespace ICSharpCode.AvalonEdit.AddIn
LineChangeInfo info = changeList[index];
LineChangeInfo lineBefore = changeList[index - 1];
lineBefore.DeletedLinesAfterThisLine
+= (textDocument.GetText(line.Offset, line.Length)
+ Environment.NewLine + info.DeletedLinesAfterThisLine);
Debug.Assert(lineBefore.DeletedLinesAfterThisLine.EndsWith(Environment.NewLine));
// TODO : add deleted text (GetText not allowed in ILineTracker callbacks)
// lineBefore.DeletedLinesAfterThisLine
// += (textDocument.GetText(line.Offset, line.Length)
// + Environment.NewLine + info.DeletedLinesAfterThisLine);
//
// Debug.Assert(lineBefore.DeletedLinesAfterThisLine.EndsWith(Environment.NewLine));
changeList[index - 1] = lineBefore;
changeList.RemoveAt(index);

Loading…
Cancel
Save