method create_view = fun ?(view = GTree.view ()) () ->
let name_column =
GTree.view_column ~title:"Name"
~renderer:(GTree.cell_renderer_text [], [("text", c_string)])
()
and nullable_column =
GTree.view_column ~title:"Nullable ?"
~renderer:(GTree.cell_renderer_text [], [("text", c_nullable)])
()
and type_column =
GTree.view_column ~title:"Type"
~renderer:(GTree.cell_renderer_text [], [("text", c_type)])
()
and ocaml_ty_column =
GTree.view_column ~title:"OCaml type"
~renderer:(GTree.cell_renderer_text [], [("text", c_ocaml_ty)])
()
and options_column =
GTree.view_column ~title:"Option"
~renderer:(GTree.cell_renderer_text [], [("text", c_options)])
()
in
List.iter
(fun c ->
c#set_resizable true;
i_int (view#append_column c))
[name_column; nullable_column; type_column;
ocaml_ty_column; options_column];
view#set_model (Some self#coerce);
{ col_view = view;
col_name = name_column;
col_nullable = nullable_column;
col_type = type_column;
col_ocaml_ty = ocaml_ty_column;
col_options = options_column; }