]> matita.cs.unibo.it Git - helm.git/commitdiff
* click signal changed: now the element argument is optional
authorLuca Padovani <luca.padovani@unito.it>
Fri, 21 Feb 2003 13:09:30 +0000 (13:09 +0000)
committerLuca Padovani <luca.padovani@unito.it>
Fri, 21 Feb 2003 13:09:30 +0000 (13:09 +0000)
  and if None it means the click was made on nothing. This is more
  uniform with the other signals

helm/DEVEL/lablgtkmathview/gMathView.ml
helm/DEVEL/lablgtkmathview/gMathView.mli
helm/DEVEL/lablgtkmathview/gtkMathView.ml
helm/DEVEL/lablgtkmathview/test/test.ml

index 23197b227a380498634b55b8c316e99f69b4c68d..3687c043b22d4d54cbbc72da1f327970f6f01be8 100644 (file)
@@ -45,7 +45,7 @@ class math_view_signals obj = object
     let new_click =
      let new_marshaller f x y =
       MathView.Signals.click.S.marshaller
-       (fun e s -> f (new Gdome.element e) s) x y
+       (fun e s -> f (option_element_of_option e) s) x y
      in
       { S.name = "click"; S.classe = `math_view;
         S.marshaller = new_marshaller }
index 5b9fdc803fec0608114a7e01353d6c49b3187f60..5ffffa4befc89f82f6e865aab3bd650cff19d3a5 100644 (file)
@@ -31,7 +31,8 @@ class math_view_signals :
   object ('a)
     inherit GContainer.container_signals
     val obj: 'b Gtk.obj
-    method click : callback:(Gdome.element -> int -> unit) -> GtkSignal.id
+    method click :
+      callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
     method element_over :
       callback:(Gdome.element option -> int -> unit) -> GtkSignal.id
     method select_begin :
index 394d97e1484ca9870852f0bfecc9cb170a625f78..2420c94c110f2c3ca6f2edee7d32e9a01decf82c 100644 (file)
@@ -118,7 +118,7 @@ module MathView = struct
      let marshal_click f _ =
       function
          [GtkArgv.POINTER element; GtkArgv.INT state] ->
-          f (gdome_element_of_boxed_option element) state
+          f (gdome_element_option_of_boxed_option element) state
        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_click"
      in
       { name = "click"; classe = `math_view; marshaller = marshal_click }
index 4df59756e0ab25d9dd5595a8906769af24839fb4..ca9abd84bbab42645173c0b57e0a0347c5874fdf 100644 (file)
@@ -103,11 +103,14 @@ let rec action mathview (element : Gdome.element) =
        end
      | None -> assert false (* every element has a parent *)
 
-let click mathview (element : Gdome.element) _ =
+let click mathview (element : Gdome.element option) _ =
  let module G = Gdome in
-  if not (jump element) then
-  if not (mathview#action_toggle element) then
-   ()
+  match element with
+     None -> print_string "CLICKED ON NOTHING\n" ; flush stdout
+   | Some element ->
+      if not (jump element) then
+      if not (mathview#action_toggle element) then
+       ()
 ;;