/** deletes all selected GeoElements from Kernel */ private void deleteSelectedGeos() { ArrayList selGeos = selectionList; if (selGeos.size() > 0) { Object[] geos = selGeos.toArray(); for (int i = 0; i < geos.length - 1; i++) { ((GeoElement) geos[i]).removeOrSetUndefinedIfHasFixedDescendent(); } // select element above last to delete GeoElement geo = (GeoElement) geos[geos.length - 1]; TreePath tp = geoTree.getTreePath(geo); if (tp != null) { int row = geoTree.getRowForPath(tp); tp = geoTree.getPathForRow(row - 1); geo.removeOrSetUndefinedIfHasFixedDescendent(); if (tp != null) geoTree.setSelectionPath(tp); } } }