package com.aptana.rdt.internal.ui.text.correction; import org.eclipse.jface.text.IDocument; import org.rubypeople.rdt.refactoring.action.RefactoringAction; import org.rubypeople.rdt.refactoring.core.IRefactoringContext; import org.rubypeople.rdt.refactoring.core.RefactoringContext; import org.rubypeople.rdt.refactoring.core.RubyRefactoring; import org.rubypeople.rdt.refactoring.core.renamelocal.RenameLocalRefactoring; import org.rubypeople.rdt.ui.RubyUI; import org.rubypeople.rdt.ui.text.correction.ChangeCorrectionProposal; import org.rubypeople.rdt.ui.text.ruby.IProblemLocation; public class RefactoringCorrectionProposal extends ChangeCorrectionProposal { private IProblemLocation problem; private String name; public RefactoringCorrectionProposal(String name, Class<? extends RubyRefactoring> refactoringClass, IProblemLocation problem) { super(name, null, 100, RubyUI.getSharedImages().getImage(org.rubypeople.rdt.ui.ISharedImages.IMG_OBJS_CORRECTION_CHANGE)); this.problem = problem; this.name = name; } @Override public void apply(IDocument document) { IRefactoringContext provider = new RefactoringContext(problem.getOffset(), problem.getOffset() + problem.getLength(), problem.getOffset(), null); RefactoringAction action = new RefactoringAction(RenameLocalRefactoring.class, name, provider); action.run(); } }