From 132afcb96d72b72d04d223c8aa0ea9610ec45cb9 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 20 Jul 2012 20:22:29 +0200 Subject: [PATCH 1/7] add Debugger AddIn dependency on ILSpy AddIn - should fix http://community.sharpdevelop.net/forums/t/16050.aspx --- src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin | 1 + 1 file changed, 1 insertion(+) diff --git a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin index 79c009707e..ece8436682 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin +++ b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin @@ -6,6 +6,7 @@ + From 43bbdbe1c6c145c74f67c4c3e2c1ce481c184100 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 22 Jul 2012 23:37:44 +0200 Subject: [PATCH 2/7] fix bug MouseHoverLogic to make it easier to show Diff-Tooltip in editor: start MouseHover already on MouseEnter --- .../Rendering/MouseHoverLogic.cs | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/MouseHoverLogic.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/MouseHoverLogic.cs index 1f6f79d745..25d025b249 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/MouseHoverLogic.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/MouseHoverLogic.cs @@ -30,25 +30,35 @@ namespace ICSharpCode.AvalonEdit.Rendering this.target = target; this.target.MouseLeave += MouseHoverLogicMouseLeave; this.target.MouseMove += MouseHoverLogicMouseMove; + this.target.MouseEnter += MouseHoverLogicMouseEnter; } - + void MouseHoverLogicMouseMove(object sender, MouseEventArgs e) { - Point newPosition = e.GetPosition(this.target); - Vector mouseMovement = mouseHoverStartPoint - newPosition; + Vector mouseMovement = mouseHoverStartPoint - e.GetPosition(this.target); if (Math.Abs(mouseMovement.X) > SystemParameters.MouseHoverWidth || Math.Abs(mouseMovement.Y) > SystemParameters.MouseHoverHeight) { - StopHovering(); - mouseHoverStartPoint = newPosition; - mouseHoverLastEventArgs = e; - mouseHoverTimer = new DispatcherTimer(SystemParameters.MouseHoverTime, DispatcherPriority.Background, - OnMouseHoverTimerElapsed, this.target.Dispatcher); - mouseHoverTimer.Start(); + StartHovering(e); } // do not set e.Handled - allow others to also handle MouseMove } - + + void MouseHoverLogicMouseEnter(object sender, MouseEventArgs e) + { + StartHovering(e); + // do not set e.Handled - allow others to also handle MouseEnter + } + + void StartHovering(MouseEventArgs e) + { + StopHovering(); + mouseHoverStartPoint = e.GetPosition(this.target); + mouseHoverLastEventArgs = e; + mouseHoverTimer = new DispatcherTimer(SystemParameters.MouseHoverTime, DispatcherPriority.Background, OnMouseHoverTimerElapsed, this.target.Dispatcher); + mouseHoverTimer.Start(); + } + void MouseHoverLogicMouseLeave(object sender, MouseEventArgs e) { StopHovering(); @@ -116,6 +126,7 @@ namespace ICSharpCode.AvalonEdit.Rendering if (!disposed) { this.target.MouseLeave -= MouseHoverLogicMouseLeave; this.target.MouseMove -= MouseHoverLogicMouseMove; + this.target.MouseEnter -= MouseHoverLogicMouseEnter; } disposed = true; } From 326d2410fe35f4e0977f1df6cb057ca2cfe11152 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Mon, 23 Jul 2012 19:13:38 +0200 Subject: [PATCH 3/7] use highlighting customizations in Diff-Tooltip --- .../AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs | 7 +++---- .../AvalonEdit.AddIn/Src/DiffControl.xaml | 2 +- .../AvalonEdit.AddIn/Src/DiffControl.xaml.cs | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs index fbf2af3dc1..05da508e74 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs @@ -8,11 +8,11 @@ using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Input; using System.Windows.Media; - using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Rendering; +using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Widgets.MyersDiff; @@ -220,11 +220,10 @@ namespace ICSharpCode.AvalonEdit.AddIn } DiffControl differ = new DiffControl(); - differ.editor.SyntaxHighlighting = editor.SyntaxHighlighting; + differ.CopyEditorSettings(editor); differ.editor.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden; differ.editor.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden; differ.editor.Document.Text = oldText; - differ.Background = Brushes.White; if (oldText == string.Empty) { differ.editor.Visibility = Visibility.Collapsed; @@ -248,7 +247,7 @@ namespace ICSharpCode.AvalonEdit.AddIn tooltip.Child = new Border() { Child = differ, - BorderBrush = Brushes.Black, + BorderBrush = editor.TextArea.Foreground, BorderThickness = new Thickness(1) }; diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml index b6da3f749d..b0e246c920 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml @@ -3,7 +3,7 @@ xmlns:sd="http://icsharpcode.net/sharpdevelop/core" xmlns:ae="http://icsharpcode.net/sharpdevelop/avalonedit" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - +