# gobject Functions

miscellaneous functions

## Synopsis

    	gobject.type_name
    	type

    	gobject.type_from_name
    	type_name

    	gobject.type_parent
    	type

    	gobject.type_is_a
    	type
    	parent_type

    	gobject.type_children
    	type

    	gobject.type_interfaces
    	type

    	gobject.type_register
    	class

    	gobject.signal_new
    	signal_name
    	type
    	flags
    	return_type
    	param_types

    	gobject.signal_list_names
    	type

    	gobject.signal_list_ids
    	type

    	gobject.signal_lookup
    	name
    	type

    	gobject.signal_name
    	signal_id

    	gobject.signal_query
    	name
    	type

    	gobject.signal_query
    	signal_id

    	gobject.list_properties
    	type

    	gobject.new
    	type
    	...

    	gobject.signal_accumulator_true_handled

    	gobject.add_emission_hook
     	type
     	name
     	callback
     	...

    	gobject.remove_emission_hook
     	type
     	name
     	hook_id

    	gobject._install_metaclass
     	metaclass

## Description

These functions are part of the `PyGTK` gobject module but are not directly associated with a specific class.

Many functions that previously were in this namespace got moved to `glib` namespace instead. They are still available in `gobject` for backward compatibility, but not documented here.

## Functions

### gobject.type_name

    	  gobject.type_name
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

The `gobject.type_name`() function returns the unique name that is assigned to the specified `type`. `type` can be a GObject type, type ID or instance. This function raises a TypeError exception if `type` isn't a `PyGTK` type.

### gobject.type_from_name

    	  gobject.type_from_name
    	  type_name

`type_name` :

  a string containing the name of a type

Returns :

  the type ID named `type_name`

The `gobject.type_from_name`() function returns the type ID of the `PyGTK` type with the name specified by `type_name`. This function raises a RuntimeError exception if no type matches `type_name`.

### gobject.type_parent

    	  gobject.type_parent
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

  the parent type ID

The `gobject.type_parent`() function returns the direct parent type ID of the specified `type`. `type` can be a GObject type, type ID or instance. If `type` has no parent, i.e. is a fundamental type, the RuntimeError exception is raised.

### gobject.type_is_a

    	  gobject.type_is_a
    	  type
    	  parent_type

`type` :

  a GObject type, type ID or instance

`parent_type` :

  a GObject type, type ID or instance

Returns :

  `TRUE` if `parent_type` is an ancestor of `type`

The `gobject.type_is_a`() function returns `TRUE` if the specified `type` is a descendant of the type specified by `parent_type`. This function also returns `TRUE` if `parent_type` is an interface and `type` conforms to it.

### gobject.type_children

    	  gobject.type_children
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

  a list of the child types of `type`

The `gobject.type_children`() function returns a list containing the child types of the specified `type`.

### gobject.type_interfaces

    	  gobject.type_interfaces
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

  a list of the interface types supported by `type`

The `gobject.type_interfaces`() function returns a list of the interface types supported by `type`. `type` can be a GObject type, type ID or instance. This function returns a RuntimeError exception if type is not a valid type or has no interfaces.

### gobject.type_register

    	  gobject.type_register
    	  class

`class` :

  a Python class that is a descendant of `gobject.GObject`

The `gobject.type_register`() function registers the specified Python `class` as a PyGTK type. class must be a descendant of `gobject.GObject`. The function generates a name for the new type.

### gobject.signal_new

    	  gobject.signal_new
    	  signal_name
    	  type
    	  flags
    	  return_type
    	  param_types

`signal_name` :

  a string containing the name of the signal

`type` :

  the object type that the signal is associated with

`flags` :

  the signal flags

`return_type` :

  the return type of the signal handler

`param_types` :

  the parameter types passed to the signal handler

Returns :

  a unique integer signal ID

The `gobject.signal_new`() function registers a signal with the specified `signal_name` for the specified object `type`. The value of `flags` is a combination of:

`gobject.SIGNAL_RUN_FIRST`

  Invoke the object method handler in the first emission stage.

`gobject.SIGNAL_RUN_LAST`

  Invoke the object method handler in the third emission stage.

`gobject.SIGNAL_RUN_CLEANUP`

  Invoke the object method handler in the last emission stage.

`gobject.SIGNAL_NO_RECURSE`

  Signals being emitted for an object while currently being in emission for this very object will not be emitted recursively, but instead cause the first emission to be restarted.

`gobject.SIGNAL_DETAILED`

  This signal supports "::detail" appendixes to the signal name upon handler connections and emissions.

`gobject.SIGNAL_ACTION`

  Action signals are signals that may freely be emitted on alive objects from user code via `gobject.emit()`() and friends, without the need of being embedded into extra code that performs pre or post emission adjustments on the object. They can also be thought of as generically callable object methods.

`gobject.SIGNAL_NO_HOOKS`

  No emissions hooks are supported for this signal.

`return_type` is the type of the return value from a signal handler and may be a gobject type, type ID or instance. The `param_types` parameter is a list of additional types that are passed to the signal handler. Each parameter type may be specified as a gobject type, type ID or instance. For example, to add a signal to the gtk.Window type called "my-signal" that calls a handler with a gtk.Button widget and an integer value and a return value that is a boolean, use:

      gobject.signal_new("my_signal", gtk.Window, gobject.SIGNAL_RUN_LAST, gobject.TYPE_BOOLEAN, (gtk.Button, gobject.TYPE_INT))

### gobject.signal_list_names

    	  gobject.signal_list_names
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

  a list of the signal names supported by `type`

The `gobject.signal_list_names`() function returns a list of the names of the signals that are supported by the specified GObject `type`

The type keyword is available in PyGTK 2.6 and above.

### gobject.signal_list_ids

    	  gobject.signal_list_ids
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

  a list of the signal ids supported by `type`

This method is available in PyGTK 2.6 and above.

The `gobject.signal_list_ids`() function returns a list of the integer ids of the signals that are supported by the GObject specified by `type`

### gobject.signal_lookup

    	  gobject.signal_lookup
    	  name
    	  type

`name` :

  the name of a signal for `type`

`type` :

  a GObject type, type ID or instance

Returns :

  the integer id of a signal supported by `type`

  or 0.

This method is available in PyGTK 2.6 and above.

The `gobject.signal_lookup`() function returns the id of the signal with the name specified by `name` that is supported by the GObject specified specified by`type`. 0 is returned if the signal is not found.

### gobject.signal_name

    	  gobject.signal_name
    	  signal_id

`signal_id` :

  an integer signal id

Returns :

  the name of the signal or `None`.

This method is available in PyGTK 2.6 and above.

The `gobject.signal_name`() function returns the name of the signal that has the signal id specified by `id`.

### gobject.signal_query

    	  gobject.signal_query
              name
    	  type

`name` :

  the name of a signal for `type`

`type` :

  a GObject type, type ID or instance

Returns :

  a 6-tuple containing signal information or `None`

This method is available in PyGTK 2.6 and above.

The `gobject.signal_query`() function returns a 6-tuple containing information about the signal with the name specified by `name` that is supported by the GObject specified by `type`. If the signal is not found `None` is returned.

The signal information 6-tuple contains:

- the integer signal id

- the signal name

- the GType that the signal is registered for

- the signal flags (see the )

- the GType of the return from the signal callback function

- a tuple containing the GTypes of the parameters that are passed to the signal callback function. Note that these may not correspond exactly to the `PyGTK` signal callback parameters.

### gobject.signal_query

    	  gobject.signal_query
              signal_id

`signal_id` :

  the integer id of a signal

Returns :

  a 6-tuple containing signal information or `None`

This method is available in PyGTK 2.6 and above.

The `gobject.signal_query`() function returns a 6-tuple containing information about the signal with the id specified by `signal_id`. If the signal is not found `None` is returned.

The signal information 6-tuple contains:

- the integer signal id

- the signal name

- the GType that the signal is registered for

- the signal flags (see the )

- the GType of the return from the signal callback function

- a tuple containing the GTypes of the parameters that are passed to the signal callback function. Note that these may not correspond exactly to the `PyGTK` signal callback parameters.

### gobject.list_properties

    	  gobject.list_properties
    	  type

`type` :

  a GObject type, type ID or instance

Returns :

  a list of the properties (as GParam objects) supported by `type`

The `gobject.list_properties`() function returns a list of the properties (as GParam objects) supported by `type`.

### gobject.new

    	  gobject.new
    	  type
    	  ...

`type` :

  a GObject type, type ID or instance

`...` :

  zero or more property-value pairs

Returns :

  a new object if the specified `type`

The `gobject.new`() function returns a new object of the specified `type`. type must specify a type that is a descendant of `gobject.GObject`. A TypeError exception is raised if `type` specifies an abstract class or a type that is not a descendant of `gobject.GObject`. A set of property-value pairs may be specified to set the value of the object's properties.

### gobject.threads_init

            gobject.threads_init

Returns :

This function is available in PyGTK 2.4 and above.

The `threads_init`() function initializes the the use of Python threading in the gobject module. This function is different than the `gtk.gdk.threads_init`() function as that function also initializes the gdk threads.

### gobject.signal_accumulator_true_handled

            gobject.signal_accumulator_true_handled

This function is available in PyGTK 2.8 and above.

The `signal_accumulator_true_handled`() function is only used as accumulator argument when registering signals.

### gobject.add_emission_hook

            gobject.add_emission_hook
     	type
     	name
     	callback
     	...

type :

  a Python GObject instance or type

name :

  a signal name

callback :

  a function

... :

  zero or more extra arguments that will be passed to callback.

Returns :

  the hook id, for later use with `gobject.signal_remove_emission_hook`().

This function is available in PyGTK 2.8 and above.

The `add_emission_hook`() function adds an emission hook for the signal specified by `name`, which will get called for any emission of that signal, independent of the instance. This is possible only for signals which don't have the `gobject.SIGNAL_NO_HOOKS` flag set.

### gobject.remove_emission_hook

            gobject.remove_emission_hook
     	type
     	name
     	hook_id

type :

  a Python GObject instance or type

name :

  a signal name

hook_id :

  the id of the emission hook as returned by the `gobject.add_emission_hook`()) function.

Returns :

This function is available in PyGTK 2.8 and above.

The `remove_emission_hook`() function deletes an emission hook.

### gobject._install_metaclass

            gobject._install_metaclass
     	metaclass

metaclass :

This function is available in PyGTK 2.10 and above.

The `_install_metaclass`() function installs the metaclass specified by `metaclass`.