(* $Id$ *) open Gaux open Gtk open GtkBase open GtkButton open GObj open GContainer open GButton module Toolbar2 = struct external set_text : [>`toolbar] obj -> string -> int -> unit = "ml_gtk_toolbar2_set_text" external set_icon : [>`toolbar] obj -> [>`widget] obj -> int -> unit = "ml_gtk_toolbar2_set_icon" end class toolbar2 obj = object inherit container_full (obj : Gtk.toolbar obj) method insert_widget ?tooltip ?tooltip_private ?pos w = Toolbar.insert_widget obj (as_widget w) ?tooltip ?tooltip_private ?pos method insert_button ?text ?tooltip ?tooltip_private ?icon ?pos ?callback () = let icon = may_map icon ~f:as_widget in new button (Toolbar.insert_button obj ~kind:`BUTTON ?icon ?text ?tooltip ?tooltip_private ?pos ?callback ()) method insert_toggle_button ?text ?tooltip ?tooltip_private ?icon ?pos ?callback () = let icon = may_map icon ~f:as_widget in new toggle_button (ToggleButton.cast (Toolbar.insert_button obj ~kind:`TOGGLEBUTTON ?icon ?text ?tooltip ?tooltip_private ?pos ?callback ())) method insert_radio_button ?text ?tooltip ?tooltip_private ?icon ?pos ?callback () = let icon = may_map icon ~f:as_widget in new radio_button (RadioButton.cast (Toolbar.insert_button obj ~kind:`RADIOBUTTON ?icon ?text ?tooltip ?tooltip_private ?pos ?callback ())) method insert_space = Toolbar.insert_space obj method set_orientation = Toolbar.set_orientation obj method set_style = Toolbar.set_style obj method set_space_size = Toolbar.set_space_size obj method set_space_style = Toolbar.set_space_style obj method set_tooltips = Toolbar.set_tooltips obj method set_button_relief = Toolbar.set_button_relief obj method button_relief = Toolbar.get_button_relief obj method set_text = Toolbar2.set_text obj method set_icon (icon : widget) = Toolbar2.set_icon obj icon#as_widget end let toolbar2 ?(orientation=`HORIZONTAL) ?style ?space_size ?space_style ?tooltips ?button_relief ?border_width ?width ?height ?packing ?show () = let w = Toolbar.create orientation ?style () in Toolbar.set w ?space_size ?space_style ?tooltips ?button_relief; Container.set w ?border_width ?width ?height; pack_return (new toolbar2 w) ~packing ~show