* http://helm.cs.unibo.it/
*)
-class console: ?prompt:string -> Gtk.text_view Gtk.obj ->
+type callback = string -> MatitaTypes.command_outcome
+
+ (** @param evbox event box to which keyboard shortcuts are registered; no
+ * shortcut will be registered if evbox is not given *)
+class console:
+ ?prompt:string -> ?phrase_sep:string -> ?callback:callback ->
+ ?evbox:GBin.event_box -> paned:GPack.paned -> Gtk.text_view Gtk.obj ->
object
inherit GText.view
- method read_phrase : unit -> string
+ method echo_prompt : unit -> unit
+ method echo_message : string -> unit
+ method echo_error : string -> unit
+ method clear : unit -> unit
+
+ (* console visibility handling inside VPaned *)
+
+ (** @param msg if given, show the console with a prefeed input, cursor
+ * just after it; defaults to the empty string *)
+ method show : ?msg:string -> unit -> unit
+ method hide : unit -> unit
+ method toggle : unit -> unit
+
+ method prompt : string
+ method set_prompt : string -> unit
- method echo_prompt : unit -> unit
- method echo_message : string -> unit
- method echo_error : string -> unit
+ method phrase_sep : string
+ method set_phrase_sep : string -> unit
+
+ (** override previous callback definition *)
+ method set_callback : callback -> unit
+
+ method ignore_insert_text_signal: bool -> unit
+
+ (** execute a unit -> 'a function, if it raises exceptions shows them as
+ * errors in the console.
+ * @return Some of the returned value if the given function suceeds, None
+ * otherwise *)
+ method wrap_exn : 'a. (unit -> 'a) -> 'a option
end
+ (** @param prompt user prompt (default "# ")
+ * @param phrase_sep phrase separator (default ".")
+ * @param callback callback invoked upon reading of a phrase. Callback
+ * may be invoked more than once if multiple phrases have been inserted before
+ * hitting return (default: do nothing) *)
val console :
?prompt:string ->
+ ?phrase_sep:string ->
+ ?callback:callback ->
+ ?evbox:GBin.event_box ->
+ paned:GPack.paned ->
+
?buffer:GText.buffer ->
?editable:bool ->
?cursor_visible:bool ->