/*******************************************************************************
* Copyright (c) 2011 Exadel, Inc. and Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.quickfix;
import org.eclipse.core.resources.IMarker;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.jface.text.contentassist.IContextInformation;
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolution2;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
public class QuickFixProposal implements ICompletionProposal{
private IMarkerResolution resolution;
private IMarker marker;
public QuickFixProposal(IMarkerResolution resolution, IMarker marker){
this.resolution = resolution;
this.marker = marker;
}
public void apply(IDocument document) {
resolution.run(marker);
}
public Point getSelection(IDocument document) {
return null;
}
public String getAdditionalProposalInfo() {
if (resolution instanceof IMarkerResolution2)
return ((IMarkerResolution2) resolution).getDescription();
return (String)marker.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
}
public String getDisplayString() {
return resolution.getLabel();
}
public Image getImage() {
if (resolution instanceof IMarkerResolution2)
return ((IMarkerResolution2)resolution).getImage();
return null;
}
public IContextInformation getContextInformation() {
return null;
}
}