# Class e.p.p.p.PigmentFrontend(Frontend, PigmentFrontendExtensionMixin):

Part of elisa.plugins.pigment.pigment_frontend View In Hierarchy

Specialised `elisa.core.components.frontend.Frontend` for the Pigment toolkit.

It creates the canvas, the viewport, and the root controller (which keeps the root of the widgets hierarchy), using values specified in the configuration.

Instance Variables | viewport | the Pigment viewport (type: `pgm.Viewport` )
| canvas | the Pigment canvas (type: `pgm.Canvas` )
| config | data from the configuration file loaded at Elisa startup, or the default (type: `elisa.core.config.Config` )
| controller | the root controller, containing the root of widget hierarchy (type: `elisa.plugins.pigment.pigment_controller.PigmentController` )
| gtk_window | Gtk window, optionnally embedding the Pigment viewport (type: `gtk.Window` )

Line # | Kind | Name | Docs
--- | --- | --- | ---
283 | Method | initialize | Initialize the component.
450 | Method | reduce_window | Undocumented
454 | Method | handle_input | Undocumented
472 | Method | set_theme | Set a new theme for the frontend.
512 | Method | get_theme | Get the current theme.
520 | Method | load_from_theme | Loads an icon from the theme into a Pigment image.
545 | Method | clean | Clean the component.

Inherited from Component (via Frontend):

Line # | Kind | Name | Docs
--- | --- | --- | ---
85 | Class | PathDescriptor | Undocumented
97 | Class Method | create | Create and initialize the component.

Inherited from Loggable (via Frontend, Component):

Line # | Kind | Name | Docs
--- | --- | --- | ---
81 | Method | __init__ | Undocumented

Inherited from PigmentFrontendExtensionMixin:

Line # | Kind | Name | Docs
--- | --- | --- | ---
51 | Method | __init__ | Undocumented
62 | Method | _load_controller_mappings | Load the controller mappings from all plugins' metadata.
73 | Method | _load_decorator_mappings | Load the controller mappings from all plugins' metadata.
84 | Method | add_controller | Add a new controller to the frontend. The controller is the one that
97 | Method | create_controller | Create a controller for the given path.
126 | Method | _store_controller | Undocumented
133 | Method | retrieve_controllers | Retrieve the list of controllers for a given path.
150 | Method | add_decorator | Add a decorator function for controllers matching path_pattern.
167 | Method | _set_frontend | Undocumented
172 | Method | _set_path | Undocumented
177 | Method | _decorator_callback | Undocumented
182 | Method | _decorator_errback | Undocumented
188 | Method | _iterate_decorators_callback | Undocumented
192 | Method | _iterate_decorators | Undocumented
218 | Method | _decorate | Undocumented

def initialize(self):
overrides elisa.core.component.Component.initialize

Initialize the component.

This method is called by `Component.create` to finish the initialization of a component.

Returns | a deferred called when a component is fully initialized (type: `twisted.internet.defer.Deferred` )

def reduce_window(self):
Undocumented
def handle_input(self, input_manager, input_event):
Undocumented
def set_theme(self, theme):
Set a new theme for the frontend.

Parameters | theme | the new theme (type: `elisa.plugins.widgets.Theme` )

def get_theme(self):
Get the current theme.

Parameters | theme | (type: `elisa.plugins.widgets.Theme` )
Returns | the current theme

def load_from_theme(self, path, image):
Loads an icon from the theme into a Pigment image.

Parameters | path | icon path to load (type: str )
| image | drawable into which the icon will be loaded (type: `pgm.Image` )

def clean(self):
overrides elisa.core.component.Component.clean

Clean the component.

This method is called when a component is not needed anymore to clean its state.

Returns | a deferred called when the component has finished cleaning its state (type: `twisted.internet.defer.Deferred` )