Skip to content
This repository has been archived by the owner on Mar 2, 2022. It is now read-only.

Commit

Permalink
Fixed an issue when building menus of certain sizes.
Browse files Browse the repository at this point in the history
  • Loading branch information
eczarny committed Nov 1, 2011
1 parent 0292428 commit add1026
Showing 1 changed file with 11 additions and 13 deletions.
24 changes: 11 additions & 13 deletions nu/menu.nu
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,21 @@
(rest each:
(do (item)
(menu addItem: (create-menu item)))))
(set item (create-menu-item (tail menu-description)))
(item setSubmenu: menu)
menu)
((eq (head menu-description) 'separator)
(NSMenuItem separatorItem))
(t
(create-menu-item menu-description))))
(create-menu-item menu-description))))

(function create-menu-item (menu-item-description)
(let ((item ((NSMenuItem alloc) initWithTitle: (eval (head menu-item-description)) action: nil keyEquivalent: ""))
(rest (tail menu-item-description)))
(if rest
(rest eachPair:
(do (key value)
(cond ((eq key 'target:) (item setTarget: (eval value)))
((eq key 'action:) (item setAction: (eval value)))
((eq key 'keyEquivalent:) (item setKeyEquivalent: (eval value)))
((eq key 'keyModifier:) (item setKeyEquivalentModifierMask: (eval value)))
((eq key 'tag:) (item setTag: (eval value)))))))
item))
(rest (tail menu-item-description)))
(if rest
(rest eachPair:
(do (key value)
(cond ((eq key 'target:) (item setTarget: (eval value)))
((eq key 'action:) (item setAction: (eval value)))
((eq key 'keyEquivalent:) (item setKeyEquivalent: (eval value)))
((eq key 'keyModifier:) (item setKeyEquivalentModifierMask: (eval value)))
((eq key 'tag:) (item setTag: (eval value)))))))
item))

0 comments on commit add1026

Please sign in to comment.