X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FmatitaTypes.ml;h=7468bedfadfaafe84ef7edb1bdb0cec7ae973f85;hb=ac45365fea68bc3ce11afe76bc7595e53b235777;hp=13543dbb64d081f4afd1a1a7d2f599a956a11179;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/matita/matitaTypes.ml b/helm/software/matita/matitaTypes.ml index 13543dbb6..7468bedfa 100644 --- a/helm/software/matita/matitaTypes.ml +++ b/helm/software/matita/matitaTypes.ml @@ -35,31 +35,62 @@ type abouts = [ `Blank | `Current_proof | `Us + | `Coercions + | `CoercionsFull + | `TeX + | `Grammar ] type mathViewer_entry = [ `About of abouts (* current proof *) - | `Check of string (* term *) + | `Check of string (* term *) | `Cic of Cic.term * Cic.metasenv - | `Dir of string (* "directory" in cic uris namespace *) + | `NCic of NCic.term * NCic.context * NCic.metasenv * NCic.substitution + | `Dir of string (* "directory" in cic uris namespace *) + | `HBugs of [ `Tutors ] (* list of available HBugs tutors *) + | `Metadata of [ `Deps of [`Fwd | `Back] * UriManager.uri ] | `Uri of UriManager.uri (* cic object uri *) + | `NRef of NReference.reference (* cic object uri *) | `Whelp of string * UriManager.uri list (* query and results *) + | `Univs of UriManager.uri ] let string_of_entry = function | `About `Blank -> "about:blank" | `About `Current_proof -> "about:proof" | `About `Us -> "about:us" + | `About `Coercions -> "about:coercions?tred=true" + | `About `CoercionsFull -> "about:coercions" + | `About `TeX -> "about:tex" + | `About `Grammar -> "about:grammar" | `Check _ -> "check:" | `Cic (_, _) -> "term:" + | `NCic (_, _, _, _) -> "nterm:" | `Dir uri -> uri + | `HBugs `Tutors -> "hbugs:/tutors/" + | `Metadata meta -> + "metadata:/" ^ + (match meta with + | `Deps (dir, uri) -> + "deps/" ^ + let suri = + let suri = UriManager.string_of_uri uri in + let len = String.length suri in + String.sub suri 4 (len - 4) in (* strip "cic:" prefix *) + (match dir with | `Fwd -> "forward" | `Back -> "backward") ^ suri) | `Uri uri -> UriManager.string_of_uri uri + | `NRef nref -> NReference.string_of_reference nref | `Whelp (query, _) -> query + | `Univs uri -> "univs:" ^ UriManager.string_of_uri uri let entry_of_string = function | "about:blank" -> `About `Blank | "about:proof" -> `About `Current_proof | "about:us" -> `About `Us + | "about:coercions?tred=true" -> `About `Coercions + | "about:coercions" -> `About `CoercionsFull + | "about:tex" -> `About `TeX + | "about:grammar" -> `About `Grammar | _ -> (* only about entries supported ATM *) raise (Invalid_argument "entry_of_string") @@ -71,4 +102,7 @@ class type mathViewer = method show_entry: ?reuse:bool -> mathViewer_entry -> unit method show_uri_list: ?reuse:bool -> entry:mathViewer_entry -> UriManager.uri list -> unit + method screenshot: + GrafiteTypes.status -> NCic.metasenv -> NCic.metasenv -> + NCic.substitution -> string -> unit end