package org.objectstyle.wolips.templateeditor;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.graphics.Point;
public class TemplateTripleClickAdapter extends MouseAdapter implements MouseMoveListener {
private TemplateEditor _editor;
private Point _clickPoint;
private int _clickCount;
public TemplateTripleClickAdapter(TemplateEditor editor) {
_editor = editor;
}
@Override
public void mouseDown(MouseEvent e) {
if (_clickCount == 3) {
_clickCount = 0;
}
if (_clickCount == 0) {
_clickPoint = new Point(e.x, e.y);
}
}
@Override
public void mouseUp(MouseEvent event) {
_clickCount++;
/*
if (_clickCount == 2) {
StyledText textWidget = _editor.getSourceEditor().getViewer().getTextWidget();
int offset = textWidget.getOffsetAtLocation(_clickPoint);
_editor.selectionChangedToOffset(offset);
}
*/
/*
else if (_clickCount == 3) {
StyledText textWidget = _editor.getSourceEditor().getViewer().getTextWidget();
FileEditorInput input = (FileEditorInput) _editor.getEditorInput();
try {
if (_tripleClickPoint != null) {
WodParserCache cache = WodParserCache.parser(input.getFile());
int offset = textWidget.getOffsetAtLocation(_tripleClickPoint);
FuzzyXMLElement element = cache.getHtmlEntry().getModel().getElementByOffset(offset);
if (element != null) {
textWidget.setSelectionRange(element.getOffset(), element.getLength());
//textWidget.showSelection();
}
}
}
catch (Throwable e) {
e.printStackTrace();
}
}
*/
}
public void mouseMove(MouseEvent e) {
if (_clickCount > 0) {
_clickCount = 0;
_clickPoint = null;
}
}
}