|
|
|
@ -47,7 +47,7 @@ namespace ICSharpCode.AvalonEdit.AddIn |
|
|
|
CaretReferencesRenderer caretReferencesRenderer; |
|
|
|
CaretReferencesRenderer caretReferencesRenderer; |
|
|
|
ContextActionsRenderer contextActionsRenderer; |
|
|
|
ContextActionsRenderer contextActionsRenderer; |
|
|
|
HiddenDefinition.HiddenDefinitionRenderer hiddenDefinitionRenderer; |
|
|
|
HiddenDefinition.HiddenDefinitionRenderer hiddenDefinitionRenderer; |
|
|
|
ColumnRulerRenderer columnRoulerRenderer; |
|
|
|
ColumnRulerRenderer columnRulerRenderer; |
|
|
|
|
|
|
|
|
|
|
|
public CodeEditorView() |
|
|
|
public CodeEditorView() |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -57,7 +57,8 @@ namespace ICSharpCode.AvalonEdit.AddIn |
|
|
|
this.caretReferencesRenderer = new CaretReferencesRenderer(this); |
|
|
|
this.caretReferencesRenderer = new CaretReferencesRenderer(this); |
|
|
|
this.contextActionsRenderer = new ContextActionsRenderer(this); |
|
|
|
this.contextActionsRenderer = new ContextActionsRenderer(this); |
|
|
|
this.hiddenDefinitionRenderer = new HiddenDefinition.HiddenDefinitionRenderer(this); |
|
|
|
this.hiddenDefinitionRenderer = new HiddenDefinition.HiddenDefinitionRenderer(this); |
|
|
|
this.columnRoulerRenderer = new ColumnRulerRenderer(this.TextArea.TextView); |
|
|
|
this.columnRulerRenderer = new ColumnRulerRenderer(this.TextArea.TextView); |
|
|
|
|
|
|
|
this.columnRulerRenderer.SetRuler(CodeEditorOptions.Instance.ColumnRulerPosition, ColumnRulerBrush); |
|
|
|
|
|
|
|
|
|
|
|
UpdateCustomizedHighlighting(); |
|
|
|
UpdateCustomizedHighlighting(); |
|
|
|
|
|
|
|
|
|
|
|
@ -91,17 +92,24 @@ namespace ICSharpCode.AvalonEdit.AddIn |
|
|
|
protected override void OnOptionChanged(PropertyChangedEventArgs e) |
|
|
|
protected override void OnOptionChanged(PropertyChangedEventArgs e) |
|
|
|
{ |
|
|
|
{ |
|
|
|
base.OnOptionChanged(e); |
|
|
|
base.OnOptionChanged(e); |
|
|
|
if (e.PropertyName == "HighlightBrackets") |
|
|
|
switch (e.PropertyName) { |
|
|
|
HighlightBrackets(null, e); |
|
|
|
case "HighlightBrackets": |
|
|
|
else if (e.PropertyName == "EnableFolding") |
|
|
|
HighlightBrackets(null, e); |
|
|
|
UpdateParseInformationForFolding(); |
|
|
|
break; |
|
|
|
else if (e.PropertyName == "HighlightSymbol") { |
|
|
|
case "EnableFolding": |
|
|
|
if (this.caretReferencesRenderer != null) |
|
|
|
UpdateParseInformationForFolding(); |
|
|
|
this.caretReferencesRenderer.ClearHighlight(); |
|
|
|
break; |
|
|
|
} |
|
|
|
case "HighlightSymbol": |
|
|
|
else if(e.PropertyName == "ShowColumnRuler") |
|
|
|
if (this.caretReferencesRenderer != null) |
|
|
|
{ |
|
|
|
this.caretReferencesRenderer.ClearHighlight(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "ShowColumnRuler": |
|
|
|
|
|
|
|
case "ColumRulerPosition": |
|
|
|
|
|
|
|
if (CodeEditorOptions.Instance.ShowColumnRuler) |
|
|
|
|
|
|
|
columnRulerRenderer.SetRuler(CodeEditorOptions.Instance.ColumnRulerPosition, ColumnRulerBrush); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
columnRulerRenderer.SetRuler(-1, ColumnRulerBrush); |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -597,12 +605,18 @@ namespace ICSharpCode.AvalonEdit.AddIn |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static readonly DependencyProperty ColumnRulerBrushProperty = |
|
|
|
public static readonly DependencyProperty ColumnRulerBrushProperty = |
|
|
|
DependencyProperty.Register("ColumnRulerBrush", typeof(Brush), typeof(TextView), |
|
|
|
DependencyProperty.Register("ColumnRulerBrush", typeof(Brush), typeof(CodeEditorView), |
|
|
|
new FrameworkPropertyMetadata()); |
|
|
|
new FrameworkPropertyMetadata(Brushes.LightGray, OnUpdateBrushes)); |
|
|
|
|
|
|
|
|
|
|
|
public Brush ColumnRulerBrush { |
|
|
|
public Brush ColumnRulerBrush { |
|
|
|
get { return (Brush)GetValue(ColumnRulerBrushProperty); } |
|
|
|
get { return (Brush)GetValue(ColumnRulerBrushProperty); } |
|
|
|
set { SetValue(ColumnRulerBrushProperty, value); } |
|
|
|
set { SetValue(ColumnRulerBrushProperty, value); } |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void OnUpdateBrushes(DependencyObject d, DependencyPropertyChangedEventArgs e) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (e.Property.Name == ColumnRulerBrushProperty.Name) |
|
|
|
|
|
|
|
((CodeEditorView)d).columnRulerRenderer.SetRuler(CodeEditorOptions.Instance.ColumnRulerPosition, (Brush)e.NewValue); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|