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
drawingContext.DrawRectangle(Brushes.Blue, null, rect); drawingContext.DrawRectangle(Brushes.Blue, null, rect);
break; break;
case ChangeType.Unsaved: case ChangeType.Unsaved:
drawingContext.DrawRectangle(Brushes.Yellow, null, rect); drawingContext.DrawRectangle(Brushes., null, rect);
break; break;
default: default:
throw new Exception("Invalid value for ChangeType"); 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 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 pt2 = new Point(10, line.VisualTop + line.Height - textView.ScrollOffset.Y);
Point pt3 = new Point(5, line.VisualTop + line.Height - textView.ScrollOffset.Y + 4); Point pt3 = new Point(5, line.VisualTop + line.Height - textView.ScrollOffset.Y + 4);
@ -75,7 +76,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
drawingContext.DrawGeometry(Brushes.Red, null, new PathGeometry(new List<PathFigure>() { CreateNAngle(pt1, pt2, pt3) })); drawingContext.DrawGeometry(Brushes.Red, null, new PathGeometry(new List<PathFigure>() { CreateNAngle(pt1, pt2, pt3) }));
} }
} }*/
} }
} }
} }
@ -123,7 +124,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
protected override Size MeasureOverride(Size availableSize) protected override Size MeasureOverride(Size availableSize)
{ {
return new Size(10, 0); return new Size(5, 0);
} }
bool disposed = false; bool disposed = false;

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

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

Loading…
Cancel
Save