sig
  class progress_bar :
    Gtk.progress_bar Gtk.obj ->
    object
      val obj : Gtk.progress_bar Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : GObj.widget_signals
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method ellipsize : PangoEnums.ellipsize_mode
      method event : GObj.event_ops
      method fraction : float
      method get_oid : int
      method inverted : bool
      method misc : GObj.misc_ops
      method pulse : unit -> unit
      method pulse_step : float
      method set_ellipsize : PangoEnums.ellipsize_mode -> unit
      method set_fraction : float -> unit
      method set_inverted : bool -> unit
      method set_pulse_step : float -> unit
      method set_show_text : bool -> unit
      method set_text : string -> unit
      method show_text : bool
      method text : string
    end
  val progress_bar :
    ?pulse_step:float ->
    ?packing:(GObj.widget -> unit) ->
    ?show:bool -> unit -> GRange.progress_bar
  class range_signals :
    [> Gtk.range ] Gtk.obj ->
    object ('a)
      method adjust_bounds : callback:(float -> unit) -> GtkSignal.id
      method after : 'a
      method change_value :
        callback:(Gtk.Tags.scroll_type -> float -> unit) -> GtkSignal.id
      method destroy : callback:(unit -> unit) -> GtkSignal.id
      method move_slider :
        callback:(Gtk.Tags.scroll_type -> unit) -> GtkSignal.id
      method notify_adjustment :
        callback:(GData.adjustment -> unit) -> GtkSignal.id
      method notify_fill_level : callback:(float -> unit) -> GtkSignal.id
      method notify_inverted : callback:(bool -> unit) -> GtkSignal.id
      method notify_lower_stepper_sensitivity :
        callback:(Gtk.Tags.sensitivity_type -> unit) -> GtkSignal.id
      method notify_restrict_to_fill_level :
        callback:(bool -> unit) -> GtkSignal.id
      method notify_round_digits : callback:(int -> unit) -> GtkSignal.id
      method notify_show_fill_level : callback:(bool -> unit) -> GtkSignal.id
      method notify_upper_stepper_sensitivity :
        callback:(Gtk.Tags.sensitivity_type -> unit) -> GtkSignal.id
      method value_changed : callback:(unit -> unit) -> GtkSignal.id
    end
  class range :
    ([> Gtk.range ] as 'a) Gtk.obj ->
    object
      val obj : 'Gtk.obj
      method adjustment : GData.adjustment
      method as_range : Gtk.range Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : GRange.range_signals
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method event : GObj.event_ops
      method fill_level : float
      method get_oid : int
      method inverted : bool
      method lower_stepper_sensitivity : Gtk.Tags.sensitivity_type
      method misc : GObj.misc_ops
      method restrict_to_fill_level : bool
      method round_digits : int
      method set_adjustment : GData.adjustment -> unit
      method set_fill_level : float -> unit
      method set_inverted : bool -> unit
      method set_lower_stepper_sensitivity :
        Gtk.Tags.sensitivity_type -> unit
      method set_restrict_to_fill_level : bool -> unit
      method set_round_digits : int -> unit
      method set_show_fill_level : bool -> unit
      method set_upper_stepper_sensitivity :
        Gtk.Tags.sensitivity_type -> unit
      method show_fill_level : bool
      method upper_stepper_sensitivity : Gtk.Tags.sensitivity_type
    end
  class scale :
    Gtk.scale Gtk.obj ->
    object
      val obj : Gtk.scale Gtk.obj
      method adjustment : GData.adjustment
      method as_range : Gtk.range Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : range_signals
      method destroy : unit -> unit
      method digits : int
      method drag : GObj.drag_ops
      method draw_value : bool
      method event : GObj.event_ops
      method fill_level : float
      method get_oid : int
      method has_origin : bool
      method inverted : bool
      method lower_stepper_sensitivity : Gtk.Tags.sensitivity_type
      method misc : GObj.misc_ops
      method restrict_to_fill_level : bool
      method round_digits : int
      method set_adjustment : GData.adjustment -> unit
      method set_digits : int -> unit
      method set_draw_value : bool -> unit
      method set_fill_level : float -> unit
      method set_has_origin : bool -> unit
      method set_inverted : bool -> unit
      method set_lower_stepper_sensitivity :
        Gtk.Tags.sensitivity_type -> unit
      method set_restrict_to_fill_level : bool -> unit
      method set_round_digits : int -> unit
      method set_show_fill_level : bool -> unit
      method set_upper_stepper_sensitivity :
        Gtk.Tags.sensitivity_type -> unit
      method set_value_pos : Gtk.Tags.position_type -> unit
      method show_fill_level : bool
      method upper_stepper_sensitivity : Gtk.Tags.sensitivity_type
      method value_pos : Gtk.Tags.position_type
    end
  val scale :
    Gtk.Tags.orientation ->
    ?adjustment:GData.adjustment ->
    ?digits:int ->
    ?draw_value:bool ->
    ?has_origin:bool ->
    ?value_pos:Gtk.Tags.position_type ->
    ?fill_level:float ->
    ?inverted:bool ->
    ?restrict_to_fill_level:bool ->
    ?round_digits:int ->
    ?show_fill_level:bool ->
    ?lower_stepper_sensitivity:Gtk.Tags.sensitivity_type ->
    ?upper_stepper_sensitivity:Gtk.Tags.sensitivity_type ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GRange.scale
  val scrollbar :
    Gtk.Tags.orientation ->
    ?adjustment:GData.adjustment ->
    ?fill_level:float ->
    ?inverted:bool ->
    ?restrict_to_fill_level:bool ->
    ?round_digits:int ->
    ?show_fill_level:bool ->
    ?lower_stepper_sensitivity:Gtk.Tags.sensitivity_type ->
    ?upper_stepper_sensitivity:Gtk.Tags.sensitivity_type ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GRange.range
end