sig
  val cast : 'Gobject.obj -> Gtk.tool_item Gtk.obj
  module P :
    sig
      val is_important : ([> `toolitem ], bool) Gobject.property
      val visible_horizontal : ([> `toolitem ], bool) Gobject.property
      val visible_vertical : ([> `toolitem ], bool) Gobject.property
    end
  val create : Gtk.tool_item Gobject.param list -> Gtk.tool_item Gtk.obj
  external set_homogeneous : [> `toolitem ] Gtk.obj -> bool -> unit
    = "ml_gtk_tool_item_set_homogeneous"
  external get_homogeneous : [> `toolitem ] Gtk.obj -> bool
    = "ml_gtk_tool_item_get_homogeneous"
  external set_expand : [> `toolitem ] Gtk.obj -> bool -> unit
    = "ml_gtk_tool_item_set_expand"
  external get_expand : [> `toolitem ] Gtk.obj -> bool
    = "ml_gtk_tool_item_get_expand"
  external set_use_drag_window : [> `toolitem ] Gtk.obj -> bool -> unit
    = "ml_gtk_tool_item_set_use_drag_window"
  external get_use_drag_window : [> `toolitem ] Gtk.obj -> bool
    = "ml_gtk_tool_item_get_use_drag_window"
end