k.u.p.Proxy : class documentation

Part of kiwi.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__ Create a new Proxy object.
Method proxy_updated This is a hook that is called whenever the proxy updates the
Method update_many Like update but takes a sequence of attributes
Method update Generic frontend function to update the contentss of a widget based
Method set_model Updates the model instance of the proxy.
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
Method _on_widget__notify Undocumented
Method _get_model Undocumented
def __init__(self, view, model=None, widgets=()):
Create a new Proxy object.
Parametersviewview attched to the slave (type: a kiwi.ui.views.BaseView subclass )
modelmodel attached to proxy
widgetsthe widget names (type: list of strings )
def _reset_widget(self, attribute, widget):
Undocumented
def _setup_widget(self, widget_name, widget):
Undocumented
def _register_proxy_in_model(self, attribute):
Undocumented
def _unregister_proxy_in_model(self):
Undocumented
def _on_widget__content_changed(self, widget, attribute, validate):
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
def _on_widget__notify(self, widget, pspec):
Undocumented
def _get_model(self):
Undocumented
def proxy_updated(self, widget, attribute, value):
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.
Parameterswidget
attribute
value
def update_many(self, attributes, value=ValueUnset, block=False):
Like update but takes a sequence of attributes
Parametersattributessequence of attributes to update
valuesee update
blocksee update
def update(self, attribute, value=ValueUnset, block=False):
Generic frontend function to update the contentss of a widget based on its model attribute name using the internal update functions.
Parametersattributethe name of the attribute whose widget we wish to updated. If accessing a radiobutton, specify its group name.
valuespecifies 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).
blockdefines 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).
def set_model(self, model, relax_type=False):
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)
Parametersmodel
relax_type
def add_widget(self, name, widget):
Adds a new widget to the proxy
Parametersnamename of the widget
widgetwidget, must be a gtk.Widget subclass
def remove_widget(self, name):
Removes a widget from the proxy
Parametersnamethe name of the widget to remove
def new_model(self, model, relax_type=False):
Undocumented
API Documentation for Kiwi, generated by pydoctor at 2010-05-20 02:10:57.