sig
  type filetree_node =
      File of string * Cil_types.global list
    | Global of Cil_types.global
  class type t =
    object
      method add_global_filter :
        text:string ->
        key:string ->
        (Cil_types.global -> bool) -> (unit -> bool) * GMenu.check_menu_item
      method add_select_function :
        (was_activated:bool ->
         activating:bool -> Filetree.filetree_node -> unit) ->
        unit
      method append_pixbuf_column :
        title:string ->
        (Cil_types.global list -> GTree.cell_properties_pixbuf list) ->
        (unit -> bool) -> [ `Contents | `Visibility ] -> unit
      method flat_mode : bool
      method get_file_globals : string -> (string * bool) list
      method model : GTree.model
      method refresh_columns : unit -> unit
      method register_reset_extension : (Filetree.t -> unit) -> unit
      method reset : unit -> unit
      method select_global : Cil_types.global -> bool
      method selected_globals : Cil_types.global list
      method set_file_attribute :
        ?strikethrough:bool -> ?text:string -> string -> unit
      method set_global_attribute :
        ?strikethrough:bool -> ?text:string -> Cil_types.varinfo -> unit
      method view : GTree.view
    end
  val make : GTree.view -> Filetree.t
end