using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;
namespace TeamAAS_VP.Core
{
///
/// C#成员类型
///
public enum CoreMemberType
{
Field,
Property,
Void,
Event,
}
///
/// Implements AvalonEdit ICompletionData interface to provide the entries in the completion drop down.
///
public class ScriptCompletionData : ICSharpCode.AvalonEdit.CodeCompletion.ICompletionData
{
public ScriptCompletionData(string text, CoreMemberType member)
{
this.Text = text;
switch (member)
{
case CoreMemberType.Field:
Image= new BitmapImage(new Uri("/Resources/Images/1field.png", UriKind.Relative));
break;
case CoreMemberType.Property:
Image = new BitmapImage(new Uri("/Resources/Images/2property.png", UriKind.Relative));
break;
case CoreMemberType.Void:
Image = new BitmapImage(new Uri("/Resources/Images/3void.png", UriKind.Relative));
break;
case CoreMemberType.Event:
Image = new BitmapImage(new Uri("/Resources/Images/4event.png", UriKind.Relative));
break;
default:
break;
}
}
public System.Windows.Media.ImageSource Image { get;private set; }
public string Text { get; private set; }
// Use this property if you want to show a fancy UIElement in the drop down list.
public object Content
{
get { return this.Text; }
}
public object Description
{
get { return "Description for " + this.Text; }
}
public double Priority { get { return 0; } }
public void Complete(ICSharpCode.AvalonEdit.Editing.TextArea textArea, ICSharpCode.AvalonEdit.Document.ISegment completionSegment, EventArgs insertionRequestEventArgs)
{
textArea.Document.Replace(completionSegment, this.Text);
}
}
}