Author: mkrueger
Date: 2008-02-10 11:11:07 -0500 (Sun, 10 Feb 2008)
New Revision: 95387
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxMode.cs
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSplitter.cs
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
Log:
* Mono.TextEditor/LineSplitter.cs, Mono.TextEditor/TextEditor.cs,
Mono.TextEditor.Highlighting/SyntaxMode.cs: Fixed some drawing
issues.
Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-10
16:06:58 UTC (rev 95386)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-10
16:11:07 UTC (rev 95387)
@@ -1,3 +1,8 @@
+2008-02-10 Mike Krüger <[EMAIL PROTECTED]>
+
+ * Mono.TextEditor/LineSplitter.cs, Mono.TextEditor/TextEditor.cs,
+ Mono.TextEditor.Highlighting/SyntaxMode.cs: Fixed some drawing issues.
+
2008-02-09 Mike Krüger <[EMAIL PROTECTED]>
* Mono.TextEditor/DefaultEditActions.cs, Mono.TextEditor/TextEditor.cs:
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSplitter.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSplitter.cs
2008-02-10 16:06:58 UTC (rev 95386)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/LineSplitter.cs
2008-02-10 16:11:07 UTC (rev 95387)
@@ -174,7 +174,9 @@
if (this.Get(i).Offset <= offset && offset <
this.Get(i).EndOffset)
return i;
}
- return -1;
+ if (offset < 0)
+ return 0;
+ return this.LineCount;
}
Segment FindDelimiter (StringBuilder text, int startOffset)
@@ -190,4 +192,4 @@
return null;
}
}
-}
+}
\ No newline at end of file
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
2008-02-10 16:06:58 UTC (rev 95386)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
2008-02-10 16:11:07 UTC (rev 95387)
@@ -276,6 +276,7 @@
request.Update (this);
}
} catch (Exception e) {
+ System.Console.WriteLine (e);
}
};
Caret.PositionChanged += delegate (object sender,
DocumentLocationEventArgs args) {
@@ -637,6 +638,9 @@
int ColumnToVisualX (LineSegment line, int column)
{
+ if (line.EditableLength == 0)
+ return 0;
+ System.Console.WriteLine(line);
string text = this.Document.Buffer.GetTextAt
(line.Offset, System.Math.Min (column, line.EditableLength));
text = text.Replace ("\t", new string (' ',
TextEditorOptions.Options.TabSize));
layout.SetText (text);
@@ -681,7 +685,7 @@
LineSegment line = lineNr < Splitter.LineCount ?
Splitter.Get (lineNr) : null;
Gdk.GC gc = new Gdk.GC (win);
- gc.ClipRectangle = new Gdk.Rectangle (x, y, area.Width,
LineHeight);
+ gc.ClipRectangle = new Gdk.Rectangle (x, y,
this.Allocation.Width - x, LineHeight);
Gdk.Rectangle lineArea = new Gdk.Rectangle (x, y,
area.Width - x, LineHeight);
bool isSelected = false;
@@ -762,9 +766,8 @@
}
if (line == null) {
- if (TextEditorOptions.Options.ShowInvalidLines)
{
+ if (TextEditorOptions.Options.ShowInvalidLines)
DrawInvalidLineMarker (win, gc, x, y);
- }
return;
}
@@ -796,9 +799,8 @@
gc.RgbFgColor = ColorStyle.FoldLine;
win.DrawLayout (gc, xPos, y, layout);
- if (caretOffset == foldOffset) {
+ if (caretOffset == foldOffset)
DrawCaret (win, gc, xPos, y);
- }
xPos += width;
@@ -817,16 +819,12 @@
}
// Draw remaining line
- if (line.EndOffset - offset > 0) {
+ if (line.EndOffset - offset > 0)
DrawLineText (win, gc, line, offset,
line.Offset + line.EditableLength - offset, ref xPos, y);
- if (caretOffset == line.Offset +
line.EditableLength) {
- DrawCaret (win, gc, xPos, y);
- }
- }
-
+ if (caretOffset == line.Offset + line.EditableLength)
+ DrawCaret (win, gc, xPos, y);
if (TextEditorOptions.Options.ShowEolMarkers)
DrawEolMarker (win, gc, ref xPos, y);
-
}
void DrawCaret (Gdk.Window win, Gdk.GC gc, int x, int y)
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxMode.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxMode.cs
2008-02-10 16:06:58 UTC (rev 95386)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxMode.cs
2008-02-10 16:11:07 UTC (rev 95387)
@@ -169,7 +169,7 @@
SetSpan ();
SetTree ();
bool isNoKeyword = false;
- bool isAfterSpan = false;
+// bool isAfterSpan = false;
for (int i = offset; i < maxEnd; i++) {
char ch = doc.Buffer.GetCharAt (i);
if (curSpan != null &&
!String.IsNullOrEmpty (curSpan.End)) {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches