Добавление функции в существующий компонент gui в Eclipse - PullRequest
0 голосов
/ 04 марта 2020

Так что в настоящее время я разрабатываю подключаемый модуль Eclipse, который работает с рабочими наборами. Эти пользовательские рабочие наборы создаются с помощью мастера, который также создает файл .properties со всеми необходимыми настройками. Эти рабочие наборы можно удалить с помощью Select Working Sets...> Remove в обозревателе проектов eclipse, но кнопка удаляет только сам рабочий набор, а не файл.

Я уже реализовал обработчик, который может удалить файл, но я хотел спросить, есть ли способ привязать эту функцию к кнопке «Удалить» в диалоговом окне Select Working Set.... Я уже выяснил, что WorkingSetSelectionDialog реализует функцию удаления, но я как бы там застрял.

Есть ли точка расширения или что-то вроде того, где я могу добавить эту функцию?

1 Ответ

1 голос
/ 04 марта 2020

Кнопка «Удалить» в этом диалоговом окне отмечает только рабочий набор для удаления, фактически он не удаляется, пока не нажата кнопка «ОК» (так что «Отмена» может работать).

Удаление выполнено по вызову менеджера рабочего комплекта. Вы можете прослушать изменения рабочего набора, сделанные менеджером, используя IWorkingSetManager.addPropertyChangeListener слушатель:

IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();

manager.addPropertyChangeListener(listener);

Слушатель реализует IPropertyChangeListener. Параметр события сообщает вам, какое свойство изменилось. Для удаления это свойство IWorkingSetManager.CHANGE_WORKING_SET_REMOVE

Так что-то вроде:

public void propertyChange(PropertyChangeEvent event)
{
  if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
    IWorkingSet removed = (IWorkingSet)event.getOldValue();

    ...
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...