module EverydayMenu::MenuBuilder

Public Instance Methods

<<(item) click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 30
def <<(item)
  @menuItems             ||= {}
  @menuItems[item.label] = item
end
[](label) click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 63
def [](label)
  @menus[label]
end
add_main_menu(menu) click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 81
def add_main_menu(menu)
  @mainMenu ||= NSMenu.new
  @mainMenu.addItem menu.menuItemFromMenu!.menuItem
end
build!() click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 67
def build!
  @menus.values.each do |menu|
    build_menu(menu)
    add_main_menu(menu) if menu.is :main_menu
    menu.runOnBuild
  end
  setupMainMenu if @mainMenu
end
build_menu(menu) click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 76
def build_menu(menu)
  context = Context.new(menu, @menuItems.dup)
  context.instance_eval(&menu.builder) if menu.builder
end
mainMenu(label, title, options = {}, &block) click to toggle source
Also aliased as: main_menu
main_menu(label, title, options = {}, &block)
Alias for: mainMenu
menu(label, title, options = {}, &block) click to toggle source
menuItem(label, title, options = {}) click to toggle source
Also aliased as: menu_item
menu_item(label, title, options = {})
Alias for: menuItem
statusbarMenu(label, title, options = {}, &block) click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 56
def statusbarMenu(label, title, options = {}, &block)
  options[:main_menu]         = false
  options[:status_item_title] = title unless options.has_key?(:status_item_title)
  @menus                      ||= {}
  @menus[label]               = Menu.create(label, title, options, &block)
end

Private Instance Methods

setupMainMenu() click to toggle source
# File lib/everyday-menu/menu_builder.rb, line 88
def setupMainMenu
  NSApp.mainMenu = @mainMenu
end