8 marshaller: ('b -> GtkArgv.t -> GtkArgv.data list -> unit) }
10 val stop_emit : unit -> unit
11 (* Call [stop_emit ()] in a callback to prohibit further handling
12 of the current signal invocation, by calling [emit_stop_by_name].
13 Be careful about where you use it, since the concept of current
14 signal may be tricky. *)
17 sgn:('a, 'b) t -> callback:'b -> ?after:bool -> 'a obj -> id
18 (* You may use [stop_emit] inside the callback *)
20 external disconnect : 'a obj -> id -> unit
21 = "ml_gtk_signal_disconnect"
22 external emit_stop_by_name : 'a obj -> name:string -> unit
23 = "ml_gtk_signal_emit_stop_by_name"
24 (* Unsafe: use [stop_emit] instead. *)
25 external handler_block : 'a obj -> id -> unit
26 = "ml_gtk_signal_handler_block"
27 external handler_unblock : 'a obj -> id -> unit
28 = "ml_gtk_signal_handler_unblock"
30 (* Some marshaller functions, to build signals *)
31 val marshal_unit : (unit -> unit) -> GtkArgv.t -> GtkArgv.data list -> unit
32 val marshal_int : (int -> unit) -> GtkArgv.t -> GtkArgv.data list -> unit
34 (* Emitter functions *)
36 'a obj -> sgn:('a, 'b) t -> emitter:('a obj -> name:string -> 'b) -> 'b
37 val emit_unit : 'a obj -> sgn:('a, unit -> unit) t -> unit
38 val emit_int : 'a obj -> sgn:('a, int -> unit) t -> int -> unit
40 (* Internal functions. *)
41 val enter_callback : (unit -> unit) ref
42 val exit_callback : (unit -> unit) ref
44 val push_callback : unit -> saved_state
45 val pop_callback : saved_state -> bool