globalDisplay_.showYesNoMessage(
MessageDialog.WARNING,
"Terminate R",
message,
false,
new ProgressOperation() {
@Override
public void execute(ProgressIndicator indicator)
{
setPendinqQuit(DesktopFrame.PENDING_QUIT_RESTART_AND_RELOAD);
// determine the next session project
String nextProj = pWorkbenchContext_.get()
.getActiveProjectFile();
if (nextProj == null)
nextProj = Projects.NONE;
// force the abort
server_.abort(nextProj,
new VoidServerRequestCallback(indicator) {
@Override
protected void onSuccess()
{
if (!Desktop.isDesktop())
eventBus_.fireEvent(new ReloadEvent());
}
@Override
protected void onFailure()
{
setPendinqQuit(DesktopFrame.PENDING_QUIT_NONE);
}
});
}
},
new ProgressOperation() {
@Override
public void execute(ProgressIndicator indicator)
{
indicator.onCompleted();