+
+ initializer
+ ignore (mmlwidget#misc#connect#selection_received
+ ~callback: (fun selection_data ~time ->
+ let input = try selection_data#data with Gpointer.Null -> "" in
+ mmlwidget#freeze ;
+ ignore (Mathml_editor.freeze tex_editor) ;
+ for i = 0 to String.length input - 1 do
+ Mathml_editor.push tex_editor input.[i]
+ done;
+ ignore (Mathml_editor.thaw tex_editor) ;
+ mmlwidget#thaw))
+