Class e.p.p.w.t.Theme(object):

Part of elisa.plugins.pigment.widgets.theme View In Hierarchy

A theme object, that adds styles to widgets properties and to stock resources.

A basic theme will be built from the default configuration files, providing necessary style information for the widgets: without that, widgets won't work.
Instance Variableswidget_stylesthe styles for the widgets, for each state (type: dict of states to elisa.plugins.pigment.widgets.Styles )
stock_resourcesthe map of resource names to file paths (type: a dict strings to strings )
fallback_themesa dictionary of plugin names to Themes, cashing information necessary to do the right fallback for missing resources (type: dictionary of strings to elisa.core.components.theme.Theme )
Line # Kind Name Docs
60 Method __init__ DOCME
153 Class Method load_from_module Build a elisa.plugins.pigment.widgets.Theme object using the 'styles.conf'
196 Method update Merge in-place another theme.
205 Method merge Merge with another theme, returning a new one.
244 Method get_style_for_widget Get the style for a widget class in the specified state.
270 Method get_resource Get the named resources, doing a lookup into the plugins' defaults if not
292 Method lookup Dynamically search for the named resource ('style' or 'resource').
346 Method __repr__ Undocumented
354 Class Method get_default Get the default theme.
364 Static Method set_default Set the default theme.
74 Method _init_styles Read the configuration file and fill up the widgets styles.
120 Method _init_resources Read the configuration file and fill up the stock resources.
def __init__(self, module_name=None, styles_conf=None, resources_conf=None):
DOCME
def _init_styles(self, styles_conf):
Read the configuration file and fill up the widgets styles.
def _init_resources(self, module_name, resources_conf):
Read the configuration file and fill up the stock resources.
@classmethod
def load_from_module(cls, module_name):
Build a elisa.plugins.pigment.widgets.Theme object using the 'styles.conf' and 'resources.conf' files found in the specified module.
Parametersmodule_namethe module to search, in the absolute dotted notation (type: string )
Returnsthe new theme, or None (type: elisa.plugins.pigment.widgets.Theme )
def update(self, other):
Merge in-place another theme.
Parametersotherthe theme from which to update (type: elisa.plugins.pigment.widgets.Theme )
def merge(self, other, inplace=False):

Merge with another theme, returning a new one.

The new theme will have all the "properties" of the current style, with replaced values from the second, plus further "properties" coming from the other theme.
Parametersotherthe theme to merge (type: elisa.plugins.pigment.widgets.Theme )
inplacewhether to build another theme, or update the current one
inplate (type: boolean )
Returnsthe new theme (type: elisa.plugins.pigment.widgets.Theme )
def get_style_for_widget(self, widget, state=const.STATE_NORMAL, search=True):
Get the style for a widget class in the specified state.
Parameterswidgetthe classname of the widget (type: string )
statethe state for which we want to retrieve the style
widget (type: int (one of elisa.plugins.pigment.widgets.const.STATE_*) )
Returnsthe associated style, or None (type: elisa.plugins.pigment.widgets.Style )
def get_resource(self, name, search=True):
Get the named resources, doing a lookup into the plugins' defaults if not found, or None.
Parametersnamethe name of the resource (type: string )
search (type: boolean )
def lookup(self, name, type, state=const.STATE_NORMAL):
Dynamically search for the named resource ('style' or 'resource').

If a suitable module is found during the search, a Theme object will be
built and cached for later use: it will be stored in a dictionary
indexed by absolute module names (in the Python dotted notation).

@param name: the full qualified name to look for
             (eg.: 'elisa.plugins.pigment.widgets.Button'
              or 'elisa.plugins.shelf.icon')
@type name: string
@param type: 'style' or 'resource'
@type type: Enum(['style', 'resource'])
@param state: the state of the widget. Only used if type == 'style'
@type state: Enum([state for state in const.STATE_*])
@returns: the found resource (filepath or style), if any
@rtype: string, or L{elisa.plugins.pigment.widgets.Style}, or None
def __repr__(self):
Undocumented
@classmethod
def get_default(cls):
Get the default theme.
@staticmethod
def set_default(theme):
Set the default theme.
API Documentation for Elisa Media Center, generated by pydoctor at 2008-10-13 19:16:17.