SWT: как воссоздать контекстное меню по умолчанию для текстовых полей - PullRequest
3 голосов
/ 24 августа 2011

Мне нужно добавить некоторые элементы в контекстное меню по умолчанию текстового элемента управления в SWT, но я уже обнаружил, что не могу изменить это меню и должен создать новое с нуля.

Но как мне эмулировать стандартные функции Отменить, Вырезать, Копировать, Вставить, Удалить?Неужели я должен заново реализовать все эти вещи из буфера обмена для себя?И я даже не знаю, как получить доступ к истории отмены контроля.Есть ли какой-нибудь грязный хак для эмуляции кодов клавиш, которые достигают функциональности?

Ответы [ 2 ]

1 голос
/ 25 августа 2011

StyledText имеет встроенную поддержку вырезания, копирования и вставки:

StyledText editor = new StyledText(...);
editor.invokeAction(ST.CUT);
editor.invokeAction(ST.COPY);
editor.invokeAction(ST.PASTE);

Что касается операции отмены, боюсь, вам придется реализовать ее самостоятельно.SWT здесь нет ничего полезного, AFAIK.Вот хорошее начало, если вы хотите сделать это самостоятельно: SWT Undo Redo .

0 голосов
/ 25 августа 2011

Я уже обнаружил, что могу использовать функции cut (), copy () и paste () в элементе управления Text. К сожалению, отмена () недоступна.

Теперь я эмулирую отмену, отправляя в приложение CTRL-Z (CTRL-Y на клавиатуре US).

...