def closeBlock(self, block, diagram): blockItem = diagram.getItem(block) if blockItem==None: # item is opened, close subBlocks for subBlock in block.subBlocks: self.closeBlock(subBlock, diagram) else: # item is not open, remove it diagram.remove(block)
def keyPress(self, widget, event, diagram): if isinstance(widget, gaphas.view.GtkView): view = widget if event.keyval==ord("+"): view.zoom(1.2) elif event.keyval==ord("-"): view.zoom(1/1.2) elif event.keyval==ord("."): item = view.focused_item if item and item.object: self.astTree.selectObject(item.object) elif event.keyval==ord("d"): item = view.focused_item if item and hasattr(item, "object"): diagram.remove(item.object) elif event.keyval==ord("x"): item = view.focused_item if item and item.object: item.object.setActive(not item.object.getActive())