X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Flablgtkmathview%2Ftest%2Ftest.ml;h=b0e584cae1adee29de0dbfa6521ba5e7ab945de2;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=1c077846b3c377f133934bcc65e929b93c2383d2;hpb=30321de51742b359e6186b0388c183b2adb5e36a;p=helm.git diff --git a/helm/DEVEL/lablgtkmathview/test/test.ml b/helm/DEVEL/lablgtkmathview/test/test.ml index 1c077846b..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,19 +230,34 @@ 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" ; flush stdout ;; -let get_width mathview () = - print_string ("width: " ^ string_of_int (mathview#get_width) ^ "\n") ; - flush stdout -;; - -let get_height mathview () = - print_string ("height: " ^ string_of_int (mathview#get_height) ^ "\n") ; +let get_size mathview () = + let width, height = mathview#get_size in + print_string ("width: " ^ string_of_int width ^ ", height: " ^ string_of_int height ^ "\n") ; flush stdout ;; @@ -259,20 +283,14 @@ let set_adjustments mathview () = flush stdout ;; -let get_hadjustment mathview () = - let adj = mathview#get_hadjustment in - adj#set_value ((adj#lower +. adj#upper) /. 2.0) ; +let get_adjustments mathview () = + let hadj, vadj = mathview#get_adjustments in + hadj#set_value ((hadj#lower +. hadj#upper) /. 2.0) ; + vadj#set_value ((vadj#lower +. vadj#upper) /. 2.0) ; print_string "hadjustment: SEEM TO WORK\n" ; flush stdout ;; -let get_vadjustment mathview () = - let adj = mathview#get_vadjustment in - adj#set_value ((adj#lower +. adj#upper) /. 2.0) ; - print_string "vadjustment: SEEM TO WORK\n" ; - flush stdout -;; - let get_buffer mathview () = let buffer = mathview#get_buffer in Gdk.Draw.rectangle buffer (Gdk.GC.create buffer) ~x:0 ~y:0 @@ -320,14 +338,6 @@ let get_element_at mathview () = ;; *) -let get_drawing_area mathview () = - begin - let da = mathview#get_drawing_area in - print_string ("don't know what to do with the drawing area\n") - end ; - flush stdout -;; - let _ = (GtkMain.Main.init ()) ;; @@ -339,17 +349,16 @@ 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 let button_reset_selections = GButton.button ~label:"reset_selections" ~packing:(table#attach ~left:4 ~top:3) () in -let button_get_width = GButton.button ~label:"get_width" ~packing:(table#attach ~left:0 ~top:1) () in -let button_get_height = GButton.button ~label:"get_height" ~packing:(table#attach ~left:1 ~top:1) () in +let button_get_size = GButton.button ~label:"get_size" ~packing:(table#attach ~left:0 ~top:1) () in let button_get_top = GButton.button ~label:"get_top" ~packing:(table#attach ~left:2 ~top:1) () in let button_set_top = GButton.button ~label:"set_top" ~packing:(table#attach ~left:3 ~top:1) () in let button_set_adjustments = GButton.button ~label:"set_adjustments" ~packing:(table#attach ~left:4 ~top:1) () in -let button_get_hadjustment = GButton.button ~label:"get_hadjustment" ~packing:(table#attach ~left:0 ~top:2) () in -let button_get_vadjustment = GButton.button ~label:"get_vadjustment" ~packing:(table#attach ~left:1 ~top:2) () in +let button_get_adjustments = GButton.button ~label:"get_adjustments" ~packing:(table#attach ~left:0 ~top:2) () in let button_get_buffer = GButton.button ~label:"get_buffer" ~packing:(table#attach ~left:2 ~top:2) () in let button_set_font_size = GButton.button ~label:"set_font_size" ~packing:(table#attach ~left:4 ~top:2) () in let button_get_font_size = GButton.button ~label:"get_font_size" ~packing:(table#attach ~left:0 ~top:3) () in @@ -357,21 +366,19 @@ let button_set_log_verbosity = GButton.button ~label:"set_log_verbosity" ~packin let button_get_log_verbosity = GButton.button ~label:"get_log_verbosity" ~packing:(table#attach ~left:1 ~top:4) () in let button_load_dom = GButton.button ~label:"load from DOM" ~packing:(table#attach ~left:2 ~top:5) () in (* let button_get_element_at = GButton.button ~label:"get_element_at" ~packing:(table#attach ~left:3 ~top:5) () in *) -let button_get_drawing_area = GButton.button ~label:"get_drawing_area" ~packing:(table#attach ~left:4 ~top:5) () in (* 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)) ; ignore(button_reset_selections#connect#clicked (test_reset_selections mathview)) ; -ignore(button_get_width#connect#clicked (get_width mathview)) ; -ignore(button_get_height#connect#clicked (get_height mathview)) ; +ignore(button_get_size#connect#clicked (get_size mathview)) ; ignore(button_get_top#connect#clicked (get_top mathview)) ; ignore(button_set_top#connect#clicked (set_top mathview)) ; ignore(button_set_adjustments#connect#clicked (set_adjustments mathview)) ; -ignore(button_get_hadjustment#connect#clicked (get_hadjustment mathview)) ; -ignore(button_get_vadjustment#connect#clicked (get_vadjustment mathview)) ; +ignore(button_get_adjustments#connect#clicked (get_adjustments mathview)) ; ignore(button_get_buffer#connect#clicked (get_buffer mathview)) ; ignore(button_set_font_size#connect#clicked (set_font_size mathview)) ; ignore(button_get_font_size#connect#clicked (get_font_size mathview)) ; @@ -380,9 +387,10 @@ 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)) ; *) -ignore(button_get_drawing_area#connect#clicked (get_drawing_area mathview)) ; (* Main Loop *) main_window#show () ; GMain.Main.main ()