sig
  val cast : 'Gobject.obj -> Gtk.menu_item Gtk.obj
  module S :
    sig
      val activate : ([> `menuitem ], unit -> unit) GtkSignal.t
      val activate_item : ([> `menuitem ], unit -> unit) GtkSignal.t
    end
  val create : Gtk.menu_item Gobject.param list -> Gtk.menu_item Gtk.obj
  external set_submenu : [> `menuitem ] Gtk.obj -> [> `menu ] Gtk.obj -> 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 remove_submenu : [> `menuitem ] Gtk.obj -> unit
    = "ml_gtk_menu_item_remove_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_right_justified : [> `menuitem ] Gtk.obj -> bool -> unit
    = "ml_gtk_menu_item_set_right_justified"
  external get_right_justified : [> `menuitem ] Gtk.obj -> bool
    = "ml_gtk_menu_item_get_right_justified"
  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"
end