kiwi.ui.proxy.Proxy
class documentationkiwi.ui.proxy
(View In Hierarchy)
A Proxy is a class that 'attaches' an instance to an interface's widgets, and transparently manipulates that instance's attributes as the user alters the content of the widgets. The Proxy takes the widget list and detects what widgets are to be attached to the model by looking if it is a KiwiWidget and if it has the model-attribute set.
Method | __init__ | No summary |
Method | proxy_updated | No summary |
Method | update_many | Like L{update} but takes a sequence of attributes |
Method | update | Generic frontend function to update the contentss of a widget based on its model attribute name using the internal update functions. |
Method | set_model | Updates the model instance of the proxy. Allows a proxy interface to change model without the need to destroy and recreate the UI (which would cause flashing, at least) |
Method | add_widget | Adds a new widget to the proxy |
Method | remove_widget | Removes a widget from the proxy |
Method | new_model | Undocumented |
Method | _reset_widget | Undocumented |
Method | _setup_widget | Undocumented |
Method | _register_proxy_in_model | Undocumented |
Method | _unregister_proxy_in_model | Undocumented |
Method | _on_widget__content_changed | This is called as soon as the content of one of the widget changes, the widgets tries fairly hard to not emit when it's not neccessary |
Method | _on_widget__notify | Undocumented |
Method | _get_model | Undocumented |
Create a new Proxy object. @param view: view attched to the slave @type view: a L{kiwi.ui.views.BaseView} subclass @param model: model attached to proxy @param widgets: the widget names @type widgets: list of strings
This is called as soon as the content of one of the widget changes, the widgets tries fairly hard to not emit when it's not neccessary
This is a hook that is called whenever the proxy updates the model. Implement it in the inherited class to perform actions that should be done each time the user changes something in the interface. This hook by default does nothing. @param widget: @param attribute: @param value:
Like L{update} but takes a sequence of attributes @param attributes: sequence of attributes to update @param value: see L{update} @param block: see L{update}
Generic frontend function to update the contentss of a widget based on its model attribute name using the internal update functions. @param attribute: the name of the attribute whose widget we wish to updated. If accessing a radiobutton, specify its group name. @param value: specifies the value to set in the widget. If unspecified, it defaults to the current model's value (through an accessor, if it exists, or getattr). @param block: defines if we are to block cascading proxy updates triggered by this update. You should use block if you are calling update on *the same attribute that is currently being updated*. This means if you have hooked to a signal of the widget associated to that attribute, and you call update() for the *same attribute*, use block=True. And pray. 8). If block is set to False, the normal update mechanism will occur (the model being updated in the end, hopefully).
Updates the model instance of the proxy. Allows a proxy interface to change model without the need to destroy and recreate the UI (which would cause flashing, at least) @param model: @param relax_type:
Adds a new widget to the proxy @param name: name of the widget @param widget: widget, must be a gtk.Widget subclass