/src/AddIns/Misc/PackageManagement/Packages/ICSharpCode.TextEditor.Sample/Content/TextEditorSample/CompletionDataProvider.cs.pp

https://github.com/ajadex/SharpDevelop · Puppet · 55 lines · 45 code · 10 blank · 0 comment · 1 complexity · 12a108011b1d49debb4254002186432a MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows.Forms;
  4. using ICSharpCode.TextEditor;
  5. using ICSharpCode.TextEditor.Gui.CompletionWindow;
  6. namespace $rootnamespace$.TextEditorSample
  7. {
  8. public class CompletionDataProvider : ICompletionDataProvider
  9. {
  10. ImageList imageList = new ImageList();
  11. List<DefaultCompletionData> completionData = new List<DefaultCompletionData>();
  12. public CompletionDataProvider()
  13. {
  14. completionData.Add(new DefaultCompletionData("Item1", 0));
  15. completionData.Add(new DefaultCompletionData("Item2", 0));
  16. completionData.Add(new DefaultCompletionData("Item3", 0));
  17. completionData.Add(new DefaultCompletionData("Another item", 0));
  18. }
  19. public ImageList ImageList {
  20. get { return imageList; }
  21. }
  22. public string PreSelection {
  23. get { return null; }
  24. }
  25. public int DefaultIndex {
  26. get { return 0; }
  27. }
  28. public CompletionDataProviderKeyResult ProcessKey(char key)
  29. {
  30. if (char.IsLetterOrDigit(key)) {
  31. return CompletionDataProviderKeyResult.NormalKey;
  32. }
  33. return CompletionDataProviderKeyResult.InsertionKey;
  34. }
  35. public bool InsertAction(ICompletionData data, TextArea textArea, int insertionOffset, char key)
  36. {
  37. textArea.Caret.Position = textArea.Document.OffsetToPosition(insertionOffset);
  38. return data.InsertAction(textArea, key);
  39. }
  40. public ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
  41. {
  42. return completionData.ToArray();
  43. }
  44. }
  45. }