KMSystemMenu.swift 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. //
  2. // KMSystemMenu.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2023/4/24.
  6. //
  7. import Cocoa
  8. protocol KMSystemFileMenuProtocol {
  9. /// New
  10. func menuItemAction_newDocumentFromClipboard(_ sender: Any?)
  11. func menuItemAction_newDocumetFromImage(_ sender: Any?)
  12. func menuItemAction_importFromWebPage(_ sender: Any?)
  13. /// screenShot
  14. func menuItemAction_screenShotSelectArea(_ sender: Any?)
  15. func menuItemAction_screenShotWindow(_ sender: Any?)
  16. func menuItemAction_screenShotFullScreenDelay(_ sender: Any?)
  17. func menuItemAction_screenShotFullScreen(_ sender: Any?)
  18. func menuItemClick_saveAsFlattenedPDF(_ sender: Any)
  19. func menuItemClick_mergePDF(_ sender: Any)
  20. func menuItemClick_Compress(_ sender: Any)
  21. func menuItemClick_Convert(_ sender: Any)
  22. func menuItemAction_ConvertToWord(_ sender: Any)
  23. func menuItemAction_ConvertToExcel(_ sender: Any)
  24. func menuItemAction_ConvertToPPT(_ sender: Any)
  25. func menuItemAction_ConvertToRTF(_ sender: Any)
  26. func menuItemAction_ConvertToHTML(_ sender: Any)
  27. func menuItemAction_ConvertToText(_ sender: Any)
  28. func menuItemAction_ConvertToCSV(_ sender: Any)
  29. func menuItemAction_ConvertToImage(_ sender: Any)
  30. func menuItemClick_SettingPassword(_ sender: Any)
  31. func menuItemClick_RemovePassword(_ sender: Any)
  32. func menuItemAction_closeWindow(_ sender: Any)
  33. func menuItemAction_closeAllWindows(_ sender: Any)
  34. func menuItemAction_closeTagPage(_ sender: Any)
  35. func menuItemAction_showInFinder(_ sender: Any)
  36. func menuItemAction_property(_ sender: Any)
  37. func menuItemAction_print(_ sender: Any)
  38. }
  39. extension KMSystemFileMenuProtocol {
  40. func menuItemClick_Convert(_ sender: Any) {}
  41. func menuItemAction_newDocumentFromClipboard(_ sender: Any?) {}
  42. func menuItemAction_newDocumetFromImage(_ sender: Any?) {}
  43. func menuItemAction_importFromWebPage(_ sender: Any?) {}
  44. func menuItemAction_screenShotSelectArea(_ sender: Any?) {}
  45. func menuItemAction_screenShotWindow(_ sender: Any?) {}
  46. func menuItemAction_screenShotFullScreenDelay(_ sender: Any?) {}
  47. func menuItemAction_screenShotFullScreen(_ sender: Any?) {}
  48. }
  49. @objc protocol KMSystemEditMenuProtocol {
  50. @objc optional func undo(_ sender: Any?)
  51. @objc optional func redo(_ sender: Any?)
  52. @objc optional func cut(_ sender: Any?)
  53. @objc optional func copy(_ sender: Any?)
  54. @objc optional func paste(_ sender: Any?)
  55. @objc optional func delete(_ sender: Any?)
  56. @objc optional func menuItemAction_find(_ sender: Any)
  57. }
  58. protocol KMSystemAnnotationMenuProtocol: NSObjectProtocol {
  59. func menuItemAction_highlight(_ sender: Any)
  60. func menuItemAction_underline(_ sender: Any)
  61. func menuItemAction_deleteLine(_ sender: Any)
  62. func menuItemAction_freehand(_ sender: Any)
  63. func menuItemAction_text(_ sender: Any)
  64. func menuItemAction_note(_ sender: Any)
  65. func menuItemAction_squre(_ sender: Any)
  66. func menuItemAction_circle(_ sender: Any)
  67. func menuItemAction_arrow(_ sender: Any)
  68. func menuItemAction_line(_ sender: Any)
  69. // link
  70. func menuItemAction_link(_ sender: Any)
  71. func menuItemAction_linkPage(_ sender: Any)
  72. func menuItemAction_linkHttps(_ sender: Any)
  73. func menuItemAction_linkEmail(_ sender: Any)
  74. // stamp
  75. func menuItemAction_stamp(_ sender: Any)
  76. func menuItemAction_stampStandard(_ sender: Any)
  77. func menuItemAction_stampDynamic(_ sender: Any)
  78. func menuItemAction_stampCustom(_ sender: Any)
  79. func menuItemAction_signure(_ sender: Any)
  80. func menuItemAction_hiddenAllAnnotation(_ sender: Any)
  81. func menuItemAction_clearAllAnnotation(_ sender: Any)
  82. }
  83. extension KMSystemAnnotationMenuProtocol {
  84. func menuItemAction_linkHttps(_ sender: Any) {}
  85. func menuItemAction_linkEmail(_ sender: Any) {}
  86. func menuItemAction_stampStandard(_ sender: Any) {}
  87. func menuItemAction_stampDynamic(_ sender: Any) {}
  88. func menuItemAction_stampCustom(_ sender: Any) {}
  89. }
  90. protocol KMSystemGotoMenuProtocol {
  91. func menuItemAction_nextPage(_ sender: Any)
  92. func menuItemAction_forwardPage(_ sender: Any)
  93. func menuItemAction_firstPage(_ sender: Any)
  94. func menuItemAction_lastPage(_ sender: Any)
  95. func menuItemAction_forward(_ sender: Any)
  96. func menuItemAction_goback(_ sender: Any)
  97. func menuItemAction_gotoPage(_ sender: Any)
  98. }
  99. protocol KMSystemToolMenuProtocol {
  100. func menuItemAction_textTool(_ sender: Any)
  101. func menuItemAction_scrolTool(_ sender: Any)
  102. func menuItemAction_zoomOutTool(_ sender: Any)
  103. func menuItemAction_selectTool(_ sender: Any)
  104. func menuItemAction_redact(_ sender: Any)
  105. func menuItemAction_warkmark(_ sender: Any)
  106. func menuItemAction_background(_ sender: Any)
  107. func menuItemAction_headerfooter(_ sender: Any)
  108. func menuItemAction_bates(_ sender: Any)
  109. func menuItemAction_batch(_ sender: Any)
  110. }
  111. extension KMSystemToolMenuProtocol {
  112. func menuItemAction_textTool(_ sender: Any) {}
  113. func menuItemAction_redact(_ sender: Any) {}
  114. func menuItemAction_warkmark(_ sender: Any) {}
  115. func menuItemAction_background(_ sender: Any) {}
  116. func menuItemAction_headerfooter(_ sender: Any) {}
  117. func menuItemAction_bates(_ sender: Any) {}
  118. func menuItemAction_batch(_ sender: Any) {}
  119. }
  120. protocol KMSystemWindowMenuRrotocol {
  121. func menuItemAction_showForwardTagPage(_ sender: Any)
  122. func menuItemAction_showNextTagPage(_ sender: Any)
  123. func menuItemAction_newTagPageToNewWindow(_ sender: Any)
  124. func menuItemAction_mergeAllWindow(_ sender: Any)
  125. func menuItemAction_currentWindowName(_ sender: Any)
  126. }
  127. extension KMSystemWindowMenuRrotocol {
  128. func menuItemAction_currentWindowName(_ sender: Any) {}
  129. }
  130. protocol KMSystemViewMenuProtocol {
  131. // scale
  132. func menuItemAction_adjustWidth(_ sender: Any)
  133. func menuItemAction_adjustPage(_ sender: Any)
  134. func menuItemAction_size(_ sender: Any)
  135. func menuItemAction_zoomOut(_ sender: Any)
  136. func menuItemAction_zoomIn(_ sender: Any)
  137. // page show
  138. func menuItemAction_singlePage(_ sender: Any)
  139. func menuItemAction_singlePageContinue(_ sender: Any)
  140. func menuItemAction_doublePage(_ sender: Any)
  141. func menuItemAction_doublePageContinue(_ sender: Any)
  142. func menuItemAction_bookMode(_ sender: Any)
  143. func menuItemAction_readMode(_ sender: Any)
  144. func menuItemAction_showSplitPage(_ sender: Any)
  145. func menuItemAction_autoScrol(_ sender: Any)
  146. func menuItemAction_autoScrolSetting(_ sender: Any)
  147. // rotate
  148. func menuItemAction_rotateLeft(_ sender: Any)
  149. func menuItemAction_rotateRight(_ sender: Any)
  150. func menuItemAction_rotateAllPageLeft(_ sender: Any)
  151. func menuItemAction_rotateAllPageRight(_ sender: Any)
  152. // split screen
  153. func menuItemAction_splitScreenVerti(_ sender: Any)
  154. func menuItemAction_splitScreenHorti(_ sender: Any)
  155. func menuItemAction_splitScreenNo(_ sender: Any)
  156. func menuItemAction_view_readMode(_ sender: Any)
  157. func menuItemAction_enterFullScreen(_ sender: Any)
  158. func menuItemAction_hiddenLeftSide(_ sender: Any)
  159. func menuItemAction_hiddenRightSide(_ sender: Any)
  160. func menuItemAction_thumai(_ sender: Any)
  161. func menuItemAction_outline(_ sender: Any)
  162. func menuItemAction_bookmark(_ sender: Any)
  163. func menuItemAction_annotation(_ sender: Any)
  164. func menuItemAction_search(_ sender: Any)
  165. func menuItemAction_topic(_ sender: Any)
  166. func menuItemAction_hiddenPageIndicator(_ sender: Any)
  167. }
  168. extension KMSystemViewMenuProtocol {
  169. func menuItemAction_autoScrol(_ sender: Any) {}
  170. func menuItemAction_autoScrolSetting(_ sender: Any) {}
  171. func menuItemAction_splitScreenVerti(_ sender: Any) {}
  172. func menuItemAction_splitScreenHorti(_ sender: Any) {}
  173. func menuItemAction_splitScreenNo(_ sender: Any) {}
  174. func menuItemAction_enterFullScreen(_ sender: Any) {}
  175. func menuItemAction_topic(_ sender: Any) {}
  176. }
  177. extension KMSystemMenu.File {
  178. public static let saveAsFlattenedPDFSelector = NSSelectorFromString("menuItemClick_saveAsFlattenedPDF:")
  179. public static let mergePDFSelector = NSSelectorFromString("menuItemClick_mergePDF:")
  180. public static let compressSelector = NSSelectorFromString("menuItemClick_Compress:")
  181. public static let convertSelector = NSSelectorFromString("menuItemClick_Convert:")
  182. public static let convertToWordSelector = NSSelectorFromString("menuItemAction_ConvertToWord:")
  183. public static let convertToExcelSelector = NSSelectorFromString("menuItemAction_ConvertToExcel:")
  184. public static let convertToPPTSelector = NSSelectorFromString("menuItemAction_ConvertToPPT:")
  185. public static let convertToRTFSelector = NSSelectorFromString("menuItemAction_ConvertToRTF:")
  186. public static let convertToHTMLSelector = NSSelectorFromString("menuItemAction_ConvertToHTML:")
  187. public static let convertToTextSelector = NSSelectorFromString("menuItemAction_ConvertToText:")
  188. public static let convertToCSVSelector = NSSelectorFromString("menuItemAction_ConvertToCSV:")
  189. public static let convertToImageSelector = NSSelectorFromString("menuItemAction_ConvertToImage:")
  190. public static let settingPasswordSelector = NSSelectorFromString("menuItemClick_SettingPassword:")
  191. public static let removePasswordSelector = NSSelectorFromString("menuItemClick_RemovePassword:")
  192. public static let closeWindowSelector = NSSelectorFromString("menuItemAction_closeWindow:")
  193. public static let closeAllWindowsSelector = NSSelectorFromString("menuItemAction_closeAllWindows:")
  194. public static let closeTagPageSelector = NSSelectorFromString("menuItemAction_closeTagPage:")
  195. public static let showInFinderSelector = NSSelectorFromString("menuItemAction_showInFinder:")
  196. public static let propertySelector = NSSelectorFromString("menuItemAction_property:")
  197. public static let printSelector = NSSelectorFromString("menuItemAction_print:")
  198. public static func actions() -> [Selector] {
  199. return [self.saveAsFlattenedPDFSelector, self.mergePDFSelector, self.compressSelector,
  200. // convert
  201. self.convertSelector, self.convertToWordSelector, self.convertToExcelSelector, self.convertToPPTSelector,
  202. self.convertToRTFSelector, self.convertToHTMLSelector, self.convertToTextSelector, self.convertToCSVSelector,
  203. self.convertToImageSelector,
  204. // secure
  205. self.settingPasswordSelector, self.removePasswordSelector,
  206. // other
  207. self.closeWindowSelector, self.closeAllWindowsSelector, self.closeTagPageSelector,
  208. self.showInFinderSelector, self.propertySelector,
  209. self.printSelector]
  210. }
  211. }
  212. extension KMSystemMenu.Edit {
  213. public static let undoSelector = NSSelectorFromString("undo:")
  214. public static let redoSelector = NSSelectorFromString("redo:")
  215. public static let cutSelector = NSSelectorFromString("cut:")
  216. public static let copySelector = NSSelectorFromString("copy:")
  217. public static let pasteSelector = NSSelectorFromString("paste:")
  218. public static let deleteSelector = NSSelectorFromString("delete:")
  219. public static let findSelector = NSSelectorFromString("menuItemAction_find:")
  220. public static func actions() -> [Selector] {
  221. return [self.undoSelector, self.redoSelector,
  222. self.cutSelector, self.copySelector, self.pasteSelector, self.deleteSelector,
  223. self.findSelector]
  224. }
  225. }
  226. extension KMSystemMenu.View {
  227. // scale
  228. public static let adjustWidthSelector = NSSelectorFromString("menuItemAction_adjustWidth:")
  229. public static let adjustPageSelector = NSSelectorFromString("menuItemAction_adjustPage:")
  230. public static let sizeSelector = NSSelectorFromString("menuItemAction_size:")
  231. public static let zoomOutSelector = NSSelectorFromString("menuItemAction_zoomOut:")
  232. public static let zoomInSelector = NSSelectorFromString("menuItemAction_zoomIn:")
  233. // page show
  234. public static let singlePageSelector = NSSelectorFromString("menuItemAction_singlePage:")
  235. public static let singlePageContinueSelector = NSSelectorFromString("menuItemAction_singlePageContinue:")
  236. public static let doublePageSelector = NSSelectorFromString("menuItemAction_doublePage:")
  237. public static let doublePageContinueSelector = NSSelectorFromString("menuItemAction_doublePageContinue:")
  238. public static let bookModeSelector = NSSelectorFromString("menuItemAction_bookMode:")
  239. public static let readModeSelector = NSSelectorFromString("menuItemAction_readMode:")
  240. public static let showSplitPageSelector = NSSelectorFromString("menuItemAction_showSplitPage:")
  241. public static let autoScrolSelector = NSSelectorFromString("menuItemAction_autoScrol:")
  242. public static let autoScrolSettingSelector = NSSelectorFromString("menuItemAction_autoScrolSetting:")
  243. // rotate
  244. public static let rotateLeftSelector = NSSelectorFromString("menuItemAction_rotateLeft:")
  245. public static let rotateRightSelector = NSSelectorFromString("menuItemAction_rotateRight:")
  246. public static let rotateAllPageLeftSelector = NSSelectorFromString("menuItemAction_rotateAllPageLeft:")
  247. public static let rotateAllPageRightSelector = NSSelectorFromString("menuItemAction_rotateAllPageRight:")
  248. // split screen
  249. public static let splitScreenVertiSelector = NSSelectorFromString("menuItemAction_splitScreenVerti:")
  250. public static let splitScreenHortiSelector = NSSelectorFromString("menuItemAction_splitScreenHorti:")
  251. public static let splitScreenNoSelector = NSSelectorFromString("menuItemAction_splitScreenNo:")
  252. public static let viewReadModeSelector = NSSelectorFromString("menuItemAction_view_readMode:")
  253. public static let enterFullScreenSelector = NSSelectorFromString("menuItemAction_enterFullScreen:")
  254. public static let hiddenLeftSideSelector = NSSelectorFromString("menuItemAction_hiddenLeftSide:")
  255. public static let hiddenRightSideSelector = NSSelectorFromString("menuItemAction_hiddenRightSide:")
  256. public static let thumaiSelector = NSSelectorFromString("menuItemAction_thumai:")
  257. public static let outlineSelector = NSSelectorFromString("menuItemAction_outline:")
  258. public static let bookmarkSelector = NSSelectorFromString("menuItemAction_bookmark:")
  259. public static let annotationSelector = NSSelectorFromString("menuItemAction_annotation:")
  260. public static let searchSelector = NSSelectorFromString("menuItemAction_search:")
  261. public static let topicSelector = NSSelectorFromString("menuItemAction_topic:")
  262. public static let hiddenPageIndicatorSelector = NSSelectorFromString("menuItemAction_hiddenPageIndicator:")
  263. public static func actions() -> [Selector] {
  264. return [self.adjustWidthSelector, self.adjustPageSelector, self.sizeSelector, self.zoomOutSelector, self.zoomInSelector,
  265. // page show
  266. self.singlePageSelector, self.singlePageContinueSelector, self.doublePageSelector, self.doublePageContinueSelector,
  267. self.bookModeSelector, self.readModeSelector, self.showSplitPageSelector, self.autoScrolSelector,
  268. self.autoScrolSettingSelector,
  269. // rotate
  270. self.rotateLeftSelector, self.rotateRightSelector, self.rotateAllPageLeftSelector, self.rotateAllPageRightSelector,
  271. // split screen
  272. self.splitScreenVertiSelector, self.splitScreenHortiSelector, self.splitScreenNoSelector,
  273. self.viewReadModeSelector, self.enterFullScreenSelector,
  274. self.hiddenLeftSideSelector, self.hiddenRightSideSelector,
  275. self.thumaiSelector, self.outlineSelector, self.bookmarkSelector, self.annotationSelector,
  276. self.searchSelector, self.topicSelector, self.hiddenPageIndicatorSelector]
  277. }
  278. }
  279. extension KMSystemMenu.Annotation {
  280. public static let highlightSelector = NSSelectorFromString("menuItemAction_highlight:")
  281. public static let underlineSelector = NSSelectorFromString("menuItemAction_underline:")
  282. public static let strikeOutSelector = NSSelectorFromString("menuItemAction_deleteLine:")
  283. public static let freehandSelector = NSSelectorFromString("menuItemAction_freehand:")
  284. public static let textSelector = NSSelectorFromString("menuItemAction_text:")
  285. public static let noteSelector = NSSelectorFromString("menuItemAction_note:")
  286. public static let squreSelector = NSSelectorFromString("menuItemAction_squre:")
  287. public static let circleSelector = NSSelectorFromString("menuItemAction_circle:")
  288. public static let arrowSelector = NSSelectorFromString("menuItemAction_arrow:")
  289. public static let lineSelector = NSSelectorFromString("menuItemAction_line:")
  290. public static let linkSelector = NSSelectorFromString("menuItemAction_link:")
  291. public static let linkPageSelector = NSSelectorFromString("menuItemAction_linkPage:")
  292. public static let linkHttpsSelector = NSSelectorFromString("menuItemAction_linkHttps:")
  293. public static let linkEmailSelector = NSSelectorFromString("menuItemAction_linkEmail:")
  294. public static let stampSelector = NSSelectorFromString("menuItemAction_stamp:")
  295. public static let stampStandardSelector = NSSelectorFromString("menuItemAction_stampStandard:")
  296. public static let stampDynamicSelector = NSSelectorFromString("menuItemAction_stampDynamic:")
  297. public static let stampCustomSelector = NSSelectorFromString("menuItemAction_stampCustom:")
  298. public static let signureSelector = NSSelectorFromString("menuItemAction_signure:")
  299. public static let hiddenAllSelector = NSSelectorFromString("menuItemAction_hiddenAllAnnotation:")
  300. public static let clearAllSelector = NSSelectorFromString("menuItemAction_clearAllAnnotation:")
  301. public static func actions() -> [Selector] {
  302. return [self.highlightSelector, self.underlineSelector, self.strikeOutSelector, self.freehandSelector,
  303. self.textSelector, self.noteSelector, self.squreSelector, self.circleSelector,
  304. self.arrowSelector, self.lineSelector,
  305. // link
  306. self.linkSelector, self.linkPageSelector, self.linkHttpsSelector, self.linkEmailSelector,
  307. // stamp
  308. self.stampSelector, self.stampStandardSelector, self.stampDynamicSelector, self.stampCustomSelector,
  309. // other
  310. self.signureSelector, self.hiddenAllSelector, self.clearAllSelector]
  311. }
  312. }
  313. extension KMSystemMenu.Goto {
  314. public static let nextPageSelector = NSSelectorFromString("menuItemAction_nextPage:")
  315. public static let forwardPageSelector = NSSelectorFromString("menuItemAction_forwardPage:")
  316. public static let firstPageSelector = NSSelectorFromString("menuItemAction_firstPage:")
  317. public static let lastPageSelector = NSSelectorFromString("menuItemAction_lastPage:")
  318. public static let forwardSelector = NSSelectorFromString("menuItemAction_forward:")
  319. public static let gobackSelector = NSSelectorFromString("menuItemAction_goback:")
  320. public static let gotoPageSelector = NSSelectorFromString("menuItemAction_gotoPage:")
  321. public static func actions() -> [Selector] {
  322. return [self.nextPageSelector, self.forwardPageSelector, self.firstPageSelector, self.lastPageSelector,
  323. self.forwardSelector, self.gobackSelector, self.gotoPageSelector]
  324. }
  325. }
  326. extension KMSystemMenu.Tool {
  327. public static let textToolSelector = NSSelectorFromString("menuItemAction_textTool:")
  328. public static let scrolToolSelector = NSSelectorFromString("menuItemAction_scrolTool:")
  329. public static let zoomToolSelector = NSSelectorFromString("menuItemAction_zoomOutTool:")
  330. public static let selectToolSelector = NSSelectorFromString("menuItemAction_selectTool:")
  331. public static let redactSelector = NSSelectorFromString("menuItemAction_redact:")
  332. public static let warkmarkSelector = NSSelectorFromString("menuItemAction_warkmark:")
  333. public static let backgroundSelector = NSSelectorFromString("menuItemAction_background:")
  334. public static let headerfooterSelector = NSSelectorFromString("menuItemAction_headerfooter:")
  335. public static let batesSelector = NSSelectorFromString("menuItemAction_bates:")
  336. public static let batchSelector = NSSelectorFromString("menuItemAction_batch:")
  337. public static func actions() -> [Selector] {
  338. return [self.textToolSelector, self.scrolToolSelector, self.zoomToolSelector, self.selectToolSelector,
  339. self.redactSelector, self.warkmarkSelector, self.backgroundSelector, self.headerfooterSelector,
  340. self.batesSelector, self.batchSelector]
  341. }
  342. }
  343. extension KMSystemMenu.Window {
  344. public static let showForwardTagPageSelector = NSSelectorFromString("menuItemAction_showForwardTagPage:")
  345. public static let showNextTagPageSelector = NSSelectorFromString("menuItemAction_showNextTagPage:")
  346. public static let newTagPageToNewWindowSelector = NSSelectorFromString("menuItemAction_newTagPageToNewWindow:")
  347. public static let mergeAllWindowSelector = NSSelectorFromString("menuItemAction_mergeAllWindow:")
  348. public static let currentWindowNameSelector = NSSelectorFromString("menuItemAction_currentWindowName:")
  349. public static func actions() -> [Selector] {
  350. return [self.showForwardTagPageSelector, self.showNextTagPageSelector,
  351. self.newTagPageToNewWindowSelector, self.mergeAllWindowSelector,
  352. self.currentWindowNameSelector]
  353. }
  354. }
  355. class KMSystemMenu: NSObject {
  356. public struct File {
  357. }
  358. public struct Edit {
  359. }
  360. public struct View {
  361. }
  362. public struct Annotation {
  363. }
  364. public struct Goto {
  365. }
  366. public struct Tool {
  367. }
  368. public struct Window {
  369. }
  370. public static func isFileSelector(sel: Selector) -> Bool {
  371. return KMSystemMenu.File.actions().contains(sel)
  372. }
  373. public static func isEditSelector(sel: Selector) -> Bool {
  374. return KMSystemMenu.Edit.actions().contains(sel)
  375. }
  376. public static func isViewSelector(sel: Selector) -> Bool {
  377. return KMSystemMenu.View.actions().contains(sel)
  378. }
  379. public static func isAnnotationSelector(sel: Selector) -> Bool {
  380. return KMSystemMenu.Annotation.actions().contains(sel)
  381. }
  382. public static func isGotoSelector(sel: Selector) -> Bool {
  383. return KMSystemMenu.Goto.actions().contains(sel)
  384. }
  385. public static func isToolSelector(sel: Selector) -> Bool {
  386. return KMSystemMenu.Tool.actions().contains(sel)
  387. }
  388. public static func isWindowSelector(sel: Selector) -> Bool {
  389. return KMSystemMenu.Window.actions().contains(sel)
  390. }
  391. }