KMSystemAnnotationMenu.swift 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // KMSystemAnnotationMenu.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2023/12/26.
  6. //
  7. import Foundation
  8. protocol KMSystemAnnotationMenuProtocol: NSObjectProtocol {
  9. func menuItemAction_highlight(_ sender: Any)
  10. func menuItemAction_underline(_ sender: Any)
  11. func menuItemAction_deleteLine(_ sender: Any)
  12. func menuItemAction_freehand(_ sender: Any)
  13. func menuItemAction_text(_ sender: Any)
  14. func menuItemAction_note(_ sender: Any)
  15. func menuItemAction_squre(_ sender: Any)
  16. func menuItemAction_circle(_ sender: Any)
  17. func menuItemAction_arrow(_ sender: Any)
  18. func menuItemAction_line(_ sender: Any)
  19. // link
  20. func menuItemAction_link(_ sender: Any)
  21. func menuItemAction_linkPage(_ sender: Any)
  22. func menuItemAction_linkHttps(_ sender: Any)
  23. func menuItemAction_linkEmail(_ sender: Any)
  24. // stamp
  25. func menuItemAction_stamp(_ sender: Any)
  26. func menuItemAction_stampStandard(_ sender: Any)
  27. func menuItemAction_stampDynamic(_ sender: Any)
  28. func menuItemAction_stampCustom(_ sender: Any)
  29. func menuItemAction_signure(_ sender: Any)
  30. func menuItemAction_hiddenAllAnnotation(_ sender: Any)
  31. func menuItemAction_clearAllAnnotation(_ sender: Any)
  32. }
  33. extension KMSystemAnnotationMenuProtocol {
  34. func menuItemAction_linkHttps(_ sender: Any) {}
  35. func menuItemAction_linkEmail(_ sender: Any) {}
  36. func menuItemAction_stampStandard(_ sender: Any) {}
  37. func menuItemAction_stampDynamic(_ sender: Any) {}
  38. func menuItemAction_stampCustom(_ sender: Any) {}
  39. }
  40. extension KMSystemMenu.Annotation {
  41. public static let highlightSelector = NSSelectorFromString("menuItemAction_highlight:")
  42. public static let underlineSelector = NSSelectorFromString("menuItemAction_underline:")
  43. public static let strikeOutSelector = NSSelectorFromString("menuItemAction_deleteLine:")
  44. public static let freehandSelector = NSSelectorFromString("menuItemAction_freehand:")
  45. public static let textSelector = NSSelectorFromString("menuItemAction_text:")
  46. public static let noteSelector = NSSelectorFromString("menuItemAction_note:")
  47. public static let squreSelector = NSSelectorFromString("menuItemAction_squre:")
  48. public static let circleSelector = NSSelectorFromString("menuItemAction_circle:")
  49. public static let arrowSelector = NSSelectorFromString("menuItemAction_arrow:")
  50. public static let lineSelector = NSSelectorFromString("menuItemAction_line:")
  51. public static let linkSelector = NSSelectorFromString("menuItemAction_link:")
  52. public static let linkPageSelector = NSSelectorFromString("menuItemAction_linkPage:")
  53. public static let linkHttpsSelector = NSSelectorFromString("menuItemAction_linkHttps:")
  54. public static let linkEmailSelector = NSSelectorFromString("menuItemAction_linkEmail:")
  55. public static let stampSelector = NSSelectorFromString("menuItemAction_stamp:")
  56. public static let stampStandardSelector = NSSelectorFromString("menuItemAction_stampStandard:")
  57. public static let stampDynamicSelector = NSSelectorFromString("menuItemAction_stampDynamic:")
  58. public static let stampCustomSelector = NSSelectorFromString("menuItemAction_stampCustom:")
  59. public static let signureSelector = NSSelectorFromString("menuItemAction_signure:")
  60. public static let hiddenAllSelector = NSSelectorFromString("menuItemAction_hiddenAllAnnotation:")
  61. public static let clearAllSelector = NSSelectorFromString("menuItemAction_clearAllAnnotation:")
  62. public static func actions() -> [Selector] {
  63. return [self.highlightSelector, self.underlineSelector, self.strikeOutSelector, self.freehandSelector,
  64. self.textSelector, self.noteSelector, self.squreSelector, self.circleSelector,
  65. self.arrowSelector, self.lineSelector,
  66. // link
  67. self.linkSelector, self.linkPageSelector, self.linkHttpsSelector, self.linkEmailSelector,
  68. // stamp
  69. self.stampSelector, self.stampStandardSelector, self.stampDynamicSelector, self.stampCustomSelector,
  70. // other
  71. self.signureSelector, self.hiddenAllSelector, self.clearAllSelector]
  72. }
  73. }