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;
using System.Windows.Controls.Primitives; using System.Windows.Controls.Primitives;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.AvalonEdit.Editing;
using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Rendering; using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Widgets.MyersDiff; using ICSharpCode.SharpDevelop.Widgets.MyersDiff;
@ -220,11 +220,10 @@ namespace ICSharpCode.AvalonEdit.AddIn
} }
DiffControl differ = new DiffControl(); DiffControl differ = new DiffControl();
differ.editor.SyntaxHighlighting = editor.SyntaxHighlighting; differ.CopyEditorSettings(editor);
differ.editor.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden; differ.editor.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;
differ.editor.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden; differ.editor.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
differ.editor.Document.Text = oldText; differ.editor.Document.Text = oldText;
differ.Background = Brushes.White;
if (oldText == string.Empty) { if (oldText == string.Empty) {
differ.editor.Visibility = Visibility.Collapsed; differ.editor.Visibility = Visibility.Collapsed;
@ -248,7 +247,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
tooltip.Child = new Border() { tooltip.Child = new Border() {
Child = differ, Child = differ,
BorderBrush = Brushes.Black, BorderBrush = editor.TextArea.Foreground,
BorderThickness = new Thickness(1) BorderThickness = new Thickness(1)
}; };

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

@ -3,7 +3,7 @@
xmlns:sd="http://icsharpcode.net/sharpdevelop/core" xmlns:sd="http://icsharpcode.net/sharpdevelop/core"
xmlns:ae="http://icsharpcode.net/sharpdevelop/avalonedit" xmlns:ae="http://icsharpcode.net/sharpdevelop/avalonedit"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Orientation="Vertical"> <StackPanel Orientation="Vertical" Background="White">
<ToolBar ToolBarTray.IsLocked="True" ToolBar.OverflowMode="Never"> <ToolBar ToolBarTray.IsLocked="True" ToolBar.OverflowMode="Never">
<Button x:Name="revertButton" <Button x:Name="revertButton"
Content="{sd:Localize AddIns.Subversion.Revert}" Content="{sd:Localize AddIns.Subversion.Revert}"

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

@ -10,8 +10,12 @@ using System.Windows.Data;
using System.Windows.Documents; using System.Windows.Documents;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using ICSharpCode.AvalonEdit.AddIn.Options;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Rendering; using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Core.Presentation; using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.AvalonEdit.AddIn namespace ICSharpCode.AvalonEdit.AddIn
{ {
@ -39,5 +43,15 @@ namespace ICSharpCode.AvalonEdit.AddIn
editor.Copy(); 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