fix #774 infinite loop in net.sourceforge.phpeclipse.builder.IdentifierIndexManager...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / dnd / JdtViewerDragAdapter.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package net.sourceforge.phpdt.internal.ui.dnd;
12
13 import org.eclipse.jface.util.Assert;
14 import org.eclipse.jface.viewers.IStructuredSelection;
15 import org.eclipse.jface.viewers.StructuredViewer;
16 import org.eclipse.swt.dnd.DragSourceEvent;
17
18 public class JdtViewerDragAdapter extends DelegatingDragAdapter {
19
20         private StructuredViewer fViewer;
21
22         public JdtViewerDragAdapter(StructuredViewer viewer,
23                         TransferDragSourceListener[] listeners) {
24                 super(listeners);
25                 Assert.isNotNull(viewer);
26                 fViewer = viewer;
27         }
28
29         public void dragStart(DragSourceEvent event) {
30                 IStructuredSelection selection = (IStructuredSelection) fViewer
31                                 .getSelection();
32                 if (selection.isEmpty()) {
33                         event.doit = false;
34                         return;
35                 }
36                 super.dragStart(event);
37         }
38 }