sig
  exception Error of string * int * int
  class type display_box =
    object method clear : unit method coerce : GObj.widget end
  class virtual gui_base :
    object
      method virtual bind : name:string -> callback:(unit -> unit) -> unit
      method virtual check_widgets : unit -> unit
      method virtual input_wscroll : GBin.scrolled_window
      method virtual main : GWindow.window
      method virtual output_wscroll : GBin.scrolled_window
      method virtual reparent : GObj.widget -> unit
      method virtual toplevel : GWindow.window
      method virtual vbox_code : GPack.box
      method virtual wb_execute : GButton.button
      method virtual wf_display : GBin.frame
      method virtual wf_elements : GBin.frame
      method virtual wf_output : GBin.frame
      method virtual wl_error : GMisc.label
      method virtual xml : Glade.glade_xml Gtk.obj
    end
  class virtual ['a] param :
    object
      method virtual about : unit -> unit
      method virtual bind : name:string -> callback:(unit -> unit) -> unit
      method virtual check_widgets : unit -> unit
      method virtual compare : '-> '-> int
      method display_box : Custop.display_box option
      method virtual display_elt : ('-> unit) option
      method virtual elts_columns : (string * ('-> string)) list
      method virtual execute : string -> string * ('a * int) list
      method virtual ini_file : string
      method virtual input_wscroll : GBin.scrolled_window
      method virtual main : GWindow.window
      method virtual output_wscroll : GBin.scrolled_window
      method virtual reparent : GObj.widget -> unit
      method s_color_error_background : string
      method s_color_output : string
      method s_color_user_code : string
      method s_configuration : string
      method s_display_frame_width : string
      method s_elements_frame_width : string
      method s_error : string
      method s_font_code : string
      method s_load_file : string
      method s_output_frame_height : string
      method s_save : string
      method virtual sourceview_language : string
      method virtual toplevel : GWindow.window
      method virtual vbox_code : GPack.box
      method virtual wb_execute : GButton.button
      method virtual wf_display : GBin.frame
      method virtual wf_elements : GBin.frame
      method virtual wf_output : GBin.frame
      method virtual window_title_prefix : string
      method virtual wl_error : GMisc.label
      method virtual xml : Glade.glade_xml Gtk.obj
    end
  val syntax_highlight_box :
    'Custop.param -> Configwin.parameter_kind * (unit -> unit)
  val source_view_props_box :
    unit -> Configwin.parameter_kind * (unit -> unit)
  val string_of_file : string -> string
  type 'a element = { element : 'a; pos : int; }
  class ['a] elements :
    'Custop.param ->
    GText.view ->
    object
      val mutable current_sort : int
      val mutable data : 'Custop.element list
      val mutable view : GTree.view
      method add_element : 'Custop.element -> unit
      method box : GObj.widget
      method compare : 'Custop.element -> 'Custop.element -> int
      method private connect_events : unit
      method content : 'Custop.element list
      method copy_selected : ('Custop.element list -> unit) -> unit
      method cut_selected : ('Custop.element list -> unit) -> unit
      method delete_selected : unit
      method down_selected : unit
      method edit_first_selected :
        ('Custop.element -> 'Custop.element) -> unit
      method init_cols_display :
        cols:GTree.view_column list ->
        datacol:'Custop.element GTree.column ->
        renderer:GTree.cell_renderer_text -> GTree.list_store -> unit
      method insert : ?row:Gtk.tree_iter -> 'Custop.element -> unit
      method menu : GToolbox.menu_entry list
      method on_deselect : 'Custop.element -> unit
      method on_double_click : 'Custop.element -> unit
      method on_enter : unit -> unit
      method on_select : 'Custop.element -> unit
      method paste_where_selected : 'Custop.element list -> unit
      method selection : 'Custop.element list
      method set_titles : string list -> unit
      method private sort : 'Custop.element list -> 'Custop.element list
      method up_selected : unit
      method update_data : 'Custop.element list -> unit
      method view : GTree.view
    end
  val op_ini : Config_file.group
  val save_options : string -> unit
  val load_options : string -> unit
  val color_output : Config_file.string_cp
  val color_error : Config_file.string_cp
  val elements_frame_width : Config_file.int_cp
  val display_frame_width : Config_file.int_cp
  val output_frame_height : Config_file.int_cp
  val edit_options : 'Custop.param -> bool
  class virtual gui :
    'Custop.param ->
    object
      val mutable elements : 'Custop.elements
      val mutable file : string option
      val mutable phrases : string list
      method ask_load_file : unit -> unit
      method edit_options : unit -> unit
      method execute : unit -> unit
      method execute_file : string -> unit
      method load_file : string -> unit
      method quit : unit -> unit
      method save : unit -> unit
      method save_as : unit -> unit
      method save_to_file : string -> unit
      method set_error_message : string option -> unit
      method set_widths : unit -> unit
    end
end