def enableCellToggled(self, cell, path): # FIXME active = not cell.get_active() self.model.set_value( self.model.get_iter(path), 0, active, ) # or set(...) parentItem = self._widget pp = tree_path_split(path) item = parentItem.items[pp[0]] for i in pp[1:]: parentItem, item = item, item.items[i] itemIndex = int(pp[-1]) assert parentItem.items[itemIndex] == item ### if active: item = self.loadItem(parentItem, itemIndex, path) item.onConfigChange() item.enable = active item.showHide() if item.customizable: if item.optionsWidget: item.optionsWidget.set_sensitive(item.enable) elif active: item.optionsWidgetCreate() if ui.mainWin: ui.mainWin.setMinHeight()
def getItemByPath(self, path): if isinstance(path, gtk.TreePath): path = path.get_indices() elif isinstance(path, str): path = tree_path_split(path) elif isinstance(path, int): path = [path] elif not isinstance(path, (tuple, list)): raise TypeError('argument %s given to getItemByPath has bad type %s'%(path, type(path))) item = self._widget.items[path[0]] for i in path[1:]: item = item.items[i] return item