Text text = (Text) celleditor.getControl();
Point sel = text.getSelection();
Point pref = text.computeSize(-1, -1);
Label label = getDirectEditLabel();
Rectangle rect = label.getTextBounds().getCopy();
label.translateToAbsolute(rect);
text.setBounds(rect.x - 4, rect.y - 1, pref.x + 1, pref.y + 1);
text.setSelection(0);
text.setSelection(sel);
}
});