mmlwidget#thaw
end
else if key = GdkKeysyms._BackSpace then
- Mathml_editor.drop tex_editor false ;
+ Mathml_editor.drop tex_editor
+ (List.mem `CONTROL (GdkEvent.Key.state e))
+ else if key = GdkKeysyms._v then
+ ignore (mmlwidget#misc#convert_selection "STRING" Gdk.Atom.primary);
let adj = mmlwidget#get_hadjustment in
mmlwidget#thaw ;
adj#set_value adj#upper ;
~useCapture:false
in
object(self)
+
+ 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))
+
method coerce = mmlwidget#coerce
method reset =
mmlwidget#freeze ;