Package elisa :: Package core :: Module backend :: Class Backend
[hide private]
[frames] | no frames]

Class Backend

source code


A backend holds all the data that has to be rendered in order to display a complete Elisa user interface. It does so by storing a tree of elisa.base_components.controller.Controllers and keeping track of the focus amongst them.

Multiple elisa.core.frontend.Frontends can be connected to a backend through the elisa.core.interface_controller.InterfaceController and render the content of the tree of controllers.

elisa.base_components.input_provider.InputProviders can be associated with a backend so that all the elisa.core.input_event.InputEvents are passed on to the backend's tree of controllers. Input events are forwarded to the controller that has the focus: focused_controller.

Nested Classes [hide private]
  __metaclass__
Instance Methods [hide private]
 
__init__(self, mvc_config='frontend') source code
 
root_controller__set(self, controller) source code
 
root_controller__get(self) source code
 
focused_controller__get(self) source code
 
focused_controller__set(self, controller) source code
 
_get_branch(self, controller)
Return all the parents of a controller and the controller itself.
source code
 
dispatch_input(self, input_event)
Process an input event by passing it to the focused controller.
source code
 
get_controller_path(self, model_path, content_type='frontend')
Retrieve the path of the controller associated with given model's path.
source code

Inherited from extern.log.log.Loggable: debug, doLog, error, info, log, logFunction, logObjectName, warning, warningFailure

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Static Methods [hide private]
 
__classinit__(cls, new_attrs)
Given a class and a new set of attributes (as passed in by __classinit__), create or modify properties based on functions with special names ending in __get, __set, and __del.
source code
Class Variables [hide private]
  name = 'backend'

Inherited from extern.log.log.Loggable: logCategory

Instance Variables [hide private]
elisa.base_components.controller.Controller focused_controller
controller which currently has the focus
elisa.core.config.Config mvc_config
MVC associations config
elisa.base_components.controller.Controller root_controller
root controller associated to the backend
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, mvc_config='frontend')
(Constructor)

source code 
Overrides: log.Loggable.__init__

_get_branch(self, controller)

source code 
Return all the parents of a controller and the controller itself. The list is ordered starting with the deepest controller in the branch and going to the root.

dispatch_input(self, input_event)

source code 
Process an input event by passing it to the focused controller.
Parameters:

get_controller_path(self, model_path, content_type='frontend')

source code 
Retrieve the path of the controller associated with given model's path.
Parameters:
  • model_path (string) - path of the Model for which we need a Controller
  • content_type (None or string) - content-type stored in the model
Raises:

Instance Variable Details [hide private]

focused_controller

controller which currently has the focus
Get Method:
elisa.core.backend.Backend.focused_controller__get(self)
Set Method:
elisa.core.backend.Backend.focused_controller__set(self, controller)
Delete Method:
'frontend'

root_controller

root controller associated to the backend
Get Method:
elisa.core.backend.Backend.root_controller__get(self)
Set Method:
elisa.core.backend.Backend.root_controller__set(self, controller)
Delete Method:
'frontend'