1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
6
using ICSharpCode.AvalonEdit.Rendering;
7
using ICSharpCode.SharpDevelop;
8
using ICSharpCode.SharpDevelop.Editor;
10
namespace EmbeddedImageAddIn
12
// SharpDevelop creates one instance of EmbeddedImageLanguageBinding for each text editor.
13
public class EmbeddedImageLanguageBinding : DefaultLanguageBinding
16
ImageElementGenerator g;
18
public override void Attach(ITextEditor editor)
21
// ITextEditor is SharpDevelop's abstraction of the text editor.
22
// We use GetService() to get the underlying AvalonEdit instance.
23
textView = editor.GetService(typeof(TextView)) as TextView;
24
if (textView != null) {
25
g = new ImageElementGenerator(Path.GetDirectoryName(editor.FileName));
26
textView.ElementGenerators.Add(g);
30
public override void Detach()
32
if (textView != null) {
33
textView.ElementGenerators.Remove(g);