Browse Source

enhance bookmark tooltips: allow breakpoint tooltip to be displayed even if CurrentLineBookmark is on the same line.

pull/505/merge
Siegfried Pammer 11 years ago
parent
commit
09e8eacea6
  1. 4
      src/AddIns/Debugger/Debugger.AddIn/Breakpoints/BreakpointBookmark.cs
  2. 8
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarMargin.cs
  3. 4
      src/Main/Base/Project/Editor/Bookmarks/BookmarkBase.cs
  4. 4
      src/Main/Base/Project/Editor/Bookmarks/EntityBookmark.cs
  5. 5
      src/Main/Base/Project/Editor/Bookmarks/IBookmark.cs

4
src/AddIns/Debugger/Debugger.AddIn/Breakpoints/BreakpointBookmark.cs

@ -152,6 +152,10 @@ namespace Debugger.AddIn.Breakpoints @@ -152,6 +152,10 @@ namespace Debugger.AddIn.Breakpoints
return string.Format("{0} @{1}", this.FileName, this.LineNumber);
}
public override bool DisplaysTooltip {
get { return true; }
}
public override object CreateTooltipContent()
{
return new BreakpointEditorPopup(this) {

8
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarMargin.cs

@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
@ -286,7 +287,10 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -286,7 +287,10 @@ namespace ICSharpCode.AvalonEdit.AddIn
int line = GetLineFromMousePosition(e);
if (line < 1) return;
IBookmark bm = GetBookmarkFromLine(line);
IBookmark bm = manager.Bookmarks
.Where(m => m.LineNumber == line && m.DisplaysTooltip)
.OrderBy(m => m.ZOrder)
.FirstOrDefault();
if (bm == null) return;
object content = bm.CreateTooltipContent();
popupToolTip = content as Popup;
@ -301,7 +305,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -301,7 +305,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
e.Handled = true;
popupToolTip.IsOpen = true;
distanceToPopupLimit = double.PositiveInfinity; // reset limit; we'll re-calculate it on the next mouse movement
} else {
} else if (content != null) {
if (toolTip == null) {
toolTip = new ToolTip();
toolTip.Closed += ToolTipClosed;

4
src/Main/Base/Project/Editor/Bookmarks/BookmarkBase.cs

@ -195,6 +195,10 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks @@ -195,6 +195,10 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
}
public virtual bool DisplaysTooltip {
get { return false; }
}
public virtual object CreateTooltipContent()
{
return null;

4
src/Main/Base/Project/Editor/Bookmarks/EntityBookmark.cs

@ -98,6 +98,10 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks @@ -98,6 +98,10 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
throw new NotSupportedException();
}
bool IBookmark.DisplaysTooltip {
get { return false; }
}
object IBookmark.CreateTooltipContent()
{
return null;

5
src/Main/Base/Project/Editor/Bookmarks/IBookmark.cs

@ -61,6 +61,11 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks @@ -61,6 +61,11 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
/// </summary>
void Drop(int lineNumber);
/// <summary>
/// Gets whether this bookmark might want to display a tooltip.
/// </summary>
bool DisplaysTooltip { get; }
/// <summary>
/// Creates the tooltip content for the bookmark.
/// </summary>

Loading…
Cancel
Save