Configwin
This library offers convenient functions to create input boxes in LablGtk2 applications. The boxes can be composed of various fields of various kinds (lists, strings, booleans, colors, fonts,...) and it is also possible to define your other kind of fields to add to the existing ones.
Documentation

The documentation generated by OCamldoc can be browsed here.

Example
The following example creates a window with various input fields of various kinds.
(* Compile with
  ocamlfind ocamlc -o example.x -package lablgtk2-extras.configwin -linkpkg <this_file>
*)

let _ = GMain.Main.init ()

open Configwin

let param1 = string ~help: "a string" "a string" "a value"
let param2 = bool ~help: "bool value" "a boolean" true
let param3 = filename ~help: "a file name" "a file name" "foo"
let param4 = strings
    ~help: "a list of strings"
    ~eq: (fun _ -> fun _ -> false)
    ~add: (fun () -> ["another string" ; "and another string"])
    "a string list"
    ["foo" ; "bar"]
let param5 = color ~help: "a color" "a color" "Red"
let param6 = font ~help: "a font" "a font" "7x13bold"
let param7 = date ~help: "a date" "a date" (1, 0, 2002)
let n = ref 0
let param8 = list
    ~help: "a list of int"
    ~add: (fun () -> incr n; [!n])
    ~titles: ["n" ; "n * n"]
    "an int list" (fun n -> [string_of_int n ; string_of_int (n*n)])
    [1 ; 2 ; 3]
let param9 = filenames ~help: "a list of filenames" "filenames" []

let structure = Section_list
  ("Section 1",
   [
    Section ("Section 1.1",
             [ param1 ; param2 ; param5 ; param6 ; param7 ; param9]);
    Section ("Section 1.2",
             [ param3 ; param4 ; param8])
   ]
  )

let _ = Configwin.edit "Titre" [structure]