Browse Source

use highlighting customizations in Diff-Tooltip

pull/27/merge
Siegfried Pammer 14 years ago
parent
commit
326d2410fe
  1. 7
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs
  2. 2
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml
  3. 14
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml.cs

7
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs

@ -8,11 +8,11 @@ using System.Windows.Controls; @@ -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 @@ -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 @@ -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)
};

2
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml

@ -3,7 +3,7 @@ @@ -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">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" Background="White">
<ToolBar ToolBarTray.IsLocked="True" ToolBar.OverflowMode="Never">
<Button x:Name="revertButton"
Content="{sd:Localize AddIns.Subversion.Revert}"

14
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/DiffControl.xaml.cs

@ -10,8 +10,12 @@ using System.Windows.Data; @@ -10,8 +10,12 @@ using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using ICSharpCode.AvalonEdit.AddIn.Options;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.AvalonEdit.AddIn
{
@ -39,5 +43,15 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -39,5 +43,15 @@ namespace ICSharpCode.AvalonEdit.AddIn
editor.Copy();
}
}
public void CopyEditorSettings(TextEditor source)
{
string language = source.SyntaxHighlighting != null ? source.SyntaxHighlighting.Name : null;
editor.TextArea.TextView.LineTransformers.RemoveWhere(x => x is HighlightingColorizer);
editor.TextArea.TextView.LineTransformers.Insert(0, new CustomizableHighlightingColorizer(source.SyntaxHighlighting.MainRuleSet, CustomizedHighlightingColor.FetchCustomizations(language)));
CustomizableHighlightingColorizer.ApplyCustomizationsToDefaultElements(editor, CustomizedHighlightingColor.FetchCustomizations(language));
HighlightingOptions.ApplyToRendering(editor, CustomizedHighlightingColor.FetchCustomizations(language));
editor.TextArea.TextView.Redraw(); // manually redraw if default elements didn't change but customized highlightings did
}
}
}
Loading…
Cancel
Save