У меня возникли проблемы с моим прослушивателем выбора, в настоящее время я самостоятельно пробовал выбирать текст от ВЕРХА к НИЗУ и от НИЗА к ВЕРХУ (движение мыши), однако эти испытания не будут работать вместе, т.е. одно SelectionListener является двунаправленным...
private void setupSelectionListener() {
this.contentValues.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent event) {
StyledText text = (StyledText)event.widget;
int x = event.x;
int y = event.y;
//Mouse Drag Listener here??? - Detects Right
//FOR TOP TO BOTTOM SELECTION
text.setSelection(event.x);
int beginPosition = event.x;
int beginByte = beginPosition / 3;
int endPosition = event.y;
int endByte = endPosition / 3;
setSelection(beginByte, endByte);
//Mouse Drag Listener here??? - Detects Left
//FOR BOTTOM TO TOP SELECTION
text.setSelection(event.y);
int beginPosition = event.y;
int beginByte = beginPosition / 3;
int endPosition = event.x;
int endByte = endPosition / 3;
setSelection(beginByte, endByte);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// Does nothing...
}
});
Итак, либо мне нужен прослушиватель перетаскивания мыши, как я указал в комментариях, либо условный оператор, сравнивающий event.x и event.y.
Я попытался добавить прослушиватель обнаружения перетаскивания внутри прослушивателя выбора, но это нарушает формат выбора координат события.
Любая помощь будет принята с благодарностью.