Blame builtin/selection_handle_set.ml
|
Packit |
bd2e5d |
##ifdef CAMLTK
|
|
Packit |
bd2e5d |
|
|
Packit |
bd2e5d |
(* The function *must* use tkreturn *)
|
|
Packit |
bd2e5d |
let handle_set opts w cmd =
|
|
Packit |
bd2e5d |
tkCommand [|
|
|
Packit |
bd2e5d |
TkToken"selection";
|
|
Packit |
bd2e5d |
TkToken"handle";
|
|
Packit |
bd2e5d |
TkTokenList
|
|
Packit |
bd2e5d |
(List.map
|
|
Packit |
bd2e5d |
(function x -> cCAMLtoTKicccm w icccm_selection_handle_table x)
|
|
Packit |
bd2e5d |
opts);
|
|
Packit |
bd2e5d |
cCAMLtoTKwidget widget_any_table w;
|
|
Packit |
bd2e5d |
let id = register_callback w (function args ->
|
|
Packit |
bd2e5d |
let (a1,args) = int_of_string (List.hd args), List.tl args in
|
|
Packit |
bd2e5d |
let (a2,args) = int_of_string (List.hd args), List.tl args in
|
|
Packit |
bd2e5d |
cmd a1 a2) in
|
|
Packit |
bd2e5d |
TkToken ("camlcb "^id)
|
|
Packit |
bd2e5d |
|]
|
|
Packit |
bd2e5d |
;;
|
|
Packit |
bd2e5d |
|
|
Packit |
bd2e5d |
##else
|
|
Packit |
bd2e5d |
|
|
Packit |
bd2e5d |
(* The function *must* use tkreturn *)
|
|
Packit |
bd2e5d |
let handle_set ~command =
|
|
Packit |
bd2e5d |
selection_handle_icccm_optionals (fun opts w ->
|
|
Packit |
bd2e5d |
tkCommand [|
|
|
Packit |
bd2e5d |
TkToken"selection";
|
|
Packit |
bd2e5d |
TkToken"handle";
|
|
Packit |
bd2e5d |
TkTokenList opts;
|
|
Packit |
bd2e5d |
cCAMLtoTKwidget w;
|
|
Packit |
bd2e5d |
let id = register_callback w ~callback:
|
|
Packit |
bd2e5d |
begin fun args ->
|
|
Packit |
bd2e5d |
let pos = int_of_string (List.hd args) in
|
|
Packit |
bd2e5d |
let len = int_of_string (List.nth args 1) in
|
|
Packit |
bd2e5d |
tkreturn (command ~pos ~len)
|
|
Packit |
bd2e5d |
end
|
|
Packit |
bd2e5d |
in TkToken ("camlcb " ^ id)
|
|
Packit |
bd2e5d |
|])
|
|
Packit |
bd2e5d |
;;
|
|
Packit |
bd2e5d |
|
|
Packit |
bd2e5d |
##endif
|