]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaMathView.mli
ocaml 3.09 transition
[helm.git] / helm / matita / matitaMathView.mli
index 045555b802f14ee7f0ccf7316a55461676f44c97..f5acf63497a2c3af8099f44d9e9c4bd36a45e665 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
-  (** 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.multi_selection_math_view
-
-      (** set hyperlink callback. None disable hyperlink handling *)
-    method set_href_callback: (string -> unit) option -> unit
-    
-    method update_font_size: unit
-  end
-
-class type sequentViewer =
-  object
-    inherit clickableMathView
-
-      (** @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 sequentsViewer =
-  object
-    method reset: unit
-    method load_sequents: ProofEngineTypes.status -> unit
-    method goto_sequent: int -> unit  (* to be called _after_ load_sequents *)
-  end
-
-class type cicBrowser =
-object
-  method load: MatitaTypes.mathViewer_entry -> unit
-  (* method loadList: string list -> MatitaTypes.mathViewer_entry -> unit *)
-  method loadInput: string -> unit
-end
-
 (** {2 Constructors} *)
 
   (** meta constructor *)
@@ -81,31 +38,45 @@ type 'widget constructor =
   unit ->
     'widget
 
-val clickableMathView:  clickableMathView constructor
+val clickableMathView:  MatitaGuiTypes.clickableMathView constructor
 
-val sequentViewer:       sequentViewer constructor
+val cicMathView:        MatitaGuiTypes.cicMathView constructor
 
 val sequentsViewer:
   notebook:GPack.notebook ->
-  sequentViewer:sequentViewer ->
+  cicMathView:MatitaGuiTypes.cicMathView ->
   unit ->
-    sequentsViewer
+    MatitaGuiTypes.sequentsViewer
 
-val cicBrowser: unit -> cicBrowser
+val cicBrowser: unit -> MatitaGuiTypes.cicBrowser
 
-(** mathview wide functions *)
+(** {2 MathView wide functions} *)
+(* TODO ZACK consider exporting here a single function which return a list of
+ * MatitaGuiTypes.clickableMathView and act on them externally ... *)
 
-val increase_font_size: unit -> unit
-val decrease_font_size: unit -> unit
-val reset_font_size: unit -> unit
+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
+val update_font_sizes:    unit -> unit
+
+  (** {3 selection handling} *)
+
+  (* @return the selections of a (unspecified) math viewer *)
+val get_selections:       unit -> string list option
+
+  (* remove the selections of all math viewers *)
+val reset_selections:     unit -> unit
+
+(** {2 Singleton instances} *)
+
+val cicMathView_instance: unit -> MatitaGuiTypes.cicMathView
+val sequentsViewer_instance:  unit -> MatitaGuiTypes.sequentsViewer
 
-(** {2 singleton instances} *)
+val mathViewer:               unit -> MatitaTypes.mathViewer
 
-val sequentViewer_instance: unit -> sequentViewer
-val sequentsViewer_instance: unit -> sequentsViewer
+(** {2 Initialization} *)
 
-val mathViewer: unit -> MatitaTypes.mathViewer
+val set_gui: MatitaGuiTypes.gui -> unit