Sha256: fa024850dfb74b0dfb18ef804df4f594b3bdc131ea4eaaebb7ffc7ba1d1e5b70
Contents?: true
Size: 834 Bytes
Versions: 2
Compression:
Stored size: 834 Bytes
Contents
require 'swing/menu' require 'swing/menu_item' require 'swing/attr_setter' module Swing class MenuBar < javax.swing.JMenuBar include AttrSetter def initialize opts = {} set_attributes(opts) { super() } if opts[:structure] [opts[:structure]].flatten.each do |element| case element when Hash # Hash defines menu structure element.each do |menu_name, menu_structure| menu = Menu.new menu_name.to_s, :parent => self menu_structure.each do |item_name, item_action| MenuItem.new item_name.to_s, :parent => menu, &item_action end end else self.add element end end end opts[:parent].setJMenuBar self if opts[:parent] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
swing-0.0.5 | lib/swing/menu_bar.rb |
swing-0.0.3 | lib/swing/menu_bar.rb |