Crystal Reports for Eclipse Developer Guide

To create a view that contains a drag source

  1. Edit the MyDndView class to display a list of text objects and implement a DragSourceListener object.
    For more information about UI programming in Eclipse, see the Eclipse help.
    import org.eclipse.jface.viewers.IStructuredContentProvider;
    import org.eclipse.jface.viewers.IStructuredSelection;
    import org.eclipse.jface.viewers.TableViewer;
    import org.eclipse.jface.viewers.Viewer;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.dnd.DND;
    import org.eclipse.swt.dnd.DragSourceEvent;
    import org.eclipse.swt.dnd.DragSourceListener;
    import org.eclipse.swt.dnd.TextTransfer;
    import org.eclipse.swt.dnd.Transfer;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.ui.part.ViewPart;
    
    public class MyDndView extends ViewPart
    {
      private TableViewer viewer;
      
      public static class ViewContentProvider implements IStructuredContentProvider
      {
        public void inputChanged(Viewer v, Object oldInput, Object newInput)
        {
        }
        public void dispose()
        {
        }
        public Object[] getElements(Object parent)
        {
          return new String[]{"One", "Two", "Three"};
        }
      }
    
      public void createPartControl(Composite parent)
      {
        viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL |SWT.V_SCROLL);
        viewer.setContentProvider(new ViewContentProvider());
        viewer.setInput(getViewSite());
        int ops = DND.DROP_COPY | DND.DROP_MOVE;
        Transfer[] transfers = new Transfer[] {TextTransfer.getInstance()};
        viewer.addDragSupport(ops, transfers, new MyDragSourceListener());
      }
    
      public void setFocus() 
      {
        viewer.getControl().setFocus();
      }
    
      private class MyDragSourceListener implements DragSourceListener  
      {
        public void dragFinished(DragSourceEvent event)
        { 
        }
    
        public void dragSetData(DragSourceEvent event)
        {
          IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
          String msg = (String)sel.getFirstElement();
          event.data = msg;
        }
    
        public void dragStart(DragSourceEvent event)
        {
        }
      }
    }



Business Objects, an SAP company
http://www.businessobjects.com/
Support services
http://www.businessobjects.com/services/support/
Product Documentation on the Web
http://support.businessobjects.com/documentation/