]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/gTopLevel/termViewer.mli
Merge of the V7_3_new_exportation branch.
[helm.git] / helm / gTopLevel / termViewer.mli
diff --git a/helm/gTopLevel/termViewer.mli b/helm/gTopLevel/termViewer.mli
new file mode 100644 (file)
index 0000000..c043f5c
--- /dev/null
@@ -0,0 +1,100 @@
+(* Copyright (C) 2000-2002, HELM Team.
+ * 
+ * This file is part of HELM, an Hypertextual, Electronic
+ * Library of Mathematics, developed at the Computer Science
+ * Department, University of Bologna, Italy.
+ * 
+ * HELM is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * HELM is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HELM; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA  02111-1307, USA.
+ * 
+ * For details, see the HELM World-Wide-Web page,
+ * http://cs.unibo.it/helm/.
+ *)
+
+(******************************************************************************)
+(*                                                                            *)
+(*                               PROJECT HELM                                 *)
+(*                                                                            *)
+(*                Claudio Sacerdoti Coen <sacerdot@cs.unibo.it>               *)
+(*                                 29/01/2003                                 *)
+(*                                                                            *)
+(*                                                                            *)
+(******************************************************************************)
+
+(** A widget to render sequents **)
+
+class sequent_viewer :
+  Gtk_mathview.math_view Gtk.obj ->
+  object
+    inherit GMathViewAux.multi_selection_math_view
+
+    (* returns the list of selected terms         *)
+    (* selections which are not terms are ignored *)
+    method get_selected_terms : Cic.term list
+
+    (* returns the list of selected hypotheses         *)
+    (* selections which are not hypotheses are ignored *)
+    method get_selected_hypotheses : Cic.hypothesis list
+
+    method load_sequent : Cic.metasenv -> Cic.conjecture -> unit
+  end
+
+val sequent_viewer :
+  ?adjustmenth:GData.adjustment ->
+  ?adjustmentv:GData.adjustment ->
+  ?font_size:int ->
+  ?font_manager:[ `font_manager_gtk | `font_manager_t1] ->
+  ?border_width:int ->
+  ?width:int ->
+  ?height:int ->
+  ?packing:(GObj.widget -> unit) ->
+  ?show:bool ->
+  unit -> sequent_viewer
+
+(** A widget to render proofs **)
+
+class proof_viewer :
+  Gtk_mathview.math_view Gtk.obj ->
+  object
+    inherit GMathViewAux.single_selection_math_view
+
+    (* the new current sequent becomes the one obtained *)
+    (* perforating the proof where the selection is     *)
+    method make_sequent_of_selected_term : unit
+
+    (* the new current sequent becomes the one obtained *)
+    (* focusing the proof on the selected metavariable  *)
+    method focus_sequent_of_selected_term : unit
+
+    (* load_proof also returns the annotated cic term and the *)
+    (* ids_to_inner_types and ids_to_inner_sorts maps.        *)
+    method load_proof :
+     UriManager.uri -> Cic.obj ->
+      Cic.annobj * (Cic.id, Cic2acic.anntypes) Hashtbl.t *
+       (Cic.id, string) Hashtbl.t
+
+  end
+
+val proof_viewer :
+  ?adjustmenth:GData.adjustment ->
+  ?adjustmentv:GData.adjustment ->
+  ?font_size:int ->
+  ?font_manager:[ `font_manager_gtk | `font_manager_t1] ->
+  ?border_width:int ->
+  ?width:int ->
+  ?height:int ->
+  ?packing:(GObj.widget -> unit) ->
+  ?show:bool ->
+  unit -> proof_viewer