]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaMathView.mli
version 0.7.1
[helm.git] / helm / matita / matitaMathView.mli
index b7a18e920ed0b0cef08800c091979e6ad57eea8b..045555b802f14ee7f0ccf7316a55461676f44c97 100644 (file)
@@ -1,4 +1,4 @@
-(* Copyright (C) 2004, HELM Team.
+(* Copyright (C) 2004-2005, HELM Team.
  * 
  * This file is part of HELM, an Hypertextual, Electronic
  * Library of Mathematics, developed at the Computer Science
  * http://helm.cs.unibo.it/
  *)
 
-class type proof_viewer =
+  (** multi selection gtkMathView which handle mactions and hyperlinks. Mactions
+  * are handled internally. Hyperlinks are handled by calling an user provided
+  * callback *)
+class type clickableMathView =
   object
-    inherit GMathViewAux.single_selection_math_view
+    inherit GMathViewAux.multi_selection_math_view
 
-    method load_proof: StatefulProofEngine.proof_status -> unit
+      (** set hyperlink callback. None disable hyperlink handling *)
+    method set_href_callback: (string -> unit) option -> unit
+    
+    method update_font_size: unit
   end
 
-class type sequent_viewer =
+class type sequentViewer =
   object
-    inherit GMathViewAux.multi_selection_math_view
+    inherit clickableMathView
 
       (** @return the list of selected terms. Selections which are not terms are
       * ignored *)
@@ -46,30 +52,24 @@ class type sequent_viewer =
     method load_sequent: Cic.metasenv -> int -> unit
   end
 
-class type sequents_viewer =
+class type sequentsViewer =
   object
     method reset: unit
-    method load_sequents: Cic.metasenv -> unit
+    method load_sequents: ProofEngineTypes.status -> 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
+class type cicBrowser =
+object
+  method load: MatitaTypes.mathViewer_entry -> unit
+  (* method loadList: string list -> MatitaTypes.mathViewer_entry -> unit *)
+  method loadInput: string -> unit
+end
 
-  (** singleton proof_viewer instance.
-  * Uses singleton GUI instance *)
-val proof_viewer_instance: unit -> proof_viewer
+(** {2 Constructors} *)
 
-val sequent_viewer:
+  (** meta constructor *)
+type 'widget constructor =
   ?hadjustment:GData.adjustment ->
   ?vadjustment:GData.adjustment ->
   ?font_size:int ->
@@ -79,14 +79,33 @@ val sequent_viewer:
   ?packing:(GObj.widget -> unit) ->
   ?show:bool ->
   unit ->
-    sequent_viewer
+    'widget
+
+val clickableMathView:  clickableMathView constructor
+
+val sequentViewer:       sequentViewer constructor
 
-val sequents_viewer:
+val sequentsViewer:
   notebook:GPack.notebook ->
-  sequent_viewer:sequent_viewer ->
-  set_goal:(int -> unit) ->
+  sequentViewer:sequentViewer ->
   unit ->
-    sequents_viewer
+    sequentsViewer
+
+val cicBrowser: unit -> cicBrowser
+
+(** mathview wide functions *)
+
+val increase_font_size: unit -> unit
+val decrease_font_size: unit -> unit
+val reset_font_size: unit -> unit
+
+val refresh_all_browsers: unit -> unit  (** act on all cicBrowsers *)
+val update_font_sizes: unit -> unit
+
+(** {2 singleton instances} *)
+
+val sequentViewer_instance: unit -> sequentViewer
+val sequentsViewer_instance: unit -> sequentsViewer
 
 val mathViewer: unit -> MatitaTypes.mathViewer