// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; using System.Windows; using System.Windows.Input; using ICSharpCode.AvalonEdit.Editing; namespace ICSharpCode.AvalonEdit.CodeCompletion { /// /// Insight window that shows an OverloadViewer. /// public class OverloadInsightWindow : InsightWindow { OverloadViewer overloadViewer = new OverloadViewer(); /// /// Creates a new OverloadInsightWindow. /// public OverloadInsightWindow(TextArea textArea) : base(textArea) { overloadViewer.Margin = new Thickness(2,0,0,0); this.Content = overloadViewer; } /// /// Gets/Sets the item provider. /// public IOverloadProvider Provider { get { return overloadViewer.Provider; } set { overloadViewer.Provider = value; } } /// protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); if (!e.Handled && this.Provider.Count > 1) { switch (e.Key) { case Key.Up: e.Handled = true; overloadViewer.ChangeIndex(-1); break; case Key.Down: e.Handled = true; overloadViewer.ChangeIndex(+1); break; } } } } }