(* $Id$ *) open Gaux open Gtk open GtkBase open GtkBin open GObj open GContainer class scrolled_window obj = object inherit container_full (obj : Gtk.scrolled_window obj) method hadjustment = new GData.adjustment (ScrolledWindow.get_hadjustment obj) method vadjustment = new GData.adjustment (ScrolledWindow.get_vadjustment obj) method set_hadjustment adj = ScrolledWindow.set_hadjustment obj (GData.as_adjustment adj) method set_vadjustment adj = ScrolledWindow.set_vadjustment obj (GData.as_adjustment adj) method set_hpolicy hpolicy = ScrolledWindow.set_policy' obj ~hpolicy method set_vpolicy vpolicy = ScrolledWindow.set_policy' obj ~vpolicy method set_placement = ScrolledWindow.set_placement obj method add_with_viewport w = ScrolledWindow.add_with_viewport obj (as_widget w) end let scrolled_window ?hadjustment ?vadjustment ?hpolicy ?vpolicy ?placement ?border_width ?width ?height ?packing ?show () = let w = ScrolledWindow.create () ?hadjustment:(may_map ~f:GData.as_adjustment hadjustment) ?vadjustment:(may_map ~f:GData.as_adjustment vadjustment) in ScrolledWindow.set w ?hpolicy ?vpolicy ?placement; Container.set w ?border_width ?width ?height; pack_return (new scrolled_window w) ~packing ~show class event_box obj = object inherit container_full (obj : Gtk.event_box obj) method event = new GObj.event_ops obj end let event_box ?border_width ?width ?height ?packing ?show () = let w = EventBox.create () in Container.set w ?border_width ?width ?height; pack_return (new event_box w) ~packing ~show class handle_box_signals obj = object inherit container_signals obj method child_attached ~callback = GtkSignal.connect ~sgn:HandleBox.Signals.child_attached obj ~after ~callback:(fun obj -> callback (new widget obj)) method child_detached ~callback = GtkSignal.connect ~sgn:HandleBox.Signals.child_detached obj ~after ~callback:(fun obj -> callback (new widget obj)) end class handle_box obj = object inherit container (obj : Gtk.handle_box obj) method set_shadow_type = HandleBox.set_shadow_type obj method set_handle_position = HandleBox.set_handle_position obj method set_snap_edge = HandleBox.set_snap_edge obj method connect = new handle_box_signals obj method event = new GObj.event_ops obj end let handle_box ?border_width ?width ?height ?packing ?show () = let w = HandleBox.create () in let () = Container.set w ?border_width ?width ?height in pack_return (new handle_box w) ~packing ~show class frame_skel obj = object inherit container obj method set_label = Frame.set_label obj method set_label_align ?x ?y () = Frame.set_label_align' obj ?x ?y method set_shadow_type = Frame.set_shadow_type obj end class frame obj = object inherit frame_skel (Frame.coerce obj) method connect = new container_signals obj end let frame ?(label="") ?label_xalign ?label_yalign ?shadow_type ?border_width ?width ?height ?packing ?show () = let w = Frame.create label in Frame.set w ?label_xalign ?label_yalign ?shadow_type; Container.set w ?border_width ?width ?height; pack_return (new frame w) ~packing ~show class aspect_frame obj = object inherit frame_skel (obj : Gtk.aspect_frame obj) method connect = new container_signals obj method set_alignment ?x ?y () = AspectFrame.set obj ?xalign:x ?yalign:y method set_ratio ratio = AspectFrame.set obj ~ratio method set_obey_child obey_child = AspectFrame.set obj ~obey_child end let aspect_frame ?label ?xalign ?yalign ?ratio ?obey_child ?label_xalign ?label_yalign ?shadow_type ?border_width ?width ?height ?packing ?show () = let w = AspectFrame.create ?label ?xalign ?yalign ?ratio ?obey_child () in Frame.set w ?label_xalign ?label_yalign ?shadow_type; Container.set w ?border_width ?width ?height; pack_return (new aspect_frame w) ~packing ~show class viewport obj = object inherit container_full (obj : Gtk.viewport obj) method event = new event_ops obj method set_hadjustment adj = Viewport.set_hadjustment obj (GData.as_adjustment adj) method set_vadjustment adj = Viewport.set_vadjustment obj (GData.as_adjustment adj) method set_shadow_type = Viewport.set_shadow_type obj method hadjustment = new GData.adjustment (Viewport.get_hadjustment obj) method vadjustment = new GData.adjustment (Viewport.get_vadjustment obj) end let viewport ?hadjustment ?vadjustment ?shadow_type ?border_width ?width ?height ?packing ?show () = let w = Viewport.create () ?hadjustment:(may_map ~f:GData.as_adjustment hadjustment) ?vadjustment:(may_map ~f:GData.as_adjustment vadjustment) in may shadow_type ~f:(Viewport.set_shadow_type w); Container.set w ?border_width ?width ?height; pack_return (new viewport w) ~packing ~show class alignment obj = object inherit container_full (obj : Gtk.alignment obj) method set_alignment ?x ?y () = Alignment.set ?x ?y obj method set_scale ?x ?y () = Alignment.set ?xscale:x ?yscale:y obj end let alignment ?x ?y ?xscale ?yscale ?border_width ?width ?height ?packing ?show () = let w = Alignment.create ?x ?y ?xscale ?yscale () in Container.set w ?border_width ?width ?height; pack_return (new alignment w) ~packing ~show let alignment_cast w = new alignment (Alignment.cast w#as_widget) class socket obj = object (self) inherit container_full (obj : Gtk.socket obj) method steal = Socket.steal obj method xwindow = self#misc#realize (); Gdk.Window.get_xwindow self#misc#window end let socket ?border_width ?width ?height ?packing ?show () = let w = Socket.create () in Container.set w ?border_width ?width ?height; pack_return (new socket w) ?packing ?show