sig
  val cast : 'Gobject.obj -> Gtk.menu_item Gtk.obj
  module S = GtkMenuProps.MenuItem.S
  external set_submenu :
    [> `menuitem ] Gtk.obj -> [> `menu ] Gtk.obj option -> unit
    = "ml_gtk_menu_item_set_submenu"
  external get_submenu : [> `menuitem ] Gtk.obj -> Gtk.widget Gtk.obj option
    = "ml_gtk_menu_item_get_submenu"
  external activate : [> `menuitem ] Gtk.obj -> unit
    = "ml_gtk_menu_item_activate"
  external select : [> `menuitem ] Gtk.obj -> unit
    = "ml_gtk_menu_item_select"
  external deselect : [> `menuitem ] Gtk.obj -> unit
    = "ml_gtk_menu_item_deselect"
  external set_accel_path : [> `menuitem ] Gtk.obj -> string -> unit
    = "ml_gtk_menu_item_set_accel_path"
  external toggle_size_request : [> `menuitem ] Gtk.obj -> int -> unit
    = "ml_gtk_menu_item_toggle_size_request"
  external toggle_size_allocate : [> `menuitem ] Gtk.obj -> int -> unit
    = "ml_gtk_menu_item_toggle_size_allocate"
  external create_with_label : string -> Gtk.menu_item Gtk.obj
    = "ml_gtk_menu_item_new_with_label"
  external create_with_mnemonic : string -> Gtk.menu_item Gtk.obj
    = "ml_gtk_menu_item_new_with_mnemonic"
  external separator_create : unit -> Gtk.menu_item Gtk.obj
    = "ml_gtk_separator_menu_item_new"
  val create :
    ?use_mnemonic:bool -> ?label:string -> unit -> Gtk.menu_item Gtk.obj
end