glib.MainLoop
Prev | PyGlibClass Reference | Next

## glib.MainLoop

glib.MainLoop — an object representing the main event loop of a PyGTK application.

## Synopsis

    class glib.MainLoop:
        glib.MainLoop(context=None, is_running=0)
        def get_context()
        def is_running()
        def quit()
        def run()

## Ancestry

    +-- glib.MainLoop

## Description

`glib.MainLoop` represents a main event loop. A `glib.MainLoop` is created with the glib.MainLoop() constructor. After adding the initial event sources, the `run`() method is called. This continuously checks for new events from each of the event sources and dispatches them. Finally, the processing of an event from one of the sources leads to a call to the `quit`() method to exit the main loop, and the `run`() method returns.

It is possible to create new instances of `glib.MainLoop` recursively. This is often used in `PyGTK` applications when showing modal dialog boxes. Note that event sources are associated with a particular `glib.MainContext`, and will be checked and dispatched for all main loops associated with that `glib.MainContext`.

`PyGTK` contains wrappers of some of these functions, e.g. the `gtk.main`(), `gtk.main_quit`() and `gtk.events_pending`() functions.

## Constructor

        glib.MainLoop(context=None, is_running=None)

`context` : | a `glib.MainContext` or `None` to use the default context.
`is_running` : | if `True` indicates that the loop is running. This is not very important since calling the `run`() method will set this to `True` anyway.
Returns : | a new `glib.MainLoop` object.

Creates a new `glib.MainLoop` object.

## Methods

### glib.MainLoop.get_context

        def get_context()

Returns : | the `glib.MainContext` the mainloop is associated with

The `get_context`() method returns the `glib.MainContext` that the mainloop was created with.

### glib.MainLoop.is_running

        def is_running()

Returns : | `True` if the mainloop is currently being run.

The `is_running`() method checks to see if the mainloop is currently being run via the `run`() method.

### glib.MainLoop.quit

        def quit()

The `quit`() method stops the mainloop from running. Any subsequent calls to the `run`() method will return immediately.

### glib.MainLoop.run

        def run()

The `run`() method runs a mainloop until the `quit`() method is called. If this is called for the thread of the loop's `glib.MainContext`, it will process events from the loop, otherwise it will simply wait.

Prev | Up | Next
glib.MainContext | Home | glib Functions