Package twisted :: Package web :: Package woven :: Module view :: Class View

[frames | no frames]

## Class View

Known Subclasses:
  `LiveView`, `Page`, `TapestryView`, `Widget`

Method Summary
| ``__init__`(self, m, templateFile, templateDirectory, template, controller, doneCallback, modelStack, viewStack, controllerStack)` A view must be told what its model is, and may be told what its controller is, but can also look up its controller if none specified.
| `__setitem__(self, key, value)`
| ``dispatchResult`(self, request, node, result)` Check a given result from handling a node and look up a NodeMutator adapter which will convert the result into a node and insert it into the DOM tree.
| ``dispatchResultCallback`(self, result, request, node)` Deal with a callback from a deferred, checking to see if it is ok to send the page yet or not.
| ``generate`(self, request, node)` Allow a view to be used like a widget.
| `getChild(self, path, request)`
| `getChildWithDefault(self, path, request)`
| ``getNodeController`(self, request, node, submodel, model)` Get a controller object to handle this node.
| ``getNodeModel`(self, request, node, submodel)` Get the model object associated with this node.
| `getNodeView(self, request, node, submodel, model)`
| ``getSubview`(self, request, node, model, viewName)` Get a sub-view from me.
| ``getTemplate`(self, request)` Override this if you want to have your subclass look up its template using a different method.
| ``handleControllerResults`(self, controllerResult, request, node, controller, view)` Handle a deferred from a controller.
| ``handleDocument`(self, request, document)` Handle the root node, and send the page if there are no outstanding callbacks when it returns.
| `handleNewNode(self, request, returnNode)`
| `handleNode(self, request, node)`
| `handleOutstanding(self, request)`
| `importViewLibrary(self, namespace)`
| ``lookupTemplate`(self, request)` Use acquisition to look up the template named by self.templateFile, located anywhere above this object in the heirarchy, and use it as the template.
| ``modelChanged`(self, changed)` Rerender this view, because our model has changed.
| ``recurseChildren`(self, request, node)` If this node has children, handle them.
| `render(self, request, doneCallback)`
| `renderFailure(self, failure, request)`
| ``sendPage`(self, request)` Check to see if handlers recorded any errors before sending the page
| `setController(self, controller)`
| `setNode(self, node)`
| `setSubmodel(self, name)`
| `setSubviewFactory(self, name, factory, setup, *args, **kwargs)`
| `setUp(self, request, d)`
| `setupAllStacks(self)`
| `setupViewStack(self)`
| `unlinkViews(self)`

Class Variable Summary
`tuple` | `__implements__` = `(<class twisted.web.resource.IResource ...`
`NoneType` | `doneCallback` = None
`int` | `isLeaf` = 1
`int` | `livePage` = 0
`int` | `setupStacks` = 1
`str` | `template` = `''`
`str` | `templateDirectory` = `''`
`str` | `templateFile` = `''`
`NoneType` | `templateNode` = None
`list` | `viewLibraries` = `[]`
`int` | `wantsAllNotifications` = 0

Method Details

### __init__(self, m, templateFile=None, templateDirectory=None, template=None, controller=None, doneCallback=None, modelStack=None, viewStack=None, controllerStack=None)
(Constructor)

A view must be told what its model is, and may be told what its controller is, but can also look up its controller if none specified.

### dispatchResult(self, request, node, result)

Check a given result from handling a node and look up a NodeMutator adapter which will convert the result into a node and insert it into the DOM tree. Return the new node.

### dispatchResultCallback(self, result, request, node)

Deal with a callback from a deferred, checking to see if it is ok to send the page yet or not.

### generate(self, request, node)

Allow a view to be used like a widget. Will look up the template file and return it in place of the incoming node.

### getNodeController(self, request, node, submodel, model)

Get a controller object to handle this node. If the node has no controller= attribute, first check to see if there is an IController adapter for our model.

### getNodeModel(self, request, node, submodel)

Get the model object associated with this node. If this node has a model= attribute, call getSubmodel on the current model object. If not, return the top of the model stack.

### getSubview(self, request, node, model, viewName)

Get a sub-view from me.

  Returns:
    `widgets.Widget`

### getTemplate(self, request)

Override this if you want to have your subclass look up its template using a different method.

### handleControllerResults(self, controllerResult, request, node, controller, view)

Handle a deferred from a controller.

### handleDocument(self, request, document)

Handle the root node, and send the page if there are no outstanding callbacks when it returns.

### lookupTemplate(self, request)

Use acquisition to look up the template named by self.templateFile, located anywhere above this object in the heirarchy, and use it as the template. The first time the template is used it is cached for speed.

### modelChanged(self, changed)

Rerender this view, because our model has changed.

### recurseChildren(self, request, node)

If this node has children, handle them.

### sendPage(self, request)

Check to see if handlers recorded any errors before sending the page

Class Variable Details

### __implements__

  Type:
    `tuple`
  Value:

        (<class twisted.web.resource.IResource at 0x8450e44>,
         <class twisted.web.woven.interfaces.IView at 0x85936d4>)

### doneCallback

  Type:
    `NoneType`
  Value:

        None

### isLeaf

  Type:
    `int`
  Value:

        1

### livePage

  Type:
    `int`
  Value:

        0

### setupStacks

  Type:
    `int`
  Value:

        1

### template

  Type:
    `str`
  Value:

        ''

### templateDirectory

  Type:
    `str`
  Value:

        ''

### templateFile

  Type:
    `str`
  Value:

        ''

### templateNode

  Type:
    `NoneType`
  Value:

        None

### viewLibraries

  Type:
    `list`
  Value:

        []

### wantsAllNotifications

  Type:
    `int`
  Value:

        0

Generated by Epydoc 2.0 on Sat May 15 20:07:53 2004 | http://epydoc.sf.net