def addEvent(self, event): sPath = self.tree.getSelectionModel().getSelectionPath() if sPath: # Use selected node parent = sPath.getLastPathComponent() else: # Nothing selected, use root parent = self.model.getRoot() kids = parent.getChildCount() child = DefaultMutableTreeNode('New node %d' % self.getSuffix()) self.model.insertNodeInto(child, parent, kids) self.tree.scrollPathToVisible(TreePath(child.getPath()))