private void selectAfterClear(int index) { if (mySource.isEmpty()) { getOnLastItemDeleted().run(); } else { if (index < mySource.size()) { Cell target = getChildCells().get(index); CellActions.toFirstFocusable(target).run(); } else { Cell target = getChildCells().get(index - 1); CellActions.toLastFocusable(target).run(); } } }
private Runnable replaceWith(final BinaryExpression newExpr) { final Mapper<?, ?> root = Mappers.getRoot(myMapper); BinaryExpression oldExpr = myMapper.getSource(); oldExpr.replaceWith(newExpr); Expression left = oldExpr.left.get(); if (left != null) { left.removeFromParent(); } Expression right = oldExpr.right.get(); if (right != null) { right.removeFromParent(); } newExpr.left.set(left); newExpr.right.set(right); new ExprBinOpTransformer().balanceOnOperationChange(newExpr).parent().get(); return CellActions.toEnd( ((BinaryExpressionMapper) root.getDescendantMapper(newExpr)).getTarget().sign); }