]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaConsole.mli
snapshot, notably:
[helm.git] / helm / matita / matitaConsole.mli
index 1bc5f7b9515d90dd4d5be88ca4b867d45ada5c66..d0d1a53d3febad4bbc31afd0451a34383666460b 100644 (file)
  * 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 ->