Class: Mynu

Inherits:
Object
  • Object
show all
Includes:
Dsl::Block
Defined in:
lib/mynu.rb,
lib/mynu/dsl.rb,
lib/mynu/menu.rb,
lib/mynu/version.rb,
lib/mynu/dsl/block.rb,
lib/mynu/menu/menu_item.rb,
lib/mynu/menu/block_menu_item.rb

Defined Under Namespace

Modules: Dsl, Menu, Version

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Dsl::Block

#item

Constructor Details

#initialize(icon = nil, menu_title = 'Mynu') ⇒ Mynu

Prepare the application



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mynu.rb', line 23

def initialize(icon = nil, menu_title = 'Mynu')
  @app = NSApplication.sharedApplication

  icon = File.join(File.dirname(__FILE__), '..', 'lib') + '/mynu/assets/logo.png' if icon.nil?

  @status_item = status_bar.statusItemWithLength(NSVariableStatusItemLength)
  @status_item.setImage NSImage.new.initWithContentsOfFile(icon)

  @menu = Menu.new
  @menu.initWithTitle menu_title
  @menu.setAutoenablesItems false
  
  @items = []
end

Instance Attribute Details

#appObject

the sharedApplication



17
18
19
# File 'lib/mynu.rb', line 17

def app
  @app
end

#itemsObject

root items



20
21
22
# File 'lib/mynu.rb', line 20

def items
  @items
end

menu container



19
20
21
# File 'lib/mynu.rb', line 19

def menu
  @menu
end

#status_itemObject

the new bar icon



18
19
20
# File 'lib/mynu.rb', line 18

def status_item
  @status_item
end

Instance Method Details

#quit(sender) ⇒ Object



43
44
45
46
# File 'lib/mynu.rb', line 43

def quit(sender)
  puts "Quitting :: Mynu"
  @app.terminate(self)
end

#runObject



38
39
40
41
# File 'lib/mynu.rb', line 38

def run
  @status_item.setMenu loadMenu
  @app.run
end