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 )
config_filesthe list of configuration files from which the theme is built. The last items will be merged with (override) the first ones. (type: list of 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
61 Method __init__ Undocumented
161 Class Method load_from_module Build a elisa.plugins.pigment.widgets.Theme object using the 'styles.conf'
204 Method update Merge in-place another theme.
213 Method merge Merge with another theme, returning a new one.
252 Method get_style_for_widget Get the style for a widget class in the specified state.
276 Method get_resource Get the named resources, doing a lookup into the plugins' defaults if not
296 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.
def __init__(self, styles_conf=None, resources_conf=None):
Undocumented
@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-08-11 20:05:11.