]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/gTopLevel/termEditor.ml
debian version 0.0.6-6
[helm.git] / helm / gTopLevel / termEditor.ml
index f034c45b15b9bc9b48ed23176a6cda65a9e18375..3a74ef05111ce88f2948052896e5ce47a9fc598e 100644 (file)
@@ -35,8 +35,6 @@
 
 open Printf
 
-open Disambiguate_types
-
 (* A WIDGET TO ENTER CIC TERMS *)
 
 class type term_editor =
@@ -50,23 +48,23 @@ class type term_editor =
    method reset : unit
    (* The input of set_term is unquoted *)
    method set_term : string -> unit
-   method id_to_uris : environment ref
+   method environment : DisambiguatingParser.EnvironmentP3.t ref
  end
 
-let empty_id_to_uris = Environment.empty
-
-module Make(C: Callbacks) =
+module Make(C:DisambiguateTypes.Callbacks) =
   struct
 
-   module Disambiguate' = Disambiguate.Make(C);;
+   module Disambiguate' = DisambiguatingParser.Make(C);;
 
    class term_editor_impl mqi_handle ?packing ?width ?height
-    ?isnotempty_callback ?share_id_to_uris_with () : term_editor
+    ?isnotempty_callback ?share_environment_with () : term_editor
    =
-    let id_to_uris =
-     match share_id_to_uris_with with
-        None -> ref empty_id_to_uris
-      | Some obj -> obj#id_to_uris
+    let environment =
+     match share_environment_with with
+        None -> ref
+          (DisambiguatingParser.EnvironmentP3.of_string
+            DisambiguatingParser.EnvironmentP3.empty)
+      | Some obj -> obj#environment
     in
     let input = GText.view ~editable:true ?width ?height ?packing () in
     let _ =
@@ -100,17 +98,18 @@ module Make(C: Callbacks) =
            | None -> None
          ) context
        in
-        let term =
-          Parser.parse_term (Stream.of_string (input#buffer#get_text ()))
-        in
-        let id_to_uris',metasenv,expr =
-          Disambiguate'.disambiguate_term mqi_handle context metasenv term
-            ~aliases:!id_to_uris
+        let environment',metasenv,expr =
+         match
+          Disambiguate'.disambiguate_term mqi_handle context metasenv
+           (input#buffer#get_text ()) !environment
+         with
+            [environment',metasenv,expr] -> environment',metasenv,expr
+          | _ -> assert false
         in
-        id_to_uris := id_to_uris';
+        environment := environment';
         (metasenv, expr)
 
-      method id_to_uris = id_to_uris
+      method environment = environment
    end
 
    let term_editor = new term_editor_impl