Button[] affects = getAffected(selected, xDiff);
Rectangle oldBounds = selected.getBounds();
Rectangle newBounds = new Rectangle(oldBounds.x + xDiff, oldBounds.y, oldBounds.width, oldBounds.height);
selected.setBounds(newBounds);
shell.redraw(oldBounds.x, oldBounds.y, oldBounds.width, oldBounds.height, true);
shell.redraw(newBounds.x, newBounds.y, newBounds.width, newBounds.height, true);
for (Button affect : affects) {
Rectangle bounds = affect.getBounds();