?accel_group:Gtk.accel_group ->
?accel_path:string ->
?accel_modi:Gdk.Tags.modifier list ->
?accel_flags:Gtk.Tags.accel_flag list ->
(#GMenu.menu_shell as 'a) ->
object
  val flags : Gtk.Tags.accel_flag list
  val group : Gtk.accel_group
  val m : Gdk.Tags.modifier list
  val menu_shell : 'a
  method accel_group : Gtk.accel_group
  method add_check_item :
    ?active:bool ->
    ?key:Gdk.keysym ->
    ?callback:(bool -> unit) -> string -> GMenu.check_menu_item
  method add_image_item :
    ?image:GObj.widget ->
    ?key:Gdk.keysym ->
    ?callback:(unit -> unit) ->
    ?stock:GtkStock.id -> ?label:string -> unit -> GMenu.image_menu_item
  method add_item :
    ?key:Gdk.keysym ->
    ?callback:(unit -> unit) ->
    ?submenu:GMenu.menu -> string -> GMenu.menu_item
  method add_radio_item :
    ?group:Gtk.radio_menu_item Gtk.group ->
    ?active:bool ->
    ?key:Gdk.keysym ->
    ?callback:(bool -> unit) -> string -> GMenu.radio_menu_item
  method add_separator : unit -> GMenu.menu_item
  method add_submenu : ?key:Gdk.keysym -> string -> GMenu.menu
  method add_tearoff : unit -> GMenu.menu_item
  method private bind :
    ?modi:Gdk.Tags.modifier list ->
    ?key:Gdk.keysym ->
    ?callback:(unit -> unit) -> GMenu.menu_item -> string -> unit
  method menu : 'a
end