AnyCpuBridgeMain.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System;
  2. using System.Diagnostics;
  3. using System.Reflection;
  4. using NppChnConvPlugin.NppPluginInfrastructure;
  5. namespace NppChnConvPlugin
  6. {
  7. public static class AnyCpuBridgeMain
  8. {
  9. static AnyCpuBridgeMain()
  10. {
  11. try
  12. {
  13. InitReferenceAssembly();
  14. }
  15. catch (Exception exception)
  16. {
  17. System.Windows.Forms.MessageBox.Show($"Plugin init fail:{PluginName},{exception}");
  18. throw;
  19. }
  20. }
  21. private static void InitReferenceAssembly()
  22. {
  23. }
  24. public static readonly string PluginName = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductName;
  25. public static void CommandMenuInit()
  26. {
  27. PluginBridge.SetupPluginMenu();
  28. }
  29. public static void SetToolBarIcon()
  30. {
  31. PluginBridge.SetupToolBarIcon();
  32. }
  33. public static void OnNotification(ScNotification notification)
  34. {
  35. if (false == PluginBridge.Enable) return;
  36. //Check for updates
  37. if (notification.Header.Code == (uint)SciMsg.SCN_UPDATEUI)
  38. {
  39. //Update the view
  40. if (0 != (notification.Updated & (uint)SciMsg.SC_UPDATE_V_SCROLL)) PluginBridge.UpdateScroll();
  41. }
  42. else if (notification.Header.Code == (uint)NppMsg.NPPN_BUFFERACTIVATED)
  43. {
  44. //Update the scintilla handle in all cases to keep track of which instance is active
  45. PluginBridge.FlushState();
  46. PluginBridge.UpdateText();
  47. PluginBridge.UpdateScroll();
  48. }
  49. else if (notification.Header.Code == (uint)SciMsg.SCN_MODIFIED
  50. && (notification.ModificationType & ((uint)SciMsg.SC_MOD_INSERTTEXT | (uint)SciMsg.SC_MOD_DELETETEXT)) != 0)
  51. {
  52. //Track if any text modifications have been made
  53. PluginBridge.UpdateText();
  54. }
  55. }
  56. public static void PluginCleanUp()
  57. {
  58. PluginBridge.Exit();
  59. }
  60. }
  61. }