Вопрос по – Затмение отключить крюк, способный остановить прекращение

1

Я работаю над плагином. Плагин выполняет внешние инструменты, и я должен предоставить диалоговое окно подтверждения, если пользователь пытается выйти из Eclipse, когда процесс еще не запущен.There are running processes. Do you really want to exit? Если пользователь нажимаетNoЗатмение не может завершиться.

Я только что нашел, как подключить команду exit для очистки, придумывает. (Активатор плагина имеетstop() метод.) Но Затмение всегда будет неизбежно завершаться.

Ваш Ответ

1   ответ
1

се, что мне нужно, это слушатель worgbench, зарегистрированный в активаторе. У слушателя есть два метода для событий до и после отключения. Первый возвращает логическое значение. Если он вернул true, Eclipse завершается. В противном случае процедура выхода прерывается, и пользователь может продолжить свою работу.

В классе активатора:

public void start(BundleContext context) {
    ...
    IWorkbench iwb = PlatformUI.getWorkbench();
    WBListener wbl = new ...;
    iwb.addWorkbenchListener(wbl);
    ...
}

Код классаWBListener:

import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchListener;

public class WBListener implements IWorkbenchListener {

    @Override
    public void postShutdown(IWorkbench w) {
    }

    @Override
    public boolean preShutdown(IWorkbench w, boolean b) {
        boolean exitEclipse = ...; //get it somehow

        return exitEclipse;
    }
}

Вот и все.

Похожие вопросы