`sig
val cast :
'a Gobject.obj -> GtkSourceView2_types.source_undo_manager Gobject.obj
module S = GtkSourceView2Props.SourceUndoManager.S
val create :
GtkSourceView2_types.source_undo_manager Gobject.param list ->
GtkSourceView2_types.source_undo_manager Gobject.obj
external can_undo : [> `sourceundomanager ] Gobject.obj -> bool
= "ml_gtk_source_undo_manager_can_undo"
external can_redo : [> `sourceundomanager ] Gobject.obj -> bool
= "ml_gtk_source_undo_manager_can_redo"
external undo : [> `sourceundomanager ] Gobject.obj -> unit
= "ml_gtk_source_undo_manager_undo"
external redo : [> `sourceundomanager ] Gobject.obj -> unit
= "ml_gtk_source_undo_manager_redo"
external begin_not_undoable_action :
[> `sourceundomanager ] Gobject.obj -> unit
= "ml_gtk_source_undo_manager_begin_not_undoable_action"
external end_not_undoable_action :
[> `sourceundomanager ] Gobject.obj -> unit
= "ml_gtk_source_undo_manager_end_not_undoable_action"
external can_undo_changed : [> `sourceundomanager ] Gobject.obj -> unit
= "ml_gtk_source_undo_manager_can_undo_changed"
external can_redo_changed : [> `sourceundomanager ] Gobject.obj -> unit
= "ml_gtk_source_undo_manager_can_redo_changed"
type undo_manager = {
can_undo : unit -> bool;
can_redo : unit -> bool;
undo : unit -> unit;
redo : unit -> unit;
begin_not_undoable_action : unit -> unit;
end_not_undoable_action : unit -> unit;
can_undo_changed : unit -> unit;
can_redo_changed : unit -> unit;
}
external new_ :
GtkSourceView2.SourceUndoManager.undo_manager ->
[ `sourceundomanager ] Gtk.obj = "ml_custom_undo_manager_new"
end`