let set_cell w ?text ?pixmap ?mask ?(spacing=0) ?style row col =
    begin match text, pixmap with
    | Some text, None ->
        set_text w row col text
    | NoneSome pm ->
        set_pixmap w row col pm (Gpointer.optboxed mask)
    | Some text, Some pm ->
        set_pixtext w row col text spacing pm (Gpointer.optboxed mask)
    | _ -> ()
    end;
    may style ~f:(set_cell_style w row col)