X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Flablgtkmathview%2Ftest%2Ftest.ml;h=b0e584cae1adee29de0dbfa6521ba5e7ab945de2;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=3561c551c3be3a4512f926efc83840d95eff8ed2;hpb=5c99f78f510b49bc1bcf95d430c98bb18826c63f;p=helm.git diff --git a/helm/DEVEL/lablgtkmathview/test/test.ml b/helm/DEVEL/lablgtkmathview/test/test.ml index 3561c551c..b0e584cae 100644 --- a/helm/DEVEL/lablgtkmathview/test/test.ml +++ b/helm/DEVEL/lablgtkmathview/test/test.ml @@ -88,7 +88,7 @@ let selection_changed mathview (element : Gdome.element option) = flush stdout ;; -let element_over mathview (element : Gdome.element option) _ = +let element_over mathview ((element : Gdome.element option), _, _, _) = print_endline ("element_over: " ^ (match element with None -> "element_over on nothing" @@ -150,7 +150,7 @@ let rec action mathview (element : Gdome.element) = end | None -> assert false (* every element has a parent *) -let click mathview (element : Gdome.element option) _ = +let click mathview ((element : Gdome.element option), _, _, _) = let module G = Gdome in match element with None -> print_string "CLICKED ON NOTHING\n" ; flush stdout @@ -160,13 +160,22 @@ let click mathview (element : Gdome.element option) _ = () ;; - let load_uri mathview () = mathview#load_uri ~filename:"test.xml" ; print_string "load: SEEMS TO WORK\n" ; flush stdout ;; +let get_document mathview () = + (match mathview#get_document with + | None -> print_string "no document loaded\n" + | Some doc -> + let name = "out.xml" in + ignore ((Gdome.domImplementation ())#saveDocumentToFile ~doc ~name ()); + print_string ("document loaded and saved to " ^ name ^ "\n")); + flush stdout +;; + let load_doc mathview () = mathview#load_root ~root:(((Gdome.domImplementation ())#createDocumentFromURI ~uri:"test.xml" ())#get_documentElement) ; print_string "load from DOM: SEEMS TO WORK\n" ; @@ -177,7 +186,7 @@ let test_get_selection mathview () = let selection = match mathview#get_selection with Some element -> element#get_tagName#to_string - | None -> "no selection!" + | None -> "no selection! but there are " ^ (string_of_int (List.length mathview#get_selections)) ^ " multiple selections!" in print_string ("selection: " ^ selection ^ "\n") ; flush stdout @@ -221,6 +230,25 @@ let test_reset_selections (mathview : GMathViewAux.multi_selection_math_view) () mathview#set_selection None ; mathview#remove_selections +let select_over (mathview : GMathViewAux.multi_selection_math_view) = + (fun (_,_,_,state) -> + let c = function + | `SHIFT -> "shift" + | `LOCK -> "lock" + | `CONTROL -> "control" + | `MOD1 -> "mod1" + | _ -> "" + in + let msg = + String.concat "," + (List.filter (fun s -> s <> "") + (List.map c (Gdk.Convert.modifier state))) + in + if msg <> "" then begin + print_endline ("modifiers: " ^ msg); + flush stdout + end) + let unload mathview () = mathview#unload ; print_string "unload: SEEMS TO WORK\n" ; @@ -321,6 +349,7 @@ let mathview= GMathViewAux.multi_selection_math_view ~packing:sw#add ~width:50 ~ let table = GPack.table ~rows:6 ~columns:5 ~packing:vbox#pack () in let button_load = GButton.button ~label:"load" ~packing:(table#attach ~left:1 ~top:0) () in let button_unload = GButton.button ~label:"unload" ~packing:(table#attach ~left:2 ~top:0) () in +let button_get_document = GButton.button ~label:"get_document" ~packing:(table#attach ~left:1 ~top:1) () in let button_selection = GButton.button ~label:"get_selection" ~packing:(table#attach ~left:3 ~top:0) () in let button_set_selection = GButton.button ~label:"set_selection" ~packing:(table#attach ~left:4 ~top:0) () in let button_add_selection = GButton.button ~label:"add_selection" ~packing:(table#attach ~left:3 ~top:3) () in @@ -340,6 +369,7 @@ let button_load_dom = GButton.button ~label:"load from DOM" ~packing:(table#atta (* Signals connection *) ignore(button_load#connect#clicked (load_uri mathview)) ; ignore(button_unload#connect#clicked (unload mathview)) ; +ignore(button_get_document#connect#clicked (get_document mathview)) ; ignore(button_selection#connect#clicked (test_get_selection mathview)) ; ignore(button_set_selection#connect#clicked (test_set_selection mathview)) ; ignore(button_add_selection#connect#clicked (test_add_selection mathview)) ; @@ -357,7 +387,9 @@ ignore(button_get_log_verbosity#connect#clicked (get_log_verbosity mathview)) ; ignore(mathview#connect#click (click mathview)) ; ignore(mathview#connect#selection_changed (selection_changed mathview)); ignore(mathview#connect#element_over (element_over mathview)) ; +ignore(mathview#connect#select_over (select_over mathview)); ignore(button_load_dom#connect#clicked (load_doc mathview)) ; +ignore(main_window#connect#destroy (fun _ -> GMain.quit ())); (* ignore(button_get_element_at#connect#clicked (get_element_at mathview)) ; *) (* Main Loop *) main_window#show () ;