Home | Trees | Indices | Help |
|
---|
|
object --+ | Widget --+ | CompoundWidget
A widget that can contain other widgets.
A compound widget is a widget that can group several widgets to make a complex widget. Child widget names must be listed at their widget's ``member_widgets`` attribute.
Nested Classes | |
Inherited from |
Instance Methods | |||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
Inherited from Inherited from |
Class Variables | |
compound = True hash(x) |
|
member_widgets =
|
|
Inherited from |
Properties | |
Inherited from Inherited from |
Method Details |
Widget initialization. All initialization has to take place in this method. It's not thread-safe to mutate widget's attributes outside this method or anytime after widget's first display. *Must* call super(MyWidget, self).__init__(*args, **kw) cooperatively, unless, of course, you know what you're doing. Preferably this should be done before any actual work is done in the method. Parameters: name: The widget's name. In input widgets, this will also be the name of the variable that the form will send to the controller. This is the only param that is safe to pass as a positional argument to __init__. template: The template that the widget should use to display itself. Currently only Genshi and Kid templates are supported. You can both initialize with a template string or with the path to a file-base template: 'myapp.templates.widget_tmpl' engine_name: The engine to be used for rendering the template, if not specified in the template already. default: Default value to display when no value is passed at display time. **params: Keyword arguments specific to your widget or to any of its bases. If listed at class attribute 'params' the will be bound automatically to the widget instance. Note: Do not confuse these parameters with parameters listed at "params". Some widgets accept parameters at the constructor which are not listed params, these parameter won't be passed to the template, be automatically called, etc.
|
Display the widget in a Genshi or Kid template. Returns a Genshi Markup stream or an ElementTree node instance, depending on the template in which the widget shall be displayed. If you need serialized output in a string, call 'render' instead. Probably you will not need to override or extend if inheriting from Widget. @params: value : The value to display in the widget. **params: Extra parameters specific to the widget. All keyword params supplied will pass through the update_params method which will have a last chance to modify them before reaching the template.
|
Exactly the same as display() but return serialized output instead. Useful for debugging or to display the widget in a template other than Genshi or Kid, like Cheetah, Mako, Nevow Stan, ...
|
Update the template parameters. This method will have the last chance to update the variables sent to the template for the specific request. All parameters listed at class attribute 'params' will be available at the 'params' dict this method receives. *Must* call super(MyWidget, self).update_params(params) cooperatively, unless, of course, your know what you're doing. Preferably this should be done before any actual work is done in the method.
|
Get value for member widget. Pick up the value for a given member_widget 'item' from the value dict passed to this widget. |
Get params for member widget. Pick up the params for the given member_widget 'item' from the params dict passed to this widget. |
Get JavaScript for the member widgets. Retrieve the JavaScript for all the member widgets and get an ordered union of them.
|
Get CSS for the member widgets. Retrieve the CSS for all the member widgets and get an ordered union of them.
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri Jul 19 17:20:02 2019 | http://epydoc.sourceforge.net |