---
name: "GtkSignal"
section: "3o"
platform: "linux"
package: "liblablgtk2-ocaml-doc"
version: "2.4.0v0.2tv-8"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/GtkSignal"
---

# GtkSignal(3o)

Signals

## NAME

GtkSignal - Signals

## Module

Module   GtkSignal

## Documentation

Module **GtkSignal**\
  :  **sig end**

Signals

**=== Signals ===**

*type id*

*type* **'a** *marshaller* =  **'a -\> Gobject.Closure.argv -\> unit**

*type* **('a, 'b)** *t* = {\
  name :  **string** ;\
  classe :  **'a** ;\
  marshaller :  **'b marshaller** ;\
  }

When writing marshallers, beware that the list omits the 0th argument of argv, which is the referent object

*val stop\_emit* :  **unit -\> unit**

Call  **stop\_emit ()** in a callback to prohibit further handling of the current signal invocation, by calling  **emit\_stop\_by\_name** . Be careful about where you use it, since the concept of current signal may be tricky.

*val connect* :  **sgn:('a, 'b) t -\>** **callback:'b -\> ?after:bool -\> 'a Gobject.obj -\> id**

You may use  **stop\_emit** inside the callback

*val user\_handler* :  **(exn -\> unit) Pervasives.ref**

A hook to allow changing the behaviour of exceptions in callbacks The default behaviour of printing the exception and ignoring it is obtained when  **user\_handler** is set to  **Pervasives.raise**

*val connect\_by\_name* :  **'a Gobject.obj -\>** **name:string -\> callback:Gobject.g\_closure -\> after:bool -\> id**

*val disconnect* :  **'a Gobject.obj -\> id -\> unit**

*val emit\_stop\_by\_name* :  **'a Gobject.obj -\> name:string -\> unit**

Unsafe: use  **stop\_emit** instead.

*val handler\_block* :  **'a Gobject.obj -\> id -\> unit**

*val handler\_unblock* :  **'a Gobject.obj -\> id -\> unit**

**===** **Marshallers** **Some marshaller functions, to build signals ===**

*val marshal\_unit* :  **(unit -\> unit) marshaller**

*val marshal\_int* :  **(int -\> unit) marshaller**

*val marshal\_string* :  **(string -\> unit) marshaller**

*val marshal1* :  **'a Gobject.data\_conv -\> string -\> ('a -\> unit) marshaller**

*val marshal2* :  **'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\> string -\> ('a -\> 'b -\> unit) marshaller**

*val marshal3* :  **'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\>** **string -\> ('a -\> 'b -\> 'c -\> unit) marshaller**

*val marshal4* :  **'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\>** **'d Gobject.data\_conv -\>** **string -\> ('a -\> 'b -\> 'c -\> 'd -\> unit) marshaller**

*val marshal5* :  **'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\>** **'d Gobject.data\_conv -\>** **'e Gobject.data\_conv -\>** **string -\> ('a -\> 'b -\> 'c -\> 'd -\> 'e -\> unit) marshaller**

*val marshal6* :  **'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\>** **'d Gobject.data\_conv -\>** **'e Gobject.data\_conv -\>** **'f Gobject.data\_conv -\>** **string -\> ('a -\> 'b -\> 'c -\> 'd -\> 'e -\> 'f -\> unit) marshaller**

*val marshal0\_ret* :  **ret:'a Gobject.data\_conv -\> (unit -\> 'a) marshaller**

*val marshal1\_ret* :  **ret:'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\> string -\> ('b -\> 'a) marshaller**

*val marshal2\_ret* :  **ret:'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\> string -\> ('b -\> 'c -\> 'a) marshaller**

*val marshal3\_ret* :  **ret:'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\>** **'d Gobject.data\_conv -\> string -\> ('b -\> 'c -\> 'd -\> 'a) marshaller**

*val marshal4\_ret* :  **ret:'a Gobject.data\_conv -\>** **'b Gobject.data\_conv -\>** **'c Gobject.data\_conv -\>** **'d Gobject.data\_conv -\>** **'e Gobject.data\_conv -\>** **string -\> ('b -\> 'c -\> 'd -\> 'e -\> 'a) marshaller**

**===** **Emitter functions** **===**

*val emit* :  **'a Gobject.obj -\>** **sgn:('a, 'b) t -\>** **emitter:(cont:('c Gobject.data\_set array -\> 'd) -\> 'b) -\>** **conv:(Gobject.g\_value -\> 'd) -\> 'b**

*val emit\_unit* :  **'a Gobject.obj -\> sgn:('a, unit -\> unit) t -\> unit**

*val emit\_int* :  **'a Gobject.obj -\> sgn:('a, int -\> unit) t -\> int -\> unit**

**===** **Default handler override** **===**

*val override\_class\_closure* :  **('a, 'b) t -\> Gobject.g\_type -\> Gobject.g\_closure -\> unit**

*val chain\_from\_overridden* :  **Gobject.Closure.argv -\> unit**
