Class t.w.w.w.Widget(view.View):

Part of twisted.web.woven.widgets View Source View In Hierarchy

Known subclasses: twisted.web.woven.form.FormFillerWidget, twisted.web.woven.widgets.Anchor, twisted.web.woven.widgets.Attributes, twisted.web.woven.widgets.Bold, twisted.web.woven.widgets.Br, twisted.web.woven.widgets.Break, twisted.web.woven.widgets.Cell, twisted.web.woven.widgets.ColumnList, twisted.web.woven.widgets.DefaultWidget, twisted.web.woven.widgets.DeferredWidget, twisted.web.woven.widgets.Div, twisted.web.woven.widgets.Error, twisted.web.woven.widgets.ExpandMacro, twisted.web.woven.widgets.Image, twisted.web.woven.widgets.Input, twisted.web.woven.widgets.Link, twisted.web.woven.widgets.List, twisted.web.woven.widgets.Option, twisted.web.woven.widgets.ParagraphText, twisted.web.woven.widgets.RawText, twisted.web.woven.widgets.Row, twisted.web.woven.widgets.Span, twisted.web.woven.widgets.Table, twisted.web.woven.widgets.Text (hide last 21 again) ... and 21 more

A Widget wraps an object, its model, for display. The model can be a simple Python object (string, list, etc.) or it can be an instance of model.Model. (The former case is for interface purposes, so that the rest of the code does not have to treat simple objects differently from Model instances.)

If the model is-a Model, there are two possibilities:
Instance VariablesmodelIf the current model is an model.Model, then the result of model.getData(). Otherwise the original object itself.
Class VariablestagNameThe tag name of the element that this widget creates. If this is None, then the original Node will be cloned.
wantsAllNotificationsIndicate that this widget wants to recieve every change notification from the main model, not just notifications that affect its model.

Split Table into Classes Show Methods in One Table

Line # Kind Name Docs
79 Method __init__
111 Method initialize Use this method instead of __init__ to initialize your Widget, so you
118 Method setSubmodel I use the submodel to know which attribute in self.model I am responsible for
124 Method getData I have a model; however since I am a widget I am only responsible
135 Method setData If the return value of getData is a Deferred, I am called
142 Method add Add `item' to the children of the resultant DOM Node of this widget.
150 Method appendChild Add `item' to the children of the resultant DOM Node of this widget.
158 Method insert Insert `item' at `index' in the children list of the resultant DOM Node
167 Method setNode Set a node for this widget to use instead of creating one programatically.
178 Method cleanNode Do your part, prevent infinite recursion!
191 Method generate Allow a view to be used like a widget. Will look up the template
211 Method setDataCallback Undocumented
241 Method setUp Override this method to set up your Widget prior to generateDOM. This
256 Method generateDOM
309 Method modelChanged Rerender this view, because our model has changed.
330 Method __setitem__ Convenience syntax for adding attributes to the resultant DOM Node of
340 Method __getitem__ Convenience syntax for getting an attribute from the resultant DOM Node
349 Method setError Convenience method for allowing a Controller to report an error to the
363 Method getTopModel Get a reference to this page's top model object.
371 Method getAllPatterns Get all nodes below this one which have a matching pattern attribute.
406 Method getPattern Get a named slot from the incoming template node. Returns a copy
434 Method addUpdateMethod Add a method to this widget that will be called when the widget
442 Method addEventHandler Add an event handler to this widget. eventName is a string
456 Method onEvent Dispatch a client-side event to an event handler that was
106 Method _reset Undocumented
199 Method _regenerate Undocumented

Inherited from View:

Line # Kind Name Docs
85 Method getChild Undocumented
88 Method getChildWithDefault Return a child with the given name for the given request.
129 Method setupAllStacks Undocumented
137 Method setupViewStack Undocumented
147 Method importViewLibrary Import the given object or module into this View's view namespace
151 Method render Render a request. This is called on the leaf resource for
173 Method getTemplate Override this if you want to have your subclass look up its template
180 Method lookupTemplate Use acquisition to look up the template named by self.templateFile,
211 Method handleDocument Handle the root node, and send the page if there are no
236 Method handleOutstanding Undocumented
257 Method recurseChildren If this node has children, handle them.
264 Method dispatchResult Check a given result from handling a node and look up a NodeMutator
303 Method setController Set the controller that this view is related to.
315 Method getNodeModel Get the model object associated with this node. If this node has a
355 Method getNodeController Get a controller object to handle this node. If the node has no
397 Method getSubview Get a sub-view from me.
430 Method getNodeView Undocumented
476 Method handleNode Undocumented
562 Method handleControllerResults Handle a deferred from a controller.
582 Method handleNewNode Undocumented
589 Method sendPage Check to see if handlers recorded any errors before sending the page
595 Method setSubviewFactory Set the callable "factory", which takes a model and should
604 Method unlinkViews Undocumented
611 Method dispatchResultCallback Deal with a callback from a deferred, checking to see if it is
622 Method renderFailure Undocumented
Line # Kind Name Docs
340 Method __getitem__ Convenience syntax for getting an attribute from the resultant DOM Node
79 Method __init__
330 Method __setitem__ Convenience syntax for adding attributes to the resultant DOM Node of
142 Method add Add `item' to the children of the resultant DOM Node of this widget.
442 Method addEventHandler Add an event handler to this widget. eventName is a string
434 Method addUpdateMethod Add a method to this widget that will be called when the widget
150 Method appendChild Add `item' to the children of the resultant DOM Node of this widget.
178 Method cleanNode Do your part, prevent infinite recursion!
264 Method dispatchResult Check a given result from handling a node and look up a NodeMutator
611 Method dispatchResultCallback Deal with a callback from a deferred, checking to see if it is
191 Method generate Allow a view to be used like a widget. Will look up the template
256 Method generateDOM
371 Method getAllPatterns Get all nodes below this one which have a matching pattern attribute.
85 Method getChild Undocumented
88 Method getChildWithDefault Return a child with the given name for the given request.
124 Method getData I have a model; however since I am a widget I am only responsible
355 Method getNodeController Get a controller object to handle this node. If the node has no
315 Method getNodeModel Get the model object associated with this node. If this node has a
430 Method getNodeView Undocumented
406 Method getPattern Get a named slot from the incoming template node. Returns a copy
397 Method getSubview Get a sub-view from me.
173 Method getTemplate Override this if you want to have your subclass look up its template
363 Method getTopModel Get a reference to this page's top model object.
562 Method handleControllerResults Handle a deferred from a controller.
211 Method handleDocument Handle the root node, and send the page if there are no
582 Method handleNewNode Undocumented
476 Method handleNode Undocumented
236 Method handleOutstanding Undocumented
147 Method importViewLibrary Import the given object or module into this View's view namespace
111 Method initialize Use this method instead of __init__ to initialize your Widget, so you
158 Method insert Insert `item' at `index' in the children list of the resultant DOM Node
180 Method lookupTemplate Use acquisition to look up the template named by self.templateFile,
309 Method modelChanged Rerender this view, because our model has changed.
456 Method onEvent Dispatch a client-side event to an event handler that was
257 Method recurseChildren If this node has children, handle them.
151 Method render Render a request. This is called on the leaf resource for
622 Method renderFailure Undocumented
589 Method sendPage Check to see if handlers recorded any errors before sending the page
303 Method setController Set the controller that this view is related to.
135 Method setData If the return value of getData is a Deferred, I am called
211 Method setDataCallback Undocumented
349 Method setError Convenience method for allowing a Controller to report an error to the
167 Method setNode Set a node for this widget to use instead of creating one programatically.
118 Method setSubmodel I use the submodel to know which attribute in self.model I am responsible for
595 Method setSubviewFactory Set the callable "factory", which takes a model and should
241 Method setUp Override this method to set up your Widget prior to generateDOM. This
129 Method setupAllStacks Undocumented
137 Method setupViewStack Undocumented
604 Method unlinkViews Undocumented
199 Method _regenerate Undocumented
106 Method _reset Undocumented
def __init__(self, *args, model=None, submodel=None, setup=None, controller=None, viewStack=None, **kwargs): (source)
Parametersmodel (type: interfaces.IModel )
submodelsee Widget.setSubmodel (type: String )
setup (type: Callable )
def _reset(self): (source)
Undocumented
def initialize(self, *args, **kwargs): (source)
Use this method instead of __init__ to initialize your Widget, so you don't have to deal with calling the __init__ of the superclass.
def setSubmodel(self, submodel): (source)
I use the submodel to know which attribute in self.model I am responsible for
def getData(self, request=None): (source)

I have a model; however since I am a widget I am only responsible for a portion of that model. This method returns the portion I am responsible for.

The return value of this may be a Deferred; if it is, then setData will be called once the result is available.
def setData(self, request=None, data=None): (source)
If the return value of getData is a Deferred, I am called when the result of the Deferred is available.
def add(self, item): (source)
Add `item' to the children of the resultant DOM Node of this widget.
Parametersitem (type: A DOM node or Widget. )
def appendChild(self, item): (source)
Add `item' to the children of the resultant DOM Node of this widget.
Parametersitem (type: A DOM node or Widget. )
def insert(self, index, item): (source)
Insert `item' at `index' in the children list of the resultant DOM Node of this widget.
Parametersitem (type: A DOM node or Widget. )
def setNode(self, node): (source)
Set a node for this widget to use instead of creating one programatically. Useful for looking up a node in a template and using that.
def cleanNode(self, node): (source)
Do your part, prevent infinite recursion!
def generate(self, request, node): (source)
Allow a view to be used like a widget. Will look up the template file and return it in place of the incoming node.
def _regenerate(self, request, node, data): (source)
Undocumented
def setDataCallback(self, result, request, node): (source)
Undocumented
def setUp(self, request, node, data): (source)

Override this method to set up your Widget prior to generateDOM. This is a good place to call methods like add, insert, __setitem__ and __getitem__.

Overriding this method obsoletes overriding generateDOM directly, in most cases.
Parametersrequest (type: twisted.web.server.Request. )
nodeThe DOM node which this Widget is operating on.
dataThe Model data this Widget is meant to operate upon.
def generateDOM(self, request, node): (source)
ReturnsA DOM Node to replace the Node in the template that this Widget handles. This Node is created based on tagName, children, and attributes (You should populate these in setUp, probably).
def modelChanged(self, payload): (source)
Rerender this view, because our model has changed.
def __setitem__(self, item, value): (source)
Convenience syntax for adding attributes to the resultant DOM Node of this widget.
def __getitem__(self, item): (source)
Convenience syntax for getting an attribute from the resultant DOM Node of this widget.
def setError(self, request, message): (source)
Convenience method for allowing a Controller to report an error to the user. When this is called, a Widget of class self.errorFactory is instanciated and set to self.become. When generate is subsequently called, self.become will be responsible for mutating the DOM instead of this widget.
def getTopModel(self): (source)
Get a reference to this page's top model object.
def getAllPatterns(self, name, default=missingPattern, clone=1, deep=1): (source)
Get all nodes below this one which have a matching pattern attribute.
def getPattern(self, name, default=missingPattern, clone=1, deep=1): (source)
Get a named slot from the incoming template node. Returns a copy of the node and all its children. If there was more than one node with the same slot identifier, they will be returned in a round-robin fashion.
def addUpdateMethod(self, updateMethod): (source)
Add a method to this widget that will be called when the widget is being rendered. The signature for this method should be updateMethod(request, widget, data) where widget will be the instance you are calling addUpdateMethod on.
def addEventHandler(self, eventName, handler, *args): (source)
Add an event handler to this widget. eventName is a string indicating which javascript event handler should cause this handler to fire. Handler is a callable that has the signature handler(request, widget, *args).
def onEvent(self, request, eventName, *args): (source)
Dispatch a client-side event to an event handler that was registered using addEventHandler.
API Documentation for Twisted, generated by pydoctor at 2008-10-26 16:12:37.