View | Details | Raw Unified | Return to bug 267961 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceMouseTrackAdapter.java (-22 / +22 lines)
Lines 17-27 Link Here
17
import org.eclipse.jst.pagedesigner.commands.SourceViewerCommand;
17
import org.eclipse.jst.pagedesigner.commands.SourceViewerCommand;
18
import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
18
import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
19
import org.eclipse.jst.pagedesigner.editors.palette.TagToolPaletteEntry;
19
import org.eclipse.jst.pagedesigner.editors.palette.TagToolPaletteEntry;
20
import org.eclipse.swt.custom.StyledText;
21
import org.eclipse.swt.events.MouseEvent;
20
import org.eclipse.swt.events.MouseEvent;
22
import org.eclipse.swt.events.MouseListener;
21
import org.eclipse.swt.events.MouseListener;
23
import org.eclipse.swt.events.MouseMoveListener;
22
import org.eclipse.swt.events.MouseMoveListener;
24
import org.eclipse.swt.graphics.Point;
25
import org.eclipse.wst.sse.ui.StructuredTextEditor;
23
import org.eclipse.wst.sse.ui.StructuredTextEditor;
26
import org.eclipse.wst.sse.ui.internal.ExtendedEditorDropTargetAdapter;
24
import org.eclipse.wst.sse.ui.internal.ExtendedEditorDropTargetAdapter;
27
25
Lines 54-79 Link Here
54
	 * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
52
	 * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
55
	 */
53
	 */
56
	public void mouseMove(MouseEvent event) {
54
	public void mouseMove(MouseEvent event) {
57
		Object object = getPaletteObject();
55
		//Feedback is handled by DesignerSourceDropTargetListener - commenting out below
58
		StyledText text = null;
56
		
59
		if (_textEditor.getTextViewer() != null) {
57
//		Object object = getPaletteObject();
60
			text = _textEditor.getTextViewer().getTextWidget();
58
//		StyledText text = null;
61
		} else {
59
//		if (_textEditor.getTextViewer() != null) {
62
			return;
60
//			text = _textEditor.getTextViewer().getTextWidget();
63
		}
61
//		} else {
64
		if (object == null) {
62
//			return;
65
            // set to default cusror
63
//		}
66
			text.setCursor(null);
64
//		if (object == null) {
67
			return;
65
//            // set to default cusror
68
		}
66
//			text.setCursor(null);
69
		Point p = new Point(event.x, event.y);
67
//			return;
70
		p = _textEditor.getTextViewer().getTextWidget().toDisplay(p);
68
//		}
71
		SourceViewerDragDropHelper.getInstance().updateCaret(_textEditor, p);
69
//		Point p = new Point(event.x, event.y);
72
		_location = text.getCaretOffset();
70
//		p = _textEditor.getTextViewer().getTextWidget().toDisplay(p);
73
		_location = SourceViewerDragDropHelper.getInstance().getValidLocation(
71
//		SourceViewerDragDropHelper.getInstance().updateCaret(_textEditor, p);
74
				_textEditor, _location);
72
//		_location = text.getCaretOffset();
75
		_location = SourceViewerDragDropHelper.getInstance().showCaret(
73
//		_location = SourceViewerDragDropHelper.getInstance().getValidLocation(
76
				_textEditor, _location);
74
//				_textEditor, _location);
75
//		_location = SourceViewerDragDropHelper.getInstance().showCaret(
76
//				_textEditor, _location);
77
	}
77
	}
78
78
79
	/*
79
	/*
(-)src/org/eclipse/jst/pagedesigner/editors/DesignerStructuredTextEditorJSP.java (-19 / +54 lines)
Lines 14-45 Link Here
14
import org.eclipse.jface.action.IAction;
14
import org.eclipse.jface.action.IAction;
15
import org.eclipse.jface.text.ITextViewer;
15
import org.eclipse.jface.text.ITextViewer;
16
import org.eclipse.jst.pagedesigner.dnd.internal.DesignerSourceDropTargetListener;
16
import org.eclipse.jst.pagedesigner.dnd.internal.DesignerSourceDropTargetListener;
17
import org.eclipse.swt.dnd.DND;
18
import org.eclipse.swt.dnd.DropTarget;
17
import org.eclipse.ui.texteditor.ITextEditorDropTargetListener;
19
import org.eclipse.ui.texteditor.ITextEditorDropTargetListener;
18
import org.eclipse.wst.sse.ui.StructuredTextEditor;
20
import org.eclipse.wst.sse.ui.StructuredTextEditor;
19
21
20
/**
22
/**
21
 * @author mengbo
23
 * @author mengbo
22
 */
24
 */
23
public class DesignerStructuredTextEditorJSP extends StructuredTextEditor {
25
public class DesignerStructuredTextEditorJSP extends StructuredTextEditor
24
	protected void initializeDrop(ITextViewer textViewer) {
26
{
25
		// It seems if we don't skip this method, our drag drop listener will
27
    private ITextEditorDropTargetListener _dropTargetListener;
26
		// can't be enabled.
28
    private DropTarget _dropTarget;
27
	}
28
29
29
	public IAction getAction(String actionID) {
30
    @Override
30
		try {
31
    protected void initializeDrop(final ITextViewer viewer)
31
			return super.getAction(actionID);
32
    {
32
		} catch (Exception e) {
33
        int operations = DND.DROP_COPY | DND.DROP_MOVE;
33
			return null;
34
        _dropTarget = new DropTarget(viewer.getTextWidget(), operations);
34
		}
35
        _dropTargetListener = 
35
	}
36
            new DesignerSourceDropTargetListener(this);
37
        _dropTarget.setTransfer(_dropTargetListener.getTransfers());
38
        _dropTarget.addDropListener(_dropTargetListener);
39
    }
36
40
37
	public Object getAdapter(Class required) {
41
    @Override
38
		if (ITextEditorDropTargetListener.class.equals(required)) {
42
    public IAction getAction(final String actionID)
39
			DesignerSourceDropTargetListener listener = new DesignerSourceDropTargetListener(
43
    {
40
					this);
44
        try
41
			return listener;
45
        {
42
		}
46
            return super.getAction(actionID);
47
        } catch (final Exception e)
48
        {
49
            return null;
50
        }
51
    }
52
53
    @Override
54
    public Object getAdapter(final Class required)
55
    {
56
        if (ITextEditorDropTargetListener.class.equals(required))
57
        {
58
            final DesignerSourceDropTargetListener listener = new DesignerSourceDropTargetListener(
59
                    this);
60
            return listener;
61
        }
43
        return super.getAdapter(required);
62
        return super.getAdapter(required);
44
	}
63
    }
64
65
    @Override
66
    public void dispose()
67
    {
68
        if (_dropTargetListener != null)
69
        {
70
            _dropTargetListener = null;
71
        }
72
        if (_dropTarget != null)
73
        {
74
            _dropTarget.dispose();
75
            _dropTarget = null;
76
        }
77
        
78
        super.dispose();
79
    }
45
}
80
}

Return to bug 267961