/**
*
*/
package org.erlide.wrangler.refactoring.duplicatedcode.ui;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.texteditor.ITextEditor;
import org.erlide.wrangler.refactoring.duplicatedcode.ui.elements.DuplicatedCodeElement;
import org.erlide.wrangler.refactoring.duplicatedcode.ui.elements.DuplicatedCodeInstanceElement;
import org.erlide.wrangler.refactoring.duplicatedcode.ui.elements.DuplicatedFileElement;
import org.erlide.wrangler.refactoring.util.WranglerUtils;
class DoubleClickListener implements IDoubleClickListener {
DoubleClickListener() {
}
@Override
public void doubleClick(final DoubleClickEvent event) {
final ISelection selection = event.getSelection();
final Object obj = ((IStructuredSelection) selection).getFirstElement();
if (obj instanceof DuplicatedCodeInstanceElement) {
higlightCodePart((DuplicatedCodeInstanceElement) obj);
} else if (obj instanceof DuplicatedCodeElement) {
higlightCodePart(((DuplicatedCodeElement) obj).getCodePart());
} else if (obj instanceof DuplicatedFileElement) {
final DuplicatedFileElement obj2 = (DuplicatedFileElement) obj;
WranglerUtils.openFile(obj2.getContainingFile());
}
}
public void higlightCodePart(final DuplicatedCodeInstanceElement codePart) {
final ITextEditor textEditor = (ITextEditor) WranglerUtils
.openFile(codePart.getContainingFile());
WranglerUtils.highlightOffsetSelection(codePart.getStartOffset(),
codePart.getEndOffset(), textEditor);
}
}