package org.lttpp.eemory.ui;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jface.fieldassist.TextContentAdapter;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
public class ConfigTextContentAdapter extends TextContentAdapter {
private String byOperator;
@Override
public void insertControlContents(final Control control, final String text, final int cursorPosition) {
if (!StringUtils.isEmpty(byOperator)) {
String existingText = ((Text) control).getText();
if (existingText.contains(byOperator)) {
((Text) control).setText(existingText.substring(0, existingText.lastIndexOf(byOperator) + 1));
} else {
((Text) control).setText(StringUtils.EMPTY);
}
int newCursorPosition = ((Text) control).getText().length();
((Text) control).setSelection(newCursorPosition, newCursorPosition);
}
super.insertControlContents(control, text, cursorPosition);
}
public String getByOperator() {
return byOperator;
}
public void setByOperator(final String byOperator) {
this.byOperator = byOperator;
}
}