//
//
//
//
// $Revision$
//
using System;
using System.Linq;
using ICSharpCode.AvalonEdit.CodeCompletion;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Editor;
namespace ICSharpCode.AvalonEdit.AddIn
{
///
/// Wraps the CodeEditor class to provide the ITextEditor interface.
///
public class CodeEditorAdapter : AvalonEditTextEditorAdapter
{
readonly CodeEditor codeEditor;
public CodeEditorAdapter(CodeEditor codeEditor) : base(codeEditor.TextEditor)
{
if (codeEditor == null)
throw new ArgumentNullException("codeEditor");
this.codeEditor = codeEditor;
}
public override string FileName {
get { return codeEditor.FileName; }
}
public override void ShowCompletionWindow(ICompletionItemList data)
{
if (data == null || !data.Items.Any())
return;
CompletionWindow window = new SharpDevelopCompletionWindow(this, codeEditor.TextEditor.TextArea, data);
codeEditor.NotifyCompletionWindowOpened(window);
window.Show();
}
}
}