NSMenuItem.odin 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. package objc_Foundation
  2. import "base:builtin"
  3. import "base:intrinsics"
  4. KeyEquivalentModifierFlag :: EventModifierFlag
  5. KeyEquivalentModifierMask :: EventModifierFlags
  6. // Used to retrieve only the device-independent modifier flags, allowing applications to mask off the device-dependent modifier flags, including event coalescing information.
  7. KeyEventModifierFlagDeviceIndependentFlagsMask := transmute(KeyEquivalentModifierMask)_KeyEventModifierFlagDeviceIndependentFlagsMask
  8. @(private) _KeyEventModifierFlagDeviceIndependentFlagsMask := UInteger(0xffff0000)
  9. MenuItemCallback :: proc "c" (unused: rawptr, name: SEL, sender: ^Object)
  10. @(objc_class="NSMenuItem")
  11. MenuItem :: struct {using _: Object}
  12. @(objc_type=MenuItem, objc_name="registerActionCallback", objc_is_class_method=true)
  13. MenuItem_registerActionCallback :: proc "c" (name: cstring, callback: MenuItemCallback) -> SEL {
  14. s := string(name)
  15. n := len(s)
  16. sel: SEL
  17. if n > 0 && s[n-1] != ':' {
  18. col_name := intrinsics.alloca(n+2, 1)
  19. builtin.copy(col_name[:n], s)
  20. col_name[n] = ':'
  21. col_name[n+1] = 0
  22. sel = sel_registerName(cstring(col_name))
  23. } else {
  24. sel = sel_registerName(name)
  25. }
  26. if callback != nil {
  27. class_addMethod(intrinsics.objc_find_class("NSObject"), sel, auto_cast callback, "v@:@")
  28. }
  29. return sel
  30. }
  31. @(objc_type=MenuItem, objc_name="init")
  32. MenuItem_init :: proc "c" (self: ^MenuItem) -> ^MenuItem {
  33. return msgSend(^MenuItem, self, "init")
  34. }
  35. @(objc_type=MenuItem, objc_name="separatorItem", objc_is_class_method=true)
  36. MenuItem_separatorItem :: #force_inline proc "c" () -> ^MenuItem {
  37. return msgSend(^MenuItem, MenuItem, "separatorItem")
  38. }
  39. @(objc_type=MenuItem, objc_name="sectionHeaderWithTitle", objc_is_class_method=true)
  40. MenuItem_sectionHeaderWithTitle :: #force_inline proc "c" (title: ^String) -> ^MenuItem {
  41. return msgSend(^MenuItem, MenuItem, "sectionHeaderWithTitle:", title)
  42. }
  43. @(objc_type=MenuItem, objc_name="initWithTitle")
  44. MenuItem_initWithTitle :: #force_inline proc "c" (self: ^MenuItem, string: ^String, selector: SEL, charCode: ^String) -> ^MenuItem {
  45. return msgSend(^MenuItem, self, "initWithTitle:action:keyEquivalent:", string, selector, charCode)
  46. }
  47. @(objc_type=MenuItem, objc_name="initWithCoder")
  48. MenuItem_initWithCoder :: #force_inline proc "c" (self: ^MenuItem, coder: ^Coder) -> ^MenuItem {
  49. return msgSend(^MenuItem, self, "initWithCoder:", coder)
  50. }
  51. @(objc_type=MenuItem, objc_name="usesUserKeyEquivalents", objc_is_class_method=true)
  52. MenuItem_usesUserKeyEquivalents :: #force_inline proc "c" () -> bool {
  53. return msgSend(bool, MenuItem, "usesUserKeyEquivalents")
  54. }
  55. @(objc_type=MenuItem, objc_name="setUsesUserKeyEquivalents", objc_is_class_method=true)
  56. MenuItem_setUsesUserKeyEquivalents :: #force_inline proc "c" (usesUserKeyEquivalents: bool) {
  57. msgSend(nil, MenuItem, "setUsesUserKeyEquivalents:", usesUserKeyEquivalents)
  58. }
  59. @(objc_type=MenuItem, objc_name="menu")
  60. MenuItem_menu :: #force_inline proc "c" (self: ^MenuItem) -> ^Menu {
  61. return msgSend(^Menu, self, "menu")
  62. }
  63. @(objc_type=MenuItem, objc_name="setMenu")
  64. MenuItem_setMenu :: #force_inline proc "c" (self: ^MenuItem, menu: ^Menu) {
  65. msgSend(nil, self, "setMenu:", menu)
  66. }
  67. @(objc_type=MenuItem, objc_name="hasSubmenu")
  68. MenuItem_hasSubmenu :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  69. return msgSend(bool, self, "hasSubmenu")
  70. }
  71. @(objc_type=MenuItem, objc_name="submenu")
  72. MenuItem_submenu :: #force_inline proc "c" (self: ^MenuItem) -> ^Menu {
  73. return msgSend(^Menu, self, "submenu")
  74. }
  75. @(objc_type=MenuItem, objc_name="setSubmenu")
  76. MenuItem_setSubmenu :: #force_inline proc "c" (self: ^MenuItem, submenu: ^Menu) {
  77. msgSend(nil, self, "setSubmenu:", submenu)
  78. }
  79. @(objc_type=MenuItem, objc_name="parentItem")
  80. MenuItem_parentItem :: #force_inline proc "c" (self: ^MenuItem) -> ^MenuItem {
  81. return msgSend(^MenuItem, self, "parentItem")
  82. }
  83. @(objc_type=MenuItem, objc_name="title")
  84. MenuItem_title :: #force_inline proc "c" (self: ^MenuItem) -> ^String {
  85. return msgSend(^String, self, "title")
  86. }
  87. @(objc_type=MenuItem, objc_name="setTitle")
  88. MenuItem_setTitle :: #force_inline proc "c" (self: ^MenuItem, title: ^String) {
  89. msgSend(nil, self, "setTitle:", title)
  90. }
  91. // @(objc_type=MenuItem, objc_name="attributedTitle")
  92. // MenuItem_attributedTitle :: #force_inline proc "c" (self: ^MenuItem) -> ^AttributedString {
  93. // return msgSend(^AttributedString, self, "attributedTitle")
  94. // }
  95. // @(objc_type=MenuItem, objc_name="setAttributedTitle")
  96. // MenuItem_setAttributedTitle :: #force_inline proc "c" (self: ^MenuItem, attributedTitle: ^AttributedString) {
  97. // msgSend(nil, self, "setAttributedTitle:", attributedTitle)
  98. // }
  99. @(objc_type=MenuItem, objc_name="subtitle")
  100. MenuItem_subtitle :: #force_inline proc "c" (self: ^MenuItem) -> ^String {
  101. return msgSend(^String, self, "subtitle")
  102. }
  103. @(objc_type=MenuItem, objc_name="setSubtitle")
  104. MenuItem_setSubtitle :: #force_inline proc "c" (self: ^MenuItem, subtitle: ^String) {
  105. msgSend(nil, self, "setSubtitle:", subtitle)
  106. }
  107. @(objc_type=MenuItem, objc_name="isSeparatorItem")
  108. MenuItem_isSeparatorItem :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  109. return msgSend(bool, self, "isSeparatorItem")
  110. }
  111. @(objc_type=MenuItem, objc_name="isSectionHeader")
  112. MenuItem_isSectionHeader :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  113. return msgSend(bool, self, "isSectionHeader")
  114. }
  115. @(objc_type=MenuItem, objc_name="keyEquivalent")
  116. MenuItem_keyEquivalent :: #force_inline proc "c" (self: ^MenuItem) -> ^String {
  117. return msgSend(^String, self, "keyEquivalent")
  118. }
  119. @(objc_type=MenuItem, objc_name="setKeyEquivalent")
  120. MenuItem_setKeyEquivalent :: #force_inline proc "c" (self: ^MenuItem, keyEquivalent: ^String) {
  121. msgSend(nil, self, "setKeyEquivalent:", keyEquivalent)
  122. }
  123. @(objc_type=MenuItem, objc_name="keyEquivalentModifierMask")
  124. MenuItem_keyEquivalentModifierMask :: #force_inline proc "c" (self: ^MenuItem) -> EventModifierFlags {
  125. return msgSend(EventModifierFlags, self, "keyEquivalentModifierMask")
  126. }
  127. @(objc_type=MenuItem, objc_name="setKeyEquivalentModifierMask")
  128. MenuItem_setKeyEquivalentModifierMask :: #force_inline proc "c" (self: ^MenuItem, keyEquivalentModifierMask: EventModifierFlags) {
  129. msgSend(nil, self, "setKeyEquivalentModifierMask:", keyEquivalentModifierMask)
  130. }
  131. @(objc_type=MenuItem, objc_name="userKeyEquivalent")
  132. MenuItem_userKeyEquivalent :: #force_inline proc "c" (self: ^MenuItem) -> ^String {
  133. return msgSend(^String, self, "userKeyEquivalent")
  134. }
  135. @(objc_type=MenuItem, objc_name="allowsKeyEquivalentWhenHidden")
  136. MenuItem_allowsKeyEquivalentWhenHidden :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  137. return msgSend(bool, self, "allowsKeyEquivalentWhenHidden")
  138. }
  139. @(objc_type=MenuItem, objc_name="setAllowsKeyEquivalentWhenHidden")
  140. MenuItem_setAllowsKeyEquivalentWhenHidden :: #force_inline proc "c" (self: ^MenuItem, allowsKeyEquivalentWhenHidden: bool) {
  141. msgSend(nil, self, "setAllowsKeyEquivalentWhenHidden:", allowsKeyEquivalentWhenHidden)
  142. }
  143. @(objc_type=MenuItem, objc_name="allowsAutomaticKeyEquivalentLocalization")
  144. MenuItem_allowsAutomaticKeyEquivalentLocalization :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  145. return msgSend(bool, self, "allowsAutomaticKeyEquivalentLocalization")
  146. }
  147. @(objc_type=MenuItem, objc_name="setAllowsAutomaticKeyEquivalentLocalization")
  148. MenuItem_setAllowsAutomaticKeyEquivalentLocalization :: #force_inline proc "c" (self: ^MenuItem, allowsAutomaticKeyEquivalentLocalization: bool) {
  149. msgSend(nil, self, "setAllowsAutomaticKeyEquivalentLocalization:", allowsAutomaticKeyEquivalentLocalization)
  150. }
  151. @(objc_type=MenuItem, objc_name="allowsAutomaticKeyEquivalentMirroring")
  152. MenuItem_allowsAutomaticKeyEquivalentMirroring :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  153. return msgSend(bool, self, "allowsAutomaticKeyEquivalentMirroring")
  154. }
  155. @(objc_type=MenuItem, objc_name="setAllowsAutomaticKeyEquivalentMirroring")
  156. MenuItem_setAllowsAutomaticKeyEquivalentMirroring :: #force_inline proc "c" (self: ^MenuItem, allowsAutomaticKeyEquivalentMirroring: bool) {
  157. msgSend(nil, self, "setAllowsAutomaticKeyEquivalentMirroring:", allowsAutomaticKeyEquivalentMirroring)
  158. }
  159. // @(objc_type=MenuItem, objc_name="image")
  160. // MenuItem_image :: #force_inline proc "c" (self: ^MenuItem) -> ^Image {
  161. // return msgSend(^Image, self, "image")
  162. // }
  163. // @(objc_type=MenuItem, objc_name="setImage")
  164. // MenuItem_setImage :: #force_inline proc "c" (self: ^MenuItem, image: ^Image) {
  165. // msgSend(nil, self, "setImage:", image)
  166. // }
  167. // @(objc_type=MenuItem, objc_name="state")
  168. // MenuItem_state :: #force_inline proc "c" (self: ^MenuItem) -> ControlStateValue {
  169. // return msgSend(ControlStateValue, self, "state")
  170. // }
  171. // @(objc_type=MenuItem, objc_name="setState")
  172. // MenuItem_setState :: #force_inline proc "c" (self: ^MenuItem, state: ControlStateValue) {
  173. // msgSend(nil, self, "setState:", state)
  174. // }
  175. // @(objc_type=MenuItem, objc_name="onStateImage")
  176. // MenuItem_onStateImage :: #force_inline proc "c" (self: ^MenuItem) -> ^Image {
  177. // return msgSend(^Image, self, "onStateImage")
  178. // }
  179. // @(objc_type=MenuItem, objc_name="setOnStateImage")
  180. // MenuItem_setOnStateImage :: #force_inline proc "c" (self: ^MenuItem, onStateImage: ^Image) {
  181. // msgSend(nil, self, "setOnStateImage:", onStateImage)
  182. // }
  183. // @(objc_type=MenuItem, objc_name="offStateImage")
  184. // MenuItem_offStateImage :: #force_inline proc "c" (self: ^MenuItem) -> ^Image {
  185. // return msgSend(^Image, self, "offStateImage")
  186. // }
  187. // @(objc_type=MenuItem, objc_name="setOffStateImage")
  188. // MenuItem_setOffStateImage :: #force_inline proc "c" (self: ^MenuItem, offStateImage: ^Image) {
  189. // msgSend(nil, self, "setOffStateImage:", offStateImage)
  190. // }
  191. // @(objc_type=MenuItem, objc_name="mixedStateImage")
  192. // MenuItem_mixedStateImage :: #force_inline proc "c" (self: ^MenuItem) -> ^Image {
  193. // return msgSend(^Image, self, "mixedStateImage")
  194. // }
  195. // @(objc_type=MenuItem, objc_name="setMixedStateImage")
  196. // MenuItem_setMixedStateImage :: #force_inline proc "c" (self: ^MenuItem, mixedStateImage: ^Image) {
  197. // msgSend(nil, self, "setMixedStateImage:", mixedStateImage)
  198. // }
  199. @(objc_type=MenuItem, objc_name="isEnabled")
  200. MenuItem_isEnabled :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  201. return msgSend(bool, self, "isEnabled")
  202. }
  203. @(objc_type=MenuItem, objc_name="setEnabled")
  204. MenuItem_setEnabled :: #force_inline proc "c" (self: ^MenuItem, enabled: bool) {
  205. msgSend(nil, self, "setEnabled:", enabled)
  206. }
  207. @(objc_type=MenuItem, objc_name="isAlternate")
  208. MenuItem_isAlternate :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  209. return msgSend(bool, self, "isAlternate")
  210. }
  211. @(objc_type=MenuItem, objc_name="setAlternate")
  212. MenuItem_setAlternate :: #force_inline proc "c" (self: ^MenuItem, alternate: bool) {
  213. msgSend(nil, self, "setAlternate:", alternate)
  214. }
  215. @(objc_type=MenuItem, objc_name="indentationLevel")
  216. MenuItem_indentationLevel :: #force_inline proc "c" (self: ^MenuItem) -> Integer {
  217. return msgSend(Integer, self, "indentationLevel")
  218. }
  219. @(objc_type=MenuItem, objc_name="setIndentationLevel")
  220. MenuItem_setIndentationLevel :: #force_inline proc "c" (self: ^MenuItem, indentationLevel: Integer) {
  221. msgSend(nil, self, "setIndentationLevel:", indentationLevel)
  222. }
  223. @(objc_type=MenuItem, objc_name="target")
  224. MenuItem_target :: #force_inline proc "c" (self: ^MenuItem) -> id {
  225. return msgSend(id, self, "target")
  226. }
  227. @(objc_type=MenuItem, objc_name="setTarget")
  228. MenuItem_setTarget :: #force_inline proc "c" (self: ^MenuItem, target: id) {
  229. msgSend(nil, self, "setTarget:", target)
  230. }
  231. @(objc_type=MenuItem, objc_name="action")
  232. MenuItem_action :: #force_inline proc "c" (self: ^MenuItem) -> SEL {
  233. return msgSend(SEL, self, "action")
  234. }
  235. @(objc_type=MenuItem, objc_name="setAction")
  236. MenuItem_setAction :: #force_inline proc "c" (self: ^MenuItem, action: SEL) {
  237. msgSend(nil, self, "setAction:", action)
  238. }
  239. @(objc_type=MenuItem, objc_name="tag")
  240. MenuItem_tag :: #force_inline proc "c" (self: ^MenuItem) -> Integer {
  241. return msgSend(Integer, self, "tag")
  242. }
  243. @(objc_type=MenuItem, objc_name="setTag")
  244. MenuItem_setTag :: #force_inline proc "c" (self: ^MenuItem, tag: Integer) {
  245. msgSend(nil, self, "setTag:", tag)
  246. }
  247. @(objc_type=MenuItem, objc_name="representedObject")
  248. MenuItem_representedObject :: #force_inline proc "c" (self: ^MenuItem) -> id {
  249. return msgSend(id, self, "representedObject")
  250. }
  251. @(objc_type=MenuItem, objc_name="setRepresentedObject")
  252. MenuItem_setRepresentedObject :: #force_inline proc "c" (self: ^MenuItem, representedObject: id) {
  253. msgSend(nil, self, "setRepresentedObject:", representedObject)
  254. }
  255. @(objc_type=MenuItem, objc_name="view")
  256. MenuItem_view :: #force_inline proc "c" (self: ^MenuItem) -> ^View {
  257. return msgSend(^View, self, "view")
  258. }
  259. @(objc_type=MenuItem, objc_name="setView")
  260. MenuItem_setView :: #force_inline proc "c" (self: ^MenuItem, view: ^View) {
  261. msgSend(nil, self, "setView:", view)
  262. }
  263. @(objc_type=MenuItem, objc_name="isHighlighted")
  264. MenuItem_isHighlighted :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  265. return msgSend(bool, self, "isHighlighted")
  266. }
  267. @(objc_type=MenuItem, objc_name="isHidden")
  268. MenuItem_isHidden :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  269. return msgSend(bool, self, "isHidden")
  270. }
  271. @(objc_type=MenuItem, objc_name="setHidden")
  272. MenuItem_setHidden :: #force_inline proc "c" (self: ^MenuItem, hidden: bool) {
  273. msgSend(nil, self, "setHidden:", hidden)
  274. }
  275. @(objc_type=MenuItem, objc_name="isHiddenOrHasHiddenAncestor")
  276. MenuItem_isHiddenOrHasHiddenAncestor :: #force_inline proc "c" (self: ^MenuItem) -> bool {
  277. return msgSend(bool, self, "isHiddenOrHasHiddenAncestor")
  278. }
  279. @(objc_type=MenuItem, objc_name="toolTip")
  280. MenuItem_toolTip :: #force_inline proc "c" (self: ^MenuItem) -> ^String {
  281. return msgSend(^String, self, "toolTip")
  282. }
  283. @(objc_type=MenuItem, objc_name="setToolTip")
  284. MenuItem_setToolTip :: #force_inline proc "c" (self: ^MenuItem, toolTip: ^String) {
  285. msgSend(nil, self, "setToolTip:", toolTip)
  286. }
  287. // @(objc_type=MenuItem, objc_name="badge")
  288. // MenuItem_badge :: #force_inline proc "c" (self: ^MenuItem) -> ^MenuItemBadge {
  289. // return msgSend(^MenuItemBadge, self, "badge")
  290. // }
  291. // @(objc_type=MenuItem, objc_name="setBadge")
  292. // MenuItem_setBadge :: #force_inline proc "c" (self: ^MenuItem, badge: ^MenuItemBadge) {
  293. // msgSend(nil, self, "setBadge:", badge)
  294. // }
  295. @(objc_type=MenuItem, objc_name="setMnemonicLocation")
  296. MenuItem_setMnemonicLocation :: #force_inline proc "c" (self: ^MenuItem, location: UInteger) {
  297. msgSend(nil, self, "setMnemonicLocation:", location)
  298. }
  299. @(objc_type=MenuItem, objc_name="mnemonicLocation")
  300. MenuItem_mnemonicLocation :: #force_inline proc "c" (self: ^MenuItem) -> UInteger {
  301. return msgSend(UInteger, self, "mnemonicLocation")
  302. }
  303. @(objc_type=MenuItem, objc_name="mnemonic")
  304. MenuItem_mnemonic :: #force_inline proc "c" (self: ^MenuItem) -> ^String {
  305. return msgSend(^String, self, "mnemonic")
  306. }
  307. @(objc_type=MenuItem, objc_name="setTitleWithMnemonic")
  308. MenuItem_setTitleWithMnemonic :: #force_inline proc "c" (self: ^MenuItem, stringWithAmpersand: ^String) {
  309. msgSend(nil, self, "setTitleWithMnemonic:", stringWithAmpersand)
  310. }
  311. @(objc_type=MenuItem, objc_name="load", objc_is_class_method=true)
  312. MenuItem_load :: #force_inline proc "c" () {
  313. msgSend(nil, MenuItem, "load")
  314. }
  315. @(objc_type=MenuItem, objc_name="initialize", objc_is_class_method=true)
  316. MenuItem_initialize :: #force_inline proc "c" () {
  317. msgSend(nil, MenuItem, "initialize")
  318. }
  319. @(objc_type=MenuItem, objc_name="new", objc_is_class_method=true)
  320. MenuItem_new :: #force_inline proc "c" () -> ^MenuItem {
  321. return msgSend(^MenuItem, MenuItem, "new")
  322. }
  323. @(objc_type=MenuItem, objc_name="allocWithZone", objc_is_class_method=true)
  324. MenuItem_allocWithZone :: #force_inline proc "c" (zone: ^Zone) -> ^MenuItem {
  325. return msgSend(^MenuItem, MenuItem, "allocWithZone:", zone)
  326. }
  327. @(objc_type=MenuItem, objc_name="alloc", objc_is_class_method=true)
  328. MenuItem_alloc :: #force_inline proc "c" () -> ^MenuItem {
  329. return msgSend(^MenuItem, MenuItem, "alloc")
  330. }
  331. @(objc_type=MenuItem, objc_name="copyWithZone", objc_is_class_method=true)
  332. MenuItem_copyWithZone :: #force_inline proc "c" (zone: ^Zone) -> id {
  333. return msgSend(id, MenuItem, "copyWithZone:", zone)
  334. }
  335. @(objc_type=MenuItem, objc_name="mutableCopyWithZone", objc_is_class_method=true)
  336. MenuItem_mutableCopyWithZone :: #force_inline proc "c" (zone: ^Zone) -> id {
  337. return msgSend(id, MenuItem, "mutableCopyWithZone:", zone)
  338. }
  339. @(objc_type=MenuItem, objc_name="instancesRespondToSelector", objc_is_class_method=true)
  340. MenuItem_instancesRespondToSelector :: #force_inline proc "c" (aSelector: SEL) -> bool {
  341. return msgSend(bool, MenuItem, "instancesRespondToSelector:", aSelector)
  342. }
  343. @(objc_type=MenuItem, objc_name="conformsToProtocol", objc_is_class_method=true)
  344. MenuItem_conformsToProtocol :: #force_inline proc "c" (protocol: ^Protocol) -> bool {
  345. return msgSend(bool, MenuItem, "conformsToProtocol:", protocol)
  346. }
  347. @(objc_type=MenuItem, objc_name="instanceMethodForSelector", objc_is_class_method=true)
  348. MenuItem_instanceMethodForSelector :: #force_inline proc "c" (aSelector: SEL) -> IMP {
  349. return msgSend(IMP, MenuItem, "instanceMethodForSelector:", aSelector)
  350. }
  351. // @(objc_type=MenuItem, objc_name="instanceMethodSignatureForSelector", objc_is_class_method=true)
  352. // MenuItem_instanceMethodSignatureForSelector :: #force_inline proc "c" (aSelector: SEL) -> ^MethodSignature {
  353. // return msgSend(^MethodSignature, MenuItem, "instanceMethodSignatureForSelector:", aSelector)
  354. // }
  355. @(objc_type=MenuItem, objc_name="isSubclassOfClass", objc_is_class_method=true)
  356. MenuItem_isSubclassOfClass :: #force_inline proc "c" (aClass: Class) -> bool {
  357. return msgSend(bool, MenuItem, "isSubclassOfClass:", aClass)
  358. }
  359. @(objc_type=MenuItem, objc_name="resolveClassMethod", objc_is_class_method=true)
  360. MenuItem_resolveClassMethod :: #force_inline proc "c" (sel: SEL) -> bool {
  361. return msgSend(bool, MenuItem, "resolveClassMethod:", sel)
  362. }
  363. @(objc_type=MenuItem, objc_name="resolveInstanceMethod", objc_is_class_method=true)
  364. MenuItem_resolveInstanceMethod :: #force_inline proc "c" (sel: SEL) -> bool {
  365. return msgSend(bool, MenuItem, "resolveInstanceMethod:", sel)
  366. }
  367. @(objc_type=MenuItem, objc_name="hash", objc_is_class_method=true)
  368. MenuItem_hash :: #force_inline proc "c" () -> UInteger {
  369. return msgSend(UInteger, MenuItem, "hash")
  370. }
  371. @(objc_type=MenuItem, objc_name="superclass", objc_is_class_method=true)
  372. MenuItem_superclass :: #force_inline proc "c" () -> Class {
  373. return msgSend(Class, MenuItem, "superclass")
  374. }
  375. @(objc_type=MenuItem, objc_name="class", objc_is_class_method=true)
  376. MenuItem_class :: #force_inline proc "c" () -> Class {
  377. return msgSend(Class, MenuItem, "class")
  378. }
  379. @(objc_type=MenuItem, objc_name="description", objc_is_class_method=true)
  380. MenuItem_description :: #force_inline proc "c" () -> ^String {
  381. return msgSend(^String, MenuItem, "description")
  382. }
  383. @(objc_type=MenuItem, objc_name="debugDescription", objc_is_class_method=true)
  384. MenuItem_debugDescription :: #force_inline proc "c" () -> ^String {
  385. return msgSend(^String, MenuItem, "debugDescription")
  386. }
  387. @(objc_type=MenuItem, objc_name="version", objc_is_class_method=true)
  388. MenuItem_version :: #force_inline proc "c" () -> Integer {
  389. return msgSend(Integer, MenuItem, "version")
  390. }
  391. @(objc_type=MenuItem, objc_name="setVersion", objc_is_class_method=true)
  392. MenuItem_setVersion :: #force_inline proc "c" (aVersion: Integer) {
  393. msgSend(nil, MenuItem, "setVersion:", aVersion)
  394. }
  395. @(objc_type=MenuItem, objc_name="poseAsClass", objc_is_class_method=true)
  396. MenuItem_poseAsClass :: #force_inline proc "c" (aClass: Class) {
  397. msgSend(nil, MenuItem, "poseAsClass:", aClass)
  398. }
  399. @(objc_type=MenuItem, objc_name="cancelPreviousPerformRequestsWithTarget_selector_object", objc_is_class_method=true)
  400. MenuItem_cancelPreviousPerformRequestsWithTarget_selector_object :: #force_inline proc "c" (aTarget: id, aSelector: SEL, anArgument: id) {
  401. msgSend(nil, MenuItem, "cancelPreviousPerformRequestsWithTarget:selector:object:", aTarget, aSelector, anArgument)
  402. }
  403. @(objc_type=MenuItem, objc_name="cancelPreviousPerformRequestsWithTarget_", objc_is_class_method=true)
  404. MenuItem_cancelPreviousPerformRequestsWithTarget_ :: #force_inline proc "c" (aTarget: id) {
  405. msgSend(nil, MenuItem, "cancelPreviousPerformRequestsWithTarget:", aTarget)
  406. }
  407. @(objc_type=MenuItem, objc_name="accessInstanceVariablesDirectly", objc_is_class_method=true)
  408. MenuItem_accessInstanceVariablesDirectly :: #force_inline proc "c" () -> bool {
  409. return msgSend(bool, MenuItem, "accessInstanceVariablesDirectly")
  410. }
  411. @(objc_type=MenuItem, objc_name="useStoredAccessor", objc_is_class_method=true)
  412. MenuItem_useStoredAccessor :: #force_inline proc "c" () -> bool {
  413. return msgSend(bool, MenuItem, "useStoredAccessor")
  414. }
  415. @(objc_type=MenuItem, objc_name="keyPathsForValuesAffectingValueForKey", objc_is_class_method=true)
  416. MenuItem_keyPathsForValuesAffectingValueForKey :: #force_inline proc "c" (key: ^String) -> ^Set {
  417. return msgSend(^Set, MenuItem, "keyPathsForValuesAffectingValueForKey:", key)
  418. }
  419. @(objc_type=MenuItem, objc_name="automaticallyNotifiesObserversForKey", objc_is_class_method=true)
  420. MenuItem_automaticallyNotifiesObserversForKey :: #force_inline proc "c" (key: ^String) -> bool {
  421. return msgSend(bool, MenuItem, "automaticallyNotifiesObserversForKey:", key)
  422. }
  423. @(objc_type=MenuItem, objc_name="setKeys", objc_is_class_method=true)
  424. MenuItem_setKeys :: #force_inline proc "c" (keys: ^Array, dependentKey: ^String) {
  425. msgSend(nil, MenuItem, "setKeys:triggerChangeNotificationsForDependentKey:", keys, dependentKey)
  426. }
  427. @(objc_type=MenuItem, objc_name="classFallbacksForKeyedArchiver", objc_is_class_method=true)
  428. MenuItem_classFallbacksForKeyedArchiver :: #force_inline proc "c" () -> ^Array {
  429. return msgSend(^Array, MenuItem, "classFallbacksForKeyedArchiver")
  430. }
  431. @(objc_type=MenuItem, objc_name="classForKeyedUnarchiver", objc_is_class_method=true)
  432. MenuItem_classForKeyedUnarchiver :: #force_inline proc "c" () -> Class {
  433. return msgSend(Class, MenuItem, "classForKeyedUnarchiver")
  434. }
  435. @(objc_type=MenuItem, objc_name="exposeBinding", objc_is_class_method=true)
  436. MenuItem_exposeBinding :: #force_inline proc "c" (binding: ^String) {
  437. msgSend(nil, MenuItem, "exposeBinding:", binding)
  438. }
  439. @(objc_type=MenuItem, objc_name="setDefaultPlaceholder", objc_is_class_method=true)
  440. MenuItem_setDefaultPlaceholder :: #force_inline proc "c" (placeholder: id, marker: id, binding: ^String) {
  441. msgSend(nil, MenuItem, "setDefaultPlaceholder:forMarker:withBinding:", placeholder, marker, binding)
  442. }
  443. @(objc_type=MenuItem, objc_name="defaultPlaceholderForMarker", objc_is_class_method=true)
  444. MenuItem_defaultPlaceholderForMarker :: #force_inline proc "c" (marker: id, binding: ^String) -> id {
  445. return msgSend(id, MenuItem, "defaultPlaceholderForMarker:withBinding:", marker, binding)
  446. }
  447. @(objc_type=MenuItem, objc_name="cancelPreviousPerformRequestsWithTarget")
  448. MenuItem_cancelPreviousPerformRequestsWithTarget :: proc {
  449. MenuItem_cancelPreviousPerformRequestsWithTarget_selector_object,
  450. MenuItem_cancelPreviousPerformRequestsWithTarget_,
  451. }