class Boolean(Int): def __init__(self, field_name, model_name, treeview, attrs=None): super(Boolean, self).__init__(field_name, model_name, treeview, attrs=attrs) self.renderer = CellRendererToggle() self.renderer.connect('toggled', self._sig_toggled) def _sig_toggled(self, renderer, path): store = self.treeview.get_model() record = store.get_value(store.get_iter(path), 0) field = record[self.field_name] if not field.get_state_attrs(record).get('readonly', False): value = record[self.field_name].get_client(record) record[self.field_name].set_client(record, int(not value)) self.treeview.set_cursor(path) return True
def __init__(self, field_name, model_name, treeview, attrs=None): super(Boolean, self).__init__(field_name, model_name, treeview, attrs=attrs) self.renderer = CellRendererToggle() self.renderer.connect('toggled', self._sig_toggled)