]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaConsole.mli
debian version 0.0.5-6
[helm.git] / helm / matita / matitaConsole.mli
index 2cbd1ffe33d33c5c6f97afbe20ed7a7b815721fe..d0d1a53d3febad4bbc31afd0451a34383666460b 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
+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:(string -> unit) ->
-  Gtk.text_view Gtk.obj ->
+  ?prompt:string -> ?phrase_sep:string -> ?callback:callback ->
+  ?evbox:GBin.event_box -> paned:GPack.paned -> Gtk.text_view Gtk.obj ->
   object
     inherit GText.view
 
     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 phrase_sep     : string
     method set_phrase_sep : string -> unit
 
       (** override previous callback definition *)
-    method set_callback   : (string -> unit) -> unit
+    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 "# ")
@@ -50,7 +72,9 @@ class console:
 val console :
   ?prompt:string ->
   ?phrase_sep:string ->
-  ?callback:(string -> unit) ->
+  ?callback:callback ->
+  ?evbox:GBin.event_box ->
+  paned:GPack.paned ->
 
   ?buffer:GText.buffer ->
   ?editable:bool ->