Browse Source

Moved the ColumnRulerRenderer from the AddIn to the Library and changed the line pointed out by Daniel

pull/26/merge
Tobias Ibounig 13 years ago committed by Siegfried Pammer
parent
commit
2306bbd21a
  1. 2
      SharpDevelop.sln
  2. 1
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj
  3. 25
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs
  4. 32
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/CodeEditorOptions.cs
  5. 1
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj
  6. 2
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/ColumnRulerRenderer.cs
  7. 30
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs
  8. 32
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/TextEditorOptions.cs

2
SharpDevelop.sln

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
# SharpDevelop 4.3.0.8816-alpha # SharpDevelop 4.2.0.8783
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection

1
src/AddIns/DisplayBindings/AvalonEdit.AddIn/AvalonEdit.AddIn.csproj

@ -76,7 +76,6 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Src\AvalonEditSyntaxHighlighterAdapter.cs" /> <Compile Include="Src\AvalonEditSyntaxHighlighterAdapter.cs" />
<Compile Include="Src\ColumnRulerRenderer.cs" />
<Compile Include="Src\DocumentSequence.cs" /> <Compile Include="Src\DocumentSequence.cs" />
<Compile Include="Src\Snippets\CodeSnippetComparer.cs" /> <Compile Include="Src\Snippets\CodeSnippetComparer.cs" />
<Compile Include="Src\Utils.cs" /> <Compile Include="Src\Utils.cs" />

25
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs

@ -47,7 +47,6 @@ namespace ICSharpCode.AvalonEdit.AddIn
CaretReferencesRenderer caretReferencesRenderer; CaretReferencesRenderer caretReferencesRenderer;
ContextActionsRenderer contextActionsRenderer; ContextActionsRenderer contextActionsRenderer;
HiddenDefinition.HiddenDefinitionRenderer hiddenDefinitionRenderer; HiddenDefinition.HiddenDefinitionRenderer hiddenDefinitionRenderer;
ColumnRulerRenderer columnRulerRenderer;
public CodeEditorView() public CodeEditorView()
{ {
@ -57,8 +56,6 @@ 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.columnRulerRenderer = new ColumnRulerRenderer(this.TextArea.TextView);
this.columnRulerRenderer.SetRuler(CodeEditorOptions.Instance.ColumnRulerPosition, ColumnRulerBrush);
UpdateCustomizedHighlighting(); UpdateCustomizedHighlighting();
@ -103,13 +100,6 @@ namespace ICSharpCode.AvalonEdit.AddIn
if (this.caretReferencesRenderer != null) if (this.caretReferencesRenderer != null)
this.caretReferencesRenderer.ClearHighlight(); this.caretReferencesRenderer.ClearHighlight();
break; break;
case "ShowColumnRuler":
case "ColumRulerPosition":
if (CodeEditorOptions.Instance.ShowColumnRuler)
columnRulerRenderer.SetRuler(CodeEditorOptions.Instance.ColumnRulerPosition, ColumnRulerBrush);
else
columnRulerRenderer.SetRuler(-1, ColumnRulerBrush);
break;
} }
} }
@ -603,20 +593,5 @@ namespace ICSharpCode.AvalonEdit.AddIn
{ {
return CustomizedHighlightingColor.FetchCustomizations(languageName); return CustomizedHighlightingColor.FetchCustomizations(languageName);
} }
public static readonly DependencyProperty ColumnRulerBrushProperty =
DependencyProperty.Register("ColumnRulerBrush", typeof(Brush), typeof(CodeEditorView),
new FrameworkPropertyMetadata(Brushes.LightGray, OnUpdateBrushes));
public Brush ColumnRulerBrush {
get { return (Brush)GetValue(ColumnRulerBrushProperty); }
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);
}
} }
} }

32
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/CodeEditorOptions.cs

@ -66,38 +66,6 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
} }
} }
bool showColumnRuler = false;
/// <summary>
/// Gets/Sets whether the column ruler should be shown.
/// </summary>
[DefaultValue(false)]
public virtual bool ShowColumnRuler {
get { return showColumnRuler; }
set {
if (showColumnRuler != value) {
showColumnRuler = value;
OnPropertyChanged("ShowColumnRuler");
}
}
}
int columnRulerPosition = 80;
/// <summary>
/// Gets/Sets where the column ruler should be shown.
/// </summary>
[DefaultValue(80)]
public virtual int ColumnRulerPosition {
get { return columnRulerPosition; }
set {
if (columnRulerPosition != value) {
columnRulerPosition = value;
OnPropertyChanged("ColumnRulerPosition");
}
}
}
bool enableChangeMarkerMargin = true; bool enableChangeMarkerMargin = true;
[DefaultValue(true)] [DefaultValue(true)]

1
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj

@ -233,6 +233,7 @@
<Compile Include="Rendering\ColorizingTransformer.cs"> <Compile Include="Rendering\ColorizingTransformer.cs">
<DependentUpon>IVisualLineTransformer.cs</DependentUpon> <DependentUpon>IVisualLineTransformer.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Rendering\ColumnRulerRenderer.cs" />
<Compile Include="Rendering\DocumentColorizingTransformer.cs"> <Compile Include="Rendering\DocumentColorizingTransformer.cs">
<DependentUpon>IVisualLineTransformer.cs</DependentUpon> <DependentUpon>IVisualLineTransformer.cs</DependentUpon>
</Compile> </Compile>

2
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ColumnRulerRenderer.cs → src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/ColumnRulerRenderer.cs

@ -7,7 +7,7 @@ using System.Windows.Media;
using ICSharpCode.AvalonEdit.Rendering; using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.AvalonEdit.Utils; using ICSharpCode.AvalonEdit.Utils;
namespace ICSharpCode.AvalonEdit.AddIn namespace ICSharpCode.AvalonEdit
{ {
/// <summary> /// <summary>
/// Redners a ruler at a certain colum /// Redners a ruler at a certain colum

30
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs

@ -40,6 +40,8 @@ namespace ICSharpCode.AvalonEdit.Rendering
FocusableProperty.OverrideMetadata(typeof(TextView), new FrameworkPropertyMetadata(Boxes.False)); FocusableProperty.OverrideMetadata(typeof(TextView), new FrameworkPropertyMetadata(Boxes.False));
} }
ColumnRulerRenderer columnRulerRenderer;
/// <summary> /// <summary>
/// Creates a new TextView instance. /// Creates a new TextView instance.
/// </summary> /// </summary>
@ -59,6 +61,8 @@ namespace ICSharpCode.AvalonEdit.Rendering
this.hoverLogic = new MouseHoverLogic(this); this.hoverLogic = new MouseHoverLogic(this);
this.hoverLogic.MouseHover += (sender, e) => RaiseHoverEventPair(e, PreviewMouseHoverEvent, MouseHoverEvent); this.hoverLogic.MouseHover += (sender, e) => RaiseHoverEventPair(e, PreviewMouseHoverEvent, MouseHoverEvent);
this.hoverLogic.MouseHoverStopped += (sender, e) => RaiseHoverEventPair(e, PreviewMouseHoverStoppedEvent, MouseHoverStoppedEvent); this.hoverLogic.MouseHoverStopped += (sender, e) => RaiseHoverEventPair(e, PreviewMouseHoverStoppedEvent, MouseHoverStoppedEvent);
this.columnRulerRenderer = new ColumnRulerRenderer(this);
this.columnRulerRenderer.SetRuler(Options.ColumnRulerPosition, ColumnRulerBrush);
} }
#endregion #endregion
@ -198,6 +202,14 @@ namespace ICSharpCode.AvalonEdit.Rendering
if (OptionChanged != null) { if (OptionChanged != null) {
OptionChanged(this, e); OptionChanged(this, e);
} }
if (e.PropertyName == "ColumRulerPosition" || e.PropertyName == "ShowColumnRuler") {
if (Options.ShowColumnRuler)
columnRulerRenderer.SetRuler(Options.ColumnRulerPosition, ColumnRulerBrush);
else
columnRulerRenderer.SetRuler(-1, ColumnRulerBrush);
}
UpdateBuiltinElementGeneratorsFromOptions(); UpdateBuiltinElementGeneratorsFromOptions();
Redraw(); Redraw();
} }
@ -1928,5 +1940,23 @@ namespace ICSharpCode.AvalonEdit.Rendering
Redraw(); Redraw();
} }
} }
public static readonly DependencyProperty ColumnRulerBrushProperty =
DependencyProperty.Register("ColumnRulerBrush", typeof(Brush), typeof(TextView),
new FrameworkPropertyMetadata(Brushes.LightGray, OnUpdateBrushes));
public Brush ColumnRulerBrush {
get { return (Brush)GetValue(ColumnRulerBrushProperty); }
set { SetValue(ColumnRulerBrushProperty, value); }
}
public static void OnUpdateBrushes(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
TextView view = d as TextView;
if (view == null) return;
if (e.Property == ColumnRulerBrushProperty)
view.columnRulerRenderer.SetRuler(view.Options.ColumnRulerPosition, (Brush)e.NewValue);
}
} }
} }

32
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/TextEditorOptions.cs

@ -398,5 +398,37 @@ namespace ICSharpCode.AvalonEdit
} }
} }
} }
bool showColumnRuler = false;
/// <summary>
/// Gets/Sets whether the column ruler should be shown.
/// </summary>
[DefaultValue(false)]
public virtual bool ShowColumnRuler {
get { return showColumnRuler; }
set {
if (showColumnRuler != value) {
showColumnRuler = value;
OnPropertyChanged("ShowColumnRuler");
}
}
}
int columnRulerPosition = 80;
/// <summary>
/// Gets/Sets where the column ruler should be shown.
/// </summary>
[DefaultValue(80)]
public virtual int ColumnRulerPosition {
get { return columnRulerPosition; }
set {
if (columnRulerPosition != value) {
columnRulerPosition = value;
OnPropertyChanged("ColumnRulerPosition");
}
}
}
} }
} }

Loading…
Cancel
Save