# File gtk/sample/gtk-demo/menus.rb, line 38
    def initialize
      super('menus')
      self.border_width = 0

      accel_group = Gtk::AccelGroup.new
      add_accel_group(accel_group)


      box1 = Gtk::VBox.new(false, 0)
      add(box1)

      menubar = Gtk::MenuBar.new
      box1.pack_start(menubar, false, true, 0)

      menu = create_menu(2, true)

      menuitem = Gtk::MenuItem.new("test\nline2")
      menuitem.submenu = menu
      menubar.append(menuitem)
      menuitem.show

      menuitem = Gtk::MenuItem.new('foo')
      menuitem.submenu = create_menu(3, true)
      menubar.append(menuitem)
      menuitem.show

      menuitem = Gtk::MenuItem.new('bar')
      menuitem.submenu = create_menu(4, true)
      menuitem.right_justified = true
      menubar.append(menuitem)
      menuitem.show

      box2 = Gtk::VBox.new(false, 10)
      box2.border_width = 10
      box1.pack_start(box2, true, true, 0)
      box2.show

      menu = create_menu(1, false)
      # menu.accel_group = accel_group

      menuitem = Gtk::SeparatorMenuItem.new
      menu.append(menuitem)
      menuitem.show

      menuitem = Gtk::CheckMenuItem.new('Accelerate Me')
      menu.append(menuitem)
      menuitem.show
      menuitem.add_accelerator('activate',
                               accel_group,
                               Gdk::Keyval::GDK_F1,
                               0,
                               Gtk::ACCEL_VISIBLE)
      menuitem = Gtk::CheckMenuItem.new('Accelerator Locked')
      menu.append(menuitem)
      menuitem.show
      menuitem.add_accelerator('activate',
                               accel_group,
                               Gdk::Keyval::GDK_F2,
                               0,
                               Gtk::ACCEL_VISIBLE | Gtk::ACCEL_LOCKED)
      menuitem = Gtk::CheckMenuItem.new('Accelerators Frozen')
      menu.append(menuitem)
      menuitem.show
      menuitem.add_accelerator('activate',
                               accel_group,
                               Gdk::Keyval::GDK_F2,
                               0,
                               Gtk::ACCEL_VISIBLE)
      menuitem.add_accelerator('activate',
                               accel_group,
                               Gdk::Keyval::GDK_F3,
                               0,
                               Gtk::ACCEL_VISIBLE)

      optionmenu = Gtk::OptionMenu.new
      optionmenu.menu = menu
      optionmenu.history = 3
      box2.pack_start(optionmenu, true, true, 0)
      optionmenu.show

      separator = Gtk::HSeparator.new
      box1.pack_start(separator, false, true, 0)
      separator.show

      box2 = Gtk::VBox.new(false, 10)
      box2.border_width = 10
      box1.pack_start(box2, false, true, 0)
      box2.show

      button = Gtk::Button.new('close')
      button.signal_connect('clicked') do
        quit
      end
      box2.pack_start(button, true, true, 0)
      button.flags = Gtk::Widget::CAN_DEFAULT
      button.grab_default
      button.show
    end