# Class GMenu.factory

    class [#menu_shell] factory : ?accel_group:Gtk.accel_group -> ?accel_path:string -> ?accel_modi:Gdk.Tags.modifier list -> ?accel_flags:Gtk.Tags.accel_flag list -> #menu_shell as 'a -> object .. end

A factory for menus (gtkdoc: gtk GtkItemFactory)

    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 -> check_menu_item

    method add_item : ?key:Gdk.keysym ->
           ?callback:(unit -> unit) -> ?submenu:menu -> string -> menu_item

    method add_image_item : ?image:GObj.widget ->
           ?key:Gdk.keysym ->
           ?callback:(unit -> unit) ->
           ?stock:GtkStock.id -> ?label:string -> unit -> image_menu_item

    method add_radio_item : ?group:Gtk.radio_menu_item Gtk.group ->
           ?active:bool ->
           ?key:Gdk.keysym ->
           ?callback:(bool -> unit) -> string -> radio_menu_item

    method add_separator : unit -> menu_item

    method add_submenu : ?key:Gdk.keysym -> string -> menu

    method add_tearoff : unit -> menu_item

    method private bind : ?modi:Gdk.Tags.modifier list ->
           ?key:Gdk.keysym ->
           ?callback:(unit -> unit) -> menu_item -> string -> unit

    method menu : 'a