Browse Source

move IFileDocumentProvider implementation to CodeEditor

pull/48/merge
Siegfried Pammer 12 years ago
parent
commit
39c2182073
  1. 14
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs

14
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs

@ -38,7 +38,8 @@ namespace ICSharpCode.AvalonEdit.AddIn
/// Also provides support for Split-View (showing two AvalonEdit instances using the same TextDocument) /// Also provides support for Split-View (showing two AvalonEdit instances using the same TextDocument)
/// </summary> /// </summary>
[TextEditorService, ViewContentService] [TextEditorService, ViewContentService]
public class CodeEditor : Grid, IDisposable, ICSharpCode.SharpDevelop.Gui.IEditable public class CodeEditor
: Grid, IDisposable, ICSharpCode.SharpDevelop.Gui.IEditable, IFileDocumentProvider
{ {
const string contextMenuPath = "/SharpDevelop/ViewContent/AvalonEdit/ContextMenu"; const string contextMenuPath = "/SharpDevelop/ViewContent/AvalonEdit/ContextMenu";
@ -205,6 +206,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
textView.Services.AddService(typeof(ITextEditor), adapter); textView.Services.AddService(typeof(ITextEditor), adapter);
textView.Services.AddService(typeof(CodeEditor), this); textView.Services.AddService(typeof(CodeEditor), this);
textView.Services.AddService(typeof(ICSharpCode.SharpDevelop.Gui.IEditable), this); textView.Services.AddService(typeof(ICSharpCode.SharpDevelop.Gui.IEditable), this);
textView.Services.AddService(typeof(IFileDocumentProvider), this);
codeEditorView.TextArea.TextEntering += TextAreaTextEntering; codeEditorView.TextArea.TextEntering += TextAreaTextEntering;
codeEditorView.TextArea.TextEntered += TextAreaTextEntered; codeEditorView.TextArea.TextEntered += TextAreaTextEntered;
@ -408,6 +410,16 @@ namespace ICSharpCode.AvalonEdit.AddIn
} }
#endregion #endregion
#region IFileDocumentProvider
public IDocument GetDocumentForFile(ICSharpCode.SharpDevelop.Workbench.OpenedFile file)
{
if (file.FileName == this.FileName)
return this.Document;
else
return null;
}
#endregion
void TextAreaTextEntering(object sender, TextCompositionEventArgs e) void TextAreaTextEntering(object sender, TextCompositionEventArgs e)
{ {
// don't start new code completion if there is still a completion window open // don't start new code completion if there is still a completion window open

Loading…
Cancel
Save