| /******************************************************************************* |
| * Copyright (c) 2000, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ltk.internal.ui.refactoring; |
| |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.ltk.core.refactoring.IValidationCheckResultQuery; |
| import org.eclipse.ltk.core.refactoring.RefactoringStatus; |
| import org.eclipse.jface.dialogs.Dialog; |
| import org.eclipse.jface.dialogs.IDialogConstants; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.ltk.ui.refactoring.RefactoringUI; |
| |
| public class ValidationCheckResultQuery implements IValidationCheckResultQuery { |
| private Shell fParent; |
| private String fTitle; |
| public ValidationCheckResultQuery(Shell parent, String title) { |
| fParent= parent; |
| fTitle= title; |
| } |
| public boolean proceed(RefactoringStatus status) { |
| final Dialog dialog= RefactoringUI.createRefactoringStatusDialog(status, fParent, fTitle, false); |
| final int[] result= new int[1]; |
| Runnable r= new Runnable() { |
| public void run() { |
| result[0]= dialog.open(); |
| } |
| }; |
| fParent.getDisplay().syncExec(r); |
| return result[0] == IDialogConstants.OK_ID; |
| } |
| public void stopped(final RefactoringStatus status) { |
| Runnable r= new Runnable() { |
| public void run() { |
| String message= status.getMessageMatchingSeverity(RefactoringStatus.FATAL); |
| MessageDialog.openWarning(fParent, fTitle, getFullMessage(message)); |
| } |
| }; |
| fParent.getDisplay().syncExec(r); |
| } |
| private String getFullMessage(String errorMessage) { |
| return Messages.format( |
| RefactoringUIMessages.ValidationCheckResultQuery_error_message, |
| errorMessage); |
| } |
| } |