Java 类org.eclipse.gef.dnd.TemplateTransfer 实例源码

项目:ermasterr    文件:ERDiagramOutlinePage.java   
/**
 * {@inheritDoc}
 */
@Override
public void createControl(final Composite parent) {
    sash = new SashForm(parent, SWT.VERTICAL);

    // コンストラクタで指定したビューワの作成
    viewer.createControl(sash);

    // EditPartFactory の設定
    final ERDiagramOutlineEditPartFactory editPartFactory = new ERDiagramOutlineEditPartFactory();
    viewer.setEditPartFactory(editPartFactory);

    // グラフィカル・エディタのルート・モデルをツリー・ビューワにも設定
    viewer.setContents(diagram);

    final Canvas canvas = new Canvas(sash, SWT.BORDER);
    // サムネイル・フィギュアを配置する為の LightweightSystem
    lws = new LightweightSystem(canvas);

    resetView(registry);

    final AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
    viewer.addDragSourceListener(dragSourceListener);

    diagram.refreshOutline();
}
项目:ermaster-k    文件:ERDiagramTransferDragSourceListener.java   
@Override
public void dragStart(DragSourceEvent dragsourceevent) {
    super.dragStart(dragsourceevent);

    Object target = this.getTargetModel(dragsourceevent);

    if (target != null
            && target == this.dragSourceViewer.findObjectAt(
                    new Point(dragsourceevent.x, dragsourceevent.y))
                    .getModel()) {
        TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
        transfer.setObject(this.createTransferData(dragsourceevent));

    } else {
        dragsourceevent.doit = false;
    }
}
项目:erflute    文件:ERDiagramOutlinePage.java   
@Override
public void createControl(Composite parent) {
    this.sash = new SashForm(parent, SWT.VERTICAL);
    viewer.createControl(sash);
    editPartFactory = new ERDiagramOutlineEditPartFactory();
    editPartFactory.setQuickMode(quickMode);
    viewer.setEditPartFactory(editPartFactory);
    viewer.setContents(diagram);
    if (!quickMode) {
        final Canvas canvas = new Canvas(sash, SWT.BORDER);
        lws = new LightweightSystem(canvas);
    }
    resetView(registry);
    final AbstractTransferDragSourceListener dragSourceListener =
            new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
    viewer.addDragSourceListener(dragSourceListener);

    expandVirturalDiagramTree();
}
项目:ermaster-nhit    文件:ERDiagramTransferDragSourceListener.java   
@Override
public void dragStart(DragSourceEvent dragsourceevent) {
    super.dragStart(dragsourceevent);

    Object target = this.getTargetModel(dragsourceevent);

    if (target != null
            && target == this.dragSourceViewer.findObjectAt(
                    new Point(dragsourceevent.x, dragsourceevent.y))
                    .getModel()) {
        TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
        transfer.setObject(this.createTransferData(dragsourceevent));

    } else {
        dragsourceevent.doit = false;
    }
}
项目:birt    文件:ReportTemplateTransferDropTargetListener.java   
/**
 * Validates drag source from palette, layout, or data view
 * 
 * @param dragObj
 * @return validate result
 */
private boolean handleValidateDrag( Object dragObj )
{
    if ( DNDService.getInstance( )
            .validDrop( TemplateTransfer.getInstance( ).getTemplate( ),
                    getTargetEditPart( ),
                    DND.DROP_DEFAULT,
                    new DNDLocation( getDropLocation( ) ) ) )
    {
        return true;
    }
    return dragObj != null
            && ( handleValidatePalette( dragObj )
                    || handleValidateOutline( dragObj )
                    || handleValidateInsert( dragObj ) || handleValidateLibrary( dragObj ) );
}
项目:birt    文件:DesignElementDropAdapter.java   
/**
 * @see ViewerDropAdapter#dragOver(DropTargetEvent)
 * 
 */
public void dragOver( DropTargetEvent event )
{
    super.dragOver( event );
    if ( event.detail == DND.DROP_NONE )
        return;
    if ( !validateTarget( getCurrentTarget( ) )
            || !validateTarget( getCurrentTarget( ),
                    TemplateTransfer.getInstance( ).getTemplate( ) ) )
    {
        event.detail = DND.DROP_NONE;
        if ( Policy.TRACING_DND_DRAG )
        {
            System.out.println( "DND >> Drag over " + event.getSource( ) ); //$NON-NLS-1$
        }
    }
}
项目:ermasterr    文件:ERDiagramTransferDragSourceListener.java   
@Override
public void dragStart(final DragSourceEvent dragsourceevent) {
    super.dragStart(dragsourceevent);

    final Object target = getTargetModel(dragsourceevent);

    if (target != null && target == dragSourceViewer.findObjectAt(new Point(dragsourceevent.x, dragsourceevent.y)).getModel()) {
        final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
        transfer.setObject(createTransferData(dragsourceevent));

    } else {
        dragsourceevent.doit = false;
    }
}
项目:ermasterr    文件:ERDiagramEditor.java   
private void initDragAndDrop(final GraphicalViewer viewer) {
    final AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
    viewer.addDragSourceListener(dragSourceListener);

    final AbstractTransferDropTargetListener dropTargetListener = new ERDiagramTransferDropTargetListener(viewer, TemplateTransfer.getInstance());

    viewer.addDropTargetListener(dropTargetListener);
}
项目:ermaster-k    文件:ERDiagramOutlinePage.java   
/**
 * {@inheritDoc}
 */
@Override
public void createControl(Composite parent) {
    this.sash = new SashForm(parent, SWT.VERTICAL);

    // コンストラクタで指定したビューワの作成
    this.viewer.createControl(this.sash);

    // EditPartFactory の設定
    ERDiagramOutlineEditPartFactory editPartFactory = new ERDiagramOutlineEditPartFactory();
    this.viewer.setEditPartFactory(editPartFactory);

    // グラフィカル・エディタのルート・モデルをツリー・ビューワにも設定
    this.viewer.setContents(this.diagram);

    Canvas canvas = new Canvas(this.sash, SWT.BORDER);
    // サムネイル・フィギュアを配置する為の LightweightSystem
    this.lws = new LightweightSystem(canvas);

    this.resetView(this.registry);

    AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(
            this.viewer, TemplateTransfer.getInstance());
    this.viewer.addDragSourceListener(dragSourceListener);

    this.diagram.refreshOutline();
}
项目:ermaster-k    文件:ERDiagramEditor.java   
private void initDragAndDrop(GraphicalViewer viewer) {
    AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(
            viewer, TemplateTransfer.getInstance());
    viewer.addDragSourceListener(dragSourceListener);

    AbstractTransferDropTargetListener dropTargetListener = new ERDiagramTransferDropTargetListener(
            viewer, TemplateTransfer.getInstance());

    viewer.addDropTargetListener(dropTargetListener);
}
项目:erflute    文件:MainDiagramEditor.java   
protected void initDragAndDrop(GraphicalViewer viewer) {
    final AbstractTransferDragSourceListener dragSourceListener =
            new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
    viewer.addDragSourceListener(dragSourceListener);
    final AbstractTransferDropTargetListener dropTargetListener =
            new ERDiagramTransferDropTargetListener(viewer, TemplateTransfer.getInstance());
    viewer.addDropTargetListener(dropTargetListener);
}
项目:erflute    文件:ERDiagramTransferDragSourceListener.java   
@Override
public void dragStart(DragSourceEvent dragsourceevent) {
    super.dragStart(dragsourceevent);

    final Object target = getTargetModel(dragsourceevent);
    if (target != null) {
        final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
        transfer.setObject(target);
    } else {
        dragsourceevent.doit = false;
    }
}
项目:ermaster-nhit    文件:ERDiagramOutlinePage.java   
/**
 * {@inheritDoc}
 */
@Override
public void createControl(Composite parent) {
    this.sash = new SashForm(parent, SWT.VERTICAL);

    // コンストラクタで指定したビューワの作成
    this.viewer.createControl(this.sash);

    // EditPartFactory の設定
    ERDiagramOutlineEditPartFactory editPartFactory = new ERDiagramOutlineEditPartFactory();
    this.viewer.setEditPartFactory(editPartFactory);

    // グラフィカル・エディタのルート・モデルをツリー・ビューワにも設定
    this.viewer.setContents(this.diagram);

    Canvas canvas = new Canvas(this.sash, SWT.BORDER);
    // サムネイル・フィギュアを配置する為の LightweightSystem
    this.lws = new LightweightSystem(canvas);

    this.resetView(this.registry);

    AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(
            this.viewer, TemplateTransfer.getInstance());
    this.viewer.addDragSourceListener(dragSourceListener);

    this.diagram.refreshOutline();
}
项目:ermaster-nhit    文件:ERDiagramEditor.java   
private void initDragAndDrop(GraphicalViewer viewer) {
    AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(
            viewer, TemplateTransfer.getInstance());
    viewer.addDragSourceListener(dragSourceListener);

    AbstractTransferDropTargetListener dropTargetListener = new ERDiagramTransferDropTargetListener(
            viewer, TemplateTransfer.getInstance());

    viewer.addDropTargetListener(dropTargetListener);
}
项目:birt    文件:LibraryDragListener.java   
public void dragStart( DragSourceEvent event )
{
    boolean doit = !getViewer( ).getSelection( ).isEmpty( );
    if ( doit )
    {
        IStructuredSelection selection = (IStructuredSelection) getViewer( ).getSelection( );
        List objectList = selection.toList( );
        selectionList.clear( );
        for ( int i = 0; i < objectList.size( ); i++ )
        {
            if ( objectList.get( i ) instanceof ReportResourceEntry )
                selectionList.add( ( (ReportResourceEntry) objectList.get( i ) ).getReportElement( ) );
            else
                selectionList.add( objectList.get( i ) );
        }
        Object[] objects = selectionList.toArray( );
        if ( validateType( objects ) )
        {
            for ( int i = 0; i < objects.length; i++ )
                if ( !validateTransfer( objects[i] ) )
                {
                    doit = false;
                    break;
                }
        }
        else
            doit = false;
        if ( doit )
            TemplateTransfer.getInstance( ).setTemplate( objects );
    }
    event.doit = doit;
    if ( Policy.TRACING_DND_DRAG && doit )
    {
        System.out.println( "DND >> Drag starts." ); //$NON-NLS-1$
    }
}
项目:birt    文件:ReportTemplateTransferDropTargetListener.java   
public void dragOver( DropTargetEvent event )
{
    super.dragOver( event );
    if ( !handleValidateDrag( TemplateTransfer.getInstance( ).getTemplate( ) ) )
    {
        event.detail = DND.DROP_NONE;
    }
}
项目:birt    文件:DesignElementDropAdapter.java   
/**
 * @see ViewerDropAdapter#validateDrop(Object, int, TransferData)
 */
public boolean validateDrop( Object target, int op, TransferData type )
{

    //      if(target!=null){
    //          Object adapter = ElementAdapterManager.getAdatper( target, IElementDropAdapter.class );
    //          if(adapter!=null){
    //              IElementDropAdapter dropAdapter = (IElementDropAdapter)adapter;
    //              return dropAdapter.validateDrop( target, getCurrentOperation( ), getCurrentLocation( ), null, type );
    //          }
    //      }

    return TemplateTransfer.getInstance( ).isSupportedType( type );
}
项目:birt    文件:DesignElementDragAdapter.java   
/**
 * @see DragSourceAdapter#dragFinished(DragSourceEvent)
 */
public void dragFinished( DragSourceEvent event )
{
    if ( event.doit )
    {
        TemplateTransfer.getInstance( ).setTemplate( null );
        if ( Policy.TRACING_DND_DRAG )
        {
            System.out.println( "DND >> Drag finished." ); //$NON-NLS-1$
        }
    }
}
项目:birt    文件:DesignElementDragAdapter.java   
/**
     * @see DragSourceAdapter#dragSetData(DragSourceEvent)
     */
    public void dragSetData( DragSourceEvent event )
    {
//      IStructuredSelection selection = (IStructuredSelection) getViewer( ).getSelection( );
//      Object[] objects = selection.toList( ).toArray( );

        // fix bug 116180
        Object[] objects = selectionList.toArray( );
        if ( TemplateTransfer.getInstance( ).isSupportedType( event.dataType ) )
            event.data = objects;
    }
项目:birt    文件:DesignElementDragAdapter.java   
/**
 * @see DragSourceAdapter#dragStart(DragSourceEvent)
 */
public void dragStart( DragSourceEvent event )
{
    boolean doit = !getViewer( ).getSelection( ).isEmpty( );
    if ( doit )
    {
        IStructuredSelection selection = (IStructuredSelection) getViewer( ).getSelection( );
        selectionList = selection.toList( );
        Object[] objects = selection.toList( ).toArray( );
        if ( validateType( objects ) )
        {
            for ( int i = 0; i < objects.length; i++ )
                if ( !validateTransfer( objects[i] ) )
                {
                    doit = false;
                    break;
                }
        }
        else
            doit = false;
        if ( doit )
            TemplateTransfer.getInstance( ).setTemplate( objects );
    }
    event.doit = doit;
    if ( Policy.TRACING_DND_DRAG && doit )
    {
        System.out.println( "DND >> Drag starts." ); //$NON-NLS-1$
    }
}
项目:birt    文件:ParameterDragListener.java   
/**
 * @see DragSourceAdapter#dragSetData(DragSourceEvent)
 */
public void dragSetData( DragSourceEvent event )
{
    IStructuredSelection selection = (IStructuredSelection) getViewer( )
            .getSelection( );
    Object[] objects = selection.toList( ).toArray( );

    if ( TemplateTransfer.getInstance( ).isSupportedType( event.dataType ) )
    {
        event.data = objects;
    }
}
项目:ermasterr    文件:ERDiagramOutlinePage.java   
private void initDropTarget() {
    final AbstractTransferDropTargetListener dropTargetListener = new ERDiagramOutlineTransferDropTargetListener(graphicalViewer, TemplateTransfer.getInstance());

    graphicalViewer.addDropTargetListener(dropTargetListener);
}
项目:ermasterr    文件:ERDiagramTransferDropTargetListener.java   
private Object getTargetModel() {
    final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
    return transfer.getObject();
}
项目:ermasterr    文件:ERDiagramOutlineTransferDropTargetListener.java   
private Object getTargetModel() {
    final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
    return transfer.getObject();
}
项目:ermaster-k    文件:ERDiagramOutlinePage.java   
private void initDropTarget() {
    AbstractTransferDropTargetListener dropTargetListener = new ERDiagramOutlineTransferDropTargetListener(
            this.graphicalViewer, TemplateTransfer.getInstance());

    this.graphicalViewer.addDropTargetListener(dropTargetListener);
}
项目:ermaster-k    文件:ERDiagramTransferDropTargetListener.java   
private Object getTargetModel() {
    TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
    return transfer.getObject();
}
项目:ermaster-k    文件:ERDiagramOutlineTransferDropTargetListener.java   
private Object getTargetModel() {
    TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
    return transfer.getObject();
}
项目:erflute    文件:ERDiagramOutlinePage.java   
private void initDropTarget() {
    final AbstractTransferDropTargetListener dropTargetListener =
            new ERDiagramOutlineTransferDropTargetListener(graphicalViewer, TemplateTransfer.getInstance());
    graphicalViewer.addDropTargetListener(dropTargetListener);
}
项目:erflute    文件:ERDiagramTransferDropTargetListener.java   
private Object getTargetModel() {
    final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
    return transfer.getObject();
}
项目:erflute    文件:ERDiagramOutlineTransferDropTargetListener.java   
private Object getTargetModel() {
    final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
    return transfer.getObject();
}
项目:ermaster-nhit    文件:ERDiagramOutlinePage.java   
private void initDropTarget() {
    AbstractTransferDropTargetListener dropTargetListener = new ERDiagramOutlineTransferDropTargetListener(
            this.graphicalViewer, TemplateTransfer.getInstance());

    this.graphicalViewer.addDropTargetListener(dropTargetListener);
}
项目:ermaster-nhit    文件:ERDiagramTransferDropTargetListener.java   
private Object getTargetModel() {
    TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
    return transfer.getObject();
}
项目:ermaster-nhit    文件:ERDiagramOutlineTransferDropTargetListener.java   
private Object getTargetModel() {
    TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
    return transfer.getObject();
}
项目:birt    文件:CrosstabCellFlowLayoutEditPolicy.java   
protected void showLayoutTargetFeedback( Request request )
{

    boolean isCrossTabElement = false;

    if ( request instanceof ChangeBoundsRequest )
    {
        List editParts = ( (ChangeBoundsRequest) request ).getEditParts( );
        if ( editParts.size( ) > 0 )
        {
            isCrossTabElement = editParts.get( 0 ) instanceof CrosstabCellEditPart;
        }
    }

    if ( !isCrossTabElement )
    {
        Object template = TemplateTransfer.getInstance( ).getTemplate( );
        if ( template instanceof Object[]
                && ( (Object[]) template ).length > 0 )
        {
            Object dragObject = ( (Object[]) template )[0];
            if ( dragObject instanceof DimensionHandle
                    || dragObject instanceof MeasureHandle
                    || dragObject instanceof LevelHandle )
            {
                isCrossTabElement = true;
            }
        }
    }

    if ( isCrossTabElement )
    {
        Transposer transposer = new Transposer( );
        transposer.setEnabled( !isHorizontal( ) );
        Rectangle r = transposer.t( getAbsoluteClientBounds( (GraphicalEditPart) getHost( ) ) );
        Point p = transposer.t( getLocationFromRequest( request ) );
        boolean before = p.x <= r.x + ( r.width / 2 );

        Point p1 = new Point( before ? r.x : r.x + r.width, r.y - 2 );
        p1 = transposer.t( p1 );

        Point p2 = new Point( before ? r.x : r.x + r.width, r.y
                + r.height
                + 7 );
        p2 = transposer.t( p2 );

        setTargetFeedbackPoints( p1, p2 );

    }
    else
    {
        super.showLayoutTargetFeedback( request );
    }
}
项目:birt    文件:SlotHandleDropAdapter.java   
public boolean validateDrop( Object target, int operation, int location,
        Object transfer, TransferData transferType )
{
    return TemplateTransfer.getInstance( ).isSupportedType( transferType );
}