Author: mkrueger
Date: 2008-02-17 12:39:47 -0500 (Sun, 17 Feb 2008)
New Revision: 95988
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
Log:
* Mono.TextEditor/TextViewMargin.cs: Caret line highlighting works
again.
Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-17
17:34:27 UTC (rev 95987)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-17
17:39:47 UTC (rev 95988)
@@ -1,5 +1,9 @@
2008-02-17 Mike Krüger <[EMAIL PROTECTED]>
+ * Mono.TextEditor/TextViewMargin.cs: Caret line highlighting works
again.
+
+2008-02-17 Mike Krüger <[EMAIL PROTECTED]>
+
* Mono.TextEditor/TextViewMargin.cs, Mono.TextEditor/Document.cs,
Mono.TextEditor/SearchOptions.cs, Mono.TextEditor/TextUtil.cs,
Mono.TextEditor/TextEditorData.cs, Mono.TextEditor/TextEditor.cs,
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
2008-02-17 17:34:27 UTC (rev 95987)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
2008-02-17 17:39:47 UTC (rev 95988)
@@ -296,7 +296,7 @@
// Draw text before the search result
(if any)
if (firstSearch.Offset > offset) {
s = offset - startOffset;
- DrawText (win, text.Substring
(s, firstSearch.Offset - offset), style.Color, ColorStyle.Background, ref xPos,
y);
+ DrawText (win, text.Substring
(s, firstSearch.Offset - offset), style.Color, defaultBgColor, ref xPos, y);
offset += firstSearch.Offset -
offset;
}
// Draw text within the search result
@@ -308,7 +308,7 @@
}
s = offset - startOffset;
if (s < wordBuilder.Length) {
- DrawText (win, text.Substring (s,
wordBuilder.Length - s), style.Color, ColorStyle.Background, ref xPos, y);
+ DrawText (win, text.Substring (s,
wordBuilder.Length - s), style.Color, defaultBgColor, ref xPos, y);
}
}
@@ -379,7 +379,7 @@
visibleColumn++;
} else if (ch == ' ') {
OutputWordBuilder (win, line, selected,
style, ref visibleColumn, ref xPos, y, offset);
- DrawRectangleWithRuler (win,
this.XOffset, new Gdk.Rectangle (xPos, y, charWidth, LineHeight), selected ?
ColorStyle.SelectedBg : (IsSearchResultAt (offset) ? ColorStyle.SearchTextBg :
ColorStyle.Background));
+ DrawRectangleWithRuler (win,
this.XOffset, new Gdk.Rectangle (xPos, y, charWidth, LineHeight), selected ?
ColorStyle.SelectedBg : (IsSearchResultAt (offset) ? ColorStyle.SearchTextBg :
defaultBgColor));
if
(TextEditorOptions.Options.ShowSpaces)
DrawSpaceMarker (win, selected,
xPos, y);
@@ -400,7 +400,7 @@
int delta = (newColumn - visibleColumn)
* this.charWidth;
visibleColumn = newColumn;
- DrawRectangleWithRuler (win,
this.XOffset, new Gdk.Rectangle (xPos, y, delta, LineHeight), selected ?
ColorStyle.SelectedBg : (IsSearchResultAt (offset) ? ColorStyle.SearchTextBg :
ColorStyle.Background));
+ DrawRectangleWithRuler (win,
this.XOffset, new Gdk.Rectangle (xPos, y, delta, LineHeight), selected ?
ColorStyle.SelectedBg : (IsSearchResultAt (offset) ? ColorStyle.SearchTextBg :
defaultBgColor));
if (TextEditorOptions.Options.ShowTabs)
DrawTabMarker (win, selected,
xPos, y);
if (offset == caretOffset)
@@ -613,6 +613,8 @@
}
List<ISegment> selectedRegions = new List<ISegment> ();
+
+ Gdk.Color defaultBgColor;
public override void Draw (Gdk.Drawable win, Gdk.Rectangle
area, int lineNr, int x, int y)
{
this.caretX = -1;
@@ -621,13 +623,19 @@
int xStart = System.Math.Max (area.X, XOffset);
gc.ClipRectangle = new Gdk.Rectangle (xStart, y,
area.Right - xStart, LineHeight);
+ if (TextEditorOptions.Options.HighlightCaretLine &&
Caret.Line == lineNr) {
+ defaultBgColor = ColorStyle.LineMarker;
+ } else {
+ defaultBgColor = ColorStyle.Background;
+ }
+
Gdk.Rectangle lineArea = new Gdk.Rectangle (XOffset, y,
textEditor.Allocation.Width - XOffset, LineHeight);
int width, height;
int xPos = (int)(x - textEditor.HAdjustment.Value);
if (line == null) {
if (TextEditorOptions.Options.ShowInvalidLines)
{
- DrawRectangleWithRuler (win, x,
lineArea, this.ColorStyle.Background);
+ DrawRectangleWithRuler (win, x,
lineArea, defaultBgColor);
DrawInvalidLineMarker (win, xPos, y);
}
if (TextEditorOptions.Options.ShowRuler) { //
warning: code duplication, look at the method end.
@@ -666,7 +674,7 @@
layout.SetText (folding.Description);
layout.GetPixelSize (out width, out
height);
bool isFoldingSelected =
textEditor.IsSomethingSelected && textEditor.SelectionRange.Contains (folding);
- gc.RgbFgColor = isFoldingSelected ?
ColorStyle.SelectedBg : ColorStyle.Background;
+ gc.RgbFgColor = isFoldingSelected ?
ColorStyle.SelectedBg : defaultBgColor;
win.DrawRectangle (gc, true, new
Rectangle (xPos, y, width - 1, this.LineHeight - 1));
gc.RgbFgColor = isFoldingSelected ?
ColorStyle.SelectedFg : ColorStyle.FoldLine;
win.DrawRectangle (gc, false, new
Rectangle (xPos, y, width - 1, this.LineHeight - 1));
@@ -699,7 +707,7 @@
lineArea.X = xPos;
lineArea.Width = textEditor.Allocation.Width - xPos;
- DrawRectangleWithRuler (win, x, lineArea, isEolSelected
? this.ColorStyle.SelectedBg : this.ColorStyle.Background);
+ DrawRectangleWithRuler (win, x, lineArea, isEolSelected
? this.ColorStyle.SelectedBg : defaultBgColor);
if (TextEditorOptions.Options.ShowEolMarkers)
DrawEolMarker (win, isEolSelected, xPos, y);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches