1999-11-30 06:59:39 -08:00
|
|
|
open Protocol
|
|
|
|
(* Implementation of the tk_optionMenu *)
|
|
|
|
|
2000-04-11 20:43:25 -07:00
|
|
|
let create ~parent ~variable ?name values =
|
|
|
|
let w = Widget.new_atom "menubutton" ~parent ?name in
|
|
|
|
let mw = Widget.new_atom "menu" ~parent:w ~name:"menu" in
|
1999-11-30 06:59:39 -08:00
|
|
|
(* assumes .menu naming *)
|
|
|
|
let res =
|
|
|
|
tkEval [|TkToken "tk_optionMenu";
|
|
|
|
TkToken (Widget.name w);
|
|
|
|
cCAMLtoTKtextVariable variable;
|
2000-04-11 20:43:25 -07:00
|
|
|
TkTokenList (List.map ~f:(fun x -> TkToken x) values)|] in
|
1999-11-30 06:59:39 -08:00
|
|
|
if res <> Widget.name mw then
|
|
|
|
raise (TkError "internal error in Optionmenu.create")
|
|
|
|
else
|
2000-02-15 02:10:26 -08:00
|
|
|
w, mw
|