]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaMathView.mli
snapshot, notably:
[helm.git] / helm / matita / matitaMathView.mli
index 51a1743f6c07225c28c29a818f93b292b16090af..04d96befeb8cc0a16cb1cbf79be51ba4c2c4c1fd 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
-val sequent_viewer :
-  mml_of_cic_sequent:MatitaTypes.mml_of_cic_sequent ->
-  ?packing:(GObj.widget -> unit) -> ?show:bool ->
+  (** multi selection gtkMathView which handle mactions and hyperlinks. Mactions
+  * are handled internally. Hyperlinks are handled by calling an user provided
+  * callback *)
+class type clickable_math_view =
+  object
+    inherit GMathViewAux.multi_selection_math_view
+
+      (** set hyperlink callback. None disable hyperlink handling *)
+    method set_href_callback: (UriManager.uri -> unit) option -> unit
+  end
+
+class type proof_viewer =
+  object
+    inherit clickable_math_view
+
+    method load_proof: StatefulProofEngine.proof_status -> unit
+  end
+
+class type sequent_viewer =
+  object
+    inherit clickable_math_view
+
+      (** @return the list of selected terms. Selections which are not terms are
+      * ignored *)
+    method get_selected_terms: Cic.term list
+
+      (** @return the list of selected hypothese. Selections which are not
+      * hypotheses are ignored *)
+    method get_selected_hypotheses: Cic.hypothesis list
+
+      (** load a sequent and render it into parent widget *)
+    method load_sequent: Cic.metasenv -> int -> unit
+  end
+
+class type sequents_viewer =
+  object
+    method reset: unit
+    method load_sequents: Cic.metasenv -> unit
+    method goto_sequent: int -> unit  (* to be called _after_ load_sequents *)
+  end
+
+val proof_viewer:
+  ?hadjustment:GData.adjustment ->
+  ?vadjustment:GData.adjustment ->
+  ?font_size:int ->
+  ?log_verbosity:int ->
+  ?width:int ->
+  ?height:int ->
+  ?packing:(GObj.widget -> unit) ->
+  ?show:bool ->
+  unit ->
+    proof_viewer
+
+  (** singleton proof_viewer instance.
+  * Uses singleton GUI instance *)
+val proof_viewer_instance: unit -> proof_viewer
+
+val sequent_viewer:
+  ?hadjustment:GData.adjustment ->
+  ?vadjustment:GData.adjustment ->
+  ?font_size:int ->
+  ?log_verbosity:int ->
+  ?width:int ->
+  ?height:int ->
+  ?packing:(GObj.widget -> unit) ->
+  ?show:bool ->
   unit ->
-    MatitaTypes.sequent_viewer
+    sequent_viewer
 
-val proof_viewer :
-  mml_of_cic_object:MatitaTypes.mml_of_cic_object ->
-  ?packing:(GObj.widget -> unit) -> ?show:bool ->
+val sequents_viewer:
+  notebook:GPack.notebook ->
+  sequent_viewer:sequent_viewer ->
+  set_goal:(int -> unit) ->
   unit ->
-    MatitaTypes.proof_viewer
+    sequents_viewer
+
+val mathViewer: unit -> MatitaTypes.mathViewer