let tag_attributes_param tag =
let f_string a = [ a.att_name ; a.att_code ] in
let f_edit a =
ignore (C.simple_get Rep_messages.edit (params_for_att a));
a
in
let f_add () =
let a = { att_name = "" ; att_code = "" } in
match C.simple_get Rep_messages.edit (params_for_att a) with
C.Return_cancel -> []
| C.Return_apply
| C.Return_ok -> [a]
in
let f_eq a1 a2 = a1.att_name = a2.att_name in
let p = C.list
~f: (fun atts ->
tag.atts <- List.map (fun a -> (a.att_name, a.att_code)) atts
)
~eq: f_eq
~edit: f_edit
~add: f_add
~titles: [ Rep_messages.name ; Rep_messages.code ]
Rep_messages.attributes
f_string
(List.map (fun (n,c) -> { att_name = n ; att_code = c}) tag.atts)
in
p