Java 类org.eclipse.gef.DragTracker 实例源码

项目:statecharts    文件:FixedAspectRatioResizableEditPolicy.java   
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
protected void createResizeHandle(List handles, final int direction) {
    handles.add(new ResizeHandle(getHost(), direction) {
        @Override
        protected DragTracker createDragTracker() {
            return new ResizeTracker(getHost(), direction) {
                @Override
                public void mouseDrag(MouseEvent event, EditPartViewer viewer) {
                    event.stateMask |= SWT.SHIFT;
                    super.mouseDrag(event, viewer);
                }
            };
        };
    });
}
项目:statecharts    文件:TextAwareLabelEditPart.java   
/**
 * Performs direct edit on double click
 */
@Override
public DragTracker getDragTracker(final Request request) {
    if (request instanceof SelectionRequest
            && ((SelectionRequest) request).getLastButtonPressed() == 3)
        return null;
    IDoubleClickCallback callback = new IDoubleClickCallback() {

        @Override
        public void handleDoubleClick(int btn) {
            performDirectEditRequest(request);
        }
    };
    return new DoubleClickDirectEditDragTracker(this,
            getTopGraphicEditPart(), callback);
}
项目:gef-gwt    文件:ResizableHandleKit.java   
/**
 * Fills the given List with handles at each corner and side of a figure.
 * 
 * @param part
 *            the handles' GraphicalEditPart
 * @param handles
 *            the List to add the four corner handles to
 * @param tracker
 *            the handles' DragTracker
 * @param cursor
 *            the handles' Cursor
 * @since 3.7
 */
public static void addCornerAndSideHandles(GraphicalEditPart part,
        List handles, DragTracker tracker, Cursor cursor) {
    handles.add(createHandle(part, PositionConstants.EAST, tracker, cursor));
    handles.add(createHandle(part, PositionConstants.SOUTH_EAST, tracker,
            cursor));
    handles.add(createHandle(part, PositionConstants.SOUTH, tracker, cursor));
    handles.add(createHandle(part, PositionConstants.SOUTH_WEST, tracker,
            cursor));
    handles.add(createHandle(part, PositionConstants.WEST, tracker, cursor));
    handles.add(createHandle(part, PositionConstants.NORTH_WEST, tracker,
            cursor));
    handles.add(createHandle(part, PositionConstants.NORTH, tracker, cursor));
    handles.add(createHandle(part, PositionConstants.NORTH_EAST, tracker,
            cursor));
}
项目:gef-gwt    文件:RulerComposite.java   
/**
 * @see org.eclipse.gef.GraphicalViewer#findHandleAt(org.eclipse.draw2d.geometry.Point)
 */
public Handle findHandleAt(org.eclipse.draw2d.geometry.Point p) {
    final GraphicalEditPart gep = (GraphicalEditPart) findObjectAtExcluding(
            p, new ArrayList());
    if (gep == null || !(gep instanceof GuideEditPart))
        return null;
    return new Handle() {
        public DragTracker getDragTracker() {
            return ((GuideEditPart) gep).getDragTracker(null);
        }

        public org.eclipse.draw2d.geometry.Point getAccessibleLocation() {
            return null;
        }
    };
}
项目:gef-gwt    文件:GwtRulerComposite.java   
/**
 * @see org.eclipse.gef.GraphicalViewer#findHandleAt(org.eclipse.draw2d.geometry.Point)
 */
public Handle findHandleAt(org.eclipse.draw2d.geometry.Point p) {
    final GraphicalEditPart gep = (GraphicalEditPart) findObjectAtExcluding(
            p, new ArrayList());
    if (gep == null || !(gep instanceof GuideEditPart))
        return null;
    return new Handle() {
        public DragTracker getDragTracker() {
            return ((GuideEditPart) gep).getDragTracker(null);
        }

        public org.eclipse.draw2d.geometry.Point getAccessibleLocation() {
            return null;
        }
    };
}
项目:gef-gwt    文件:SelectionTool.java   
/**
 * Sets the drag tracker for this SelectionTool. If the current drag tracker
 * is not <code>null</code>, this method deactivates it. If the new drag
 * tracker is not <code>null</code>, this method will activate it and set
 * the {@link EditDomain} and {@link EditPartViewer}.
 * 
 * @param newDragTracker
 *            the new drag tracker
 */
public void setDragTracker(DragTracker newDragTracker) {
    if (newDragTracker == dragTracker)
        return;
    if (dragTracker != null)
        dragTracker.deactivate();
    dragTracker = newDragTracker;

    // if (!getCurrentInput().isMouseButtonDown(3))
    // setMouseCapture(dragTracker != null);
    if (newDragTracker != null) {
        newDragTracker.setEditDomain(getDomain());
        newDragTracker.activate();
        newDragTracker.setViewer(getCurrentViewer());
    }

    refreshCursor();
}
项目:birt    文件:ReportNonResizableHandleKit.java   
/**
 * Fills the given List with handles at each corner of a figure.
 * 
 * @param part
 *            the handles' GraphicalEditPart
 * @param handles
 *            the List to add the four corner handles to
 * @param tracker
 *            the handles' DragTracker
 * @param cursor
 *            the handles' Cursor
 */
public static void addCornerHandles( GraphicalEditPart part, List handles,
        DragTracker tracker, Cursor cursor )
{
    handles.add( createHandle( part,
            PositionConstants.SOUTH_EAST,
            tracker,
            cursor ) );
    handles.add( createHandle( part,
            PositionConstants.SOUTH_WEST,
            tracker,
            cursor ) );
    handles.add( createHandle( part,
            PositionConstants.NORTH_WEST,
            tracker,
            cursor ) );
    handles.add( createHandle( part,
            PositionConstants.NORTH_EAST,
            tracker,
            cursor ) );
}
项目:bdf2    文件:TransitionLabelEditPart.java   
@Override
public DragTracker getDragTracker(Request request) {
    return new DragEditPartsTracker(this) {
        protected EditPart getTargetEditPart() {
            return getParent();
        }
    };
}
项目:NEXCORE-UML-Modeler    文件:DelegatingDragEditPartsTracker.java   
/**
 * @see org.eclipse.gef.tools.AbstractTool#handleDragStarted()
 */
protected boolean handleDragStarted() {
    DragTracker tracker = delegateEditPart.getDragTracker(getTargetRequest());
    if (tracker != null) {
        setDragTracker(tracker);
        lockTargetEditPart(delegateEditPart);
        tracker.mouseDown(initialME, getCurrentViewer());
    }
    return super.handleDragStarted();
}
项目:NEXCORE-UML-Modeler    文件:SequenceDelegatingDragEditPartsTracker.java   
/**
 * @see org.eclipse.gef.tools.AbstractTool#handleDragStarted()
 */
protected boolean handleDragStarted() {
    DragTracker tracker = delegateEditPart.getDragTracker(getTargetRequest());
    if (tracker != null) {
        setDragTracker(tracker);
        lockTargetEditPart(delegateEditPart);
        tracker.mouseDown(initialME, getCurrentViewer());
    }
    return super.handleDragStarted();
}
项目:NEXCORE-UML-Modeler    文件:LifeLineBehaviorEditPart.java   
/**
 * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getDragTracker(org.eclipse.gef.Request)
 */
@Override
public DragTracker getDragTracker(Request request) {
    if (request instanceof SelectionRequest && ((SelectionRequest) request).getLastButtonPressed() == 3)
        return null;
    return new SequenceDelegatingDragEditPartsTracker(this, getParent());
}
项目:NEXCORE-UML-Modeler    文件:LineEditPart.java   
/**
 * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getDragTracker(org.eclipse.gef.Request)
 */
@Override
public DragTracker getDragTracker(Request request) {
    if (request instanceof SelectionRequest && ((SelectionRequest) request).getLastButtonPressed() == 3)
        return null;
    return new SequenceDelegatingDragEditPartsTracker(this, getParent());
}
项目:NEXCORE-UML-Modeler    文件:LifeLineNameEditPart.java   
/**
 * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getDragTracker(org.eclipse.gef.Request)
 */
@Override
public DragTracker getDragTracker(Request request) {
    if (request instanceof SelectionRequest && ((SelectionRequest) request).getLastButtonPressed() == 3)
        return null;
    return new SequenceDelegatingDragEditPartsTracker(this, getParent());
}
项目:NEXCORE-UML-Modeler    文件:SequenceBendpointCreationHandle.java   
/**
 * Creates and returns a new {@link ConnectionBendpointTracker}.
 * @return the new ConnectionBendpointTracker
 */
protected DragTracker createDragTracker() {
    ConnectionBendpointTracker tracker;
    tracker = new ConnectionBendpointTracker(
        (ConnectionEditPart)getOwner(),
        getIndex());
    tracker.setType(RequestConstants.REQ_CREATE_BENDPOINT);
    tracker.setDefaultCursor(getCursor());
    //DisabledCursor를 설정해준다.
    tracker.setDisabledCursor(SharedCursors.NO);
    return tracker;
}
项目:statecharts    文件:ExternalXtextLabelEditPart.java   
/**
 * Performs direct edit on double click
 */
@Override
public DragTracker getDragTracker(final Request request) {
    return new DragEditPartsTrackerEx(this) {
        protected boolean isMove() {
            return true;
        }

        protected boolean handleDoubleClick(int button) {
            performDirectEditRequest(request);
            return super.handleDoubleClick(button);
        }
    };
}
项目:statecharts    文件:XtextLabelEditPart.java   
/**
 * Performs direct edit on double click
 */
@Override
public DragTracker getDragTracker(final Request request) {
    if (request instanceof SelectionRequest && ((SelectionRequest) request).getLastButtonPressed() == 3)
        return null;
    IDoubleClickCallback callback = new IDoubleClickCallback() {

        @Override
        public void handleDoubleClick(int btn) {
            performDirectEditRequest(request);
        }
    };
    return new DoubleClickDirectEditDragTracker(this, getTopGraphicEditPart(), callback);
}
项目:statecharts    文件:StatechartDescriptionCompartmentEditPart.java   
@Override
public DragTracker getDragTracker(final Request request) {
    if (request instanceof SelectionRequest && ((SelectionRequest) request).getLastButtonPressed() == 3)
        return null;
    IDoubleClickCallback callback = new IDoubleClickCallback() {
        public void handleDoubleClick(int btn) {
            performDirectEditRequest(request);
        }
    };
    return new DoubleClickDirectEditDragTracker(this, getTopGraphicEditPart(), callback);
}
项目:PDFReporter-Studio    文件:CellResizeHandle.java   
protected DragTracker createDragTracker() {
    return new JSSCompoundResizeTracker(getOwner(), cursorDirection) {
        @SuppressWarnings({ "rawtypes", "unchecked" })
        @Override
        protected List createOperationSet() {
            ArrayList res = new ArrayList();
            res.add(getOwner());
            return res;
        }
    };
}
项目:PDFReporter-Studio    文件:BandResizeHandle.java   
/**
 * Create the tracker if there isn't one, the the tracker will
 * be returned
 */
protected DragTracker createDragTracker() {
    if (tracker == null)
    {
        tracker = new BandResizeTracker(getOwner());
    }
    return tracker;
}
项目:PDFReporter-Studio    文件:JDRulerComposite.java   
/**
 * @see org.eclipse.gef.GraphicalViewer#findHandleAt(org.eclipse.draw2d.geometry.Point)
 */
public Handle findHandleAt(org.eclipse.draw2d.geometry.Point p) {
    final GraphicalEditPart gep = (GraphicalEditPart) findObjectAtExcluding(p, new ArrayList<Object>());
    if (gep == null || !(gep instanceof GuideEditPart))
        return null;
    return new Handle() {
        public DragTracker getDragTracker() {
            return ((GuideEditPart) gep).getDragTracker(null);
        }

        public org.eclipse.draw2d.geometry.Point getAccessibleLocation() {
            return null;
        }
    };
}
项目:PDFReporter-Studio    文件:JDGuideEditPart.java   
public DragTracker getDragTracker(Request request) {
    return new DragEditPartsTracker(this) {
        protected Cursor calculateCursor() {
            if (isInState(STATE_INVALID))
                return Cursors.NO;
            return getCurrentCursor();
        }

        protected boolean isMove() {
            return true;
        }
    };
}
项目:gef-gwt    文件:FreeformGraphicalRootEditPart.java   
/**
 * Should not be called, but returns a MarqeeDragTracker for good measure.
 * 
 * @see org.eclipse.gef.EditPart#getDragTracker(org.eclipse.gef.Request)
 */
public DragTracker getDragTracker(Request req) {
    /*
     * The root will only be asked for a drag tracker if for some reason the
     * contents editpart says it is neither selector nor opaque.
     */
    return new MarqueeDragTracker();
}
项目:gef-gwt    文件:ScalableRootEditPart.java   
/**
 * Should not be called, but returns a MarqeeDragTracker for good measure.
 * 
 * @see org.eclipse.gef.EditPart#getDragTracker(org.eclipse.gef.Request)
 */
public DragTracker getDragTracker(Request req) {
    /*
     * The root will only be asked for a drag tracker if for some reason the
     * contents EditPart is not selectable or has a non-opaque figure.
     */
    return new MarqueeDragTracker();
}
项目:gef-gwt    文件:NonResizableHandleKit.java   
static Handle createHandle(GraphicalEditPart owner, int direction,
        DragTracker tracker, Cursor cursor) {
    ResizeHandle handle = new ResizeHandle(owner, direction);
    handle.setCursor(cursor);
    handle.setDragTracker(tracker);
    return handle;
}
项目:gef-gwt    文件:ConnectionEndpointHandle.java   
/**
 * Creates and returns a new {@link ConnectionEndpointTracker}.
 * 
 * @return the new ConnectionEndpointTracker
 */
protected DragTracker createDragTracker() {
    if (isFixed())
        return null;
    ConnectionEndpointTracker tracker;
    tracker = new ConnectionEndpointTracker((ConnectionEditPart) getOwner());
    if (endPoint == ConnectionLocator.SOURCE) {
        tracker.setCommandName(RequestConstants.REQ_RECONNECT_SOURCE);
    } else {
        tracker.setCommandName(RequestConstants.REQ_RECONNECT_TARGET);
    }
    tracker.setDefaultCursor(getCursor());
    return tracker;
}
项目:gef-gwt    文件:BendpointMoveHandle.java   
/**
 * Creates and returns a new {@link ConnectionBendpointTracker}.
 * 
 * @return the new ConnectionBendpointTracker
 */
protected DragTracker createDragTracker() {
    ConnectionBendpointTracker tracker;
    tracker = new ConnectionBendpointTracker(
            (ConnectionEditPart) getOwner(), getIndex());
    tracker.setType(RequestConstants.REQ_MOVE_BENDPOINT);
    tracker.setDefaultCursor(getCursor());
    return tracker;
}
项目:gef-gwt    文件:BendpointCreationHandle.java   
/**
 * Creates and returns a new {@link ConnectionBendpointTracker}.
 * 
 * @return the new ConnectionBendpointTracker
 */
protected DragTracker createDragTracker() {
    ConnectionBendpointTracker tracker;
    tracker = new ConnectionBendpointTracker(
            (ConnectionEditPart) getOwner(), getIndex());
    tracker.setType(RequestConstants.REQ_CREATE_BENDPOINT);
    tracker.setDefaultCursor(getCursor());
    return tracker;
}
项目:gef-gwt    文件:ResizableHandleKit.java   
static Handle createHandle(GraphicalEditPart owner, int direction,
        DragTracker tracker, Cursor cursor) {
    ResizeHandle handle = new ResizeHandle(owner, direction);
    handle.setDragTracker(tracker);
    handle.setCursor(cursor);
    return handle;
}
项目:gef-gwt    文件:NonResizableEditPolicy.java   
/**
 * Shows a focus rectangle around the host's figure. The focus rectangle is
 * expanded by 5 pixels from the figure's bounds.
 * 
 * @see org.eclipse.gef.editpolicies.SelectionEditPolicy#showFocus()
 */
protected void showFocus() {
    focusRect = new AbstractHandle((GraphicalEditPart) getHost(),
            new Locator() {
                public void relocate(IFigure target) {
                    IFigure figure = getHostFigure();
                    Rectangle r;
                    if (figure instanceof HandleBounds)
                        r = ((HandleBounds) figure).getHandleBounds()
                                .getCopy();
                    else
                        r = getHostFigure().getBounds().getResized(-1, -1);
                    getHostFigure().translateToAbsolute(r);
                    target.translateToRelative(r);
                    target.setBounds(r.expand(5, 5).resize(1, 1));
                }
            }) {
        {
            setBorder(new FocusBorder());
        }

        protected DragTracker createDragTracker() {
            return null;
        }
    };
    addFeedback(focusRect);
}
项目:gef-gwt    文件:TemplateEditPart.java   
/**
 * @see org.eclipse.gef.ui.palette.editparts.PaletteEditPart#getDragTracker(Request)
 */
public DragTracker getDragTracker(Request request) {
    return new SingleSelectionTracker() {
        protected boolean handleButtonDown(int button) {
            getFigure().requestFocus();
            return super.handleButtonDown(button);
        }
    };
}
项目:gef-gwt    文件:ToolEntryEditPart.java   
/**
 * @see PaletteEditPart#getDragTracker(Request)
 */
public DragTracker getDragTracker(Request request) {
    if (SWT.getPlatform().equals("gtk")) //$NON-NLS-1$
        return new GTKToggleButtonTracker();
    else
        return new OtherToggleButtonTracker();
}
项目:gef-gwt    文件:GuideEditPart.java   
public DragTracker getDragTracker(Request request) {
    return new DragEditPartsTracker(this) {
        protected Cursor calculateCursor() {
            if (isInState(STATE_INVALID))
                return Cursors.NO;
            return getCurrentCursor();
        }

        protected boolean isMove() {
            return true;
        }
    };
}
项目:gef-gwt    文件:RulerEditPart.java   
public DragTracker getDragTracker(Request request) {
    if (request.getType().equals(REQ_SELECTION)
            && ((SelectionRequest) request).getLastButtonPressed() != 1) {
        return null;
    }
    return new RulerDragTracker(this);
}
项目:birt    文件:FirstLevelHandleDataItemEditPart.java   
public DragTracker getDragTracker( Request req )
{
    DragEditPartsTracker track = new ReportElementDragTracker( this ) {

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.gef.tools.SelectEditPartTracker#handleButtonDown(int)
         */
        protected boolean handleButtonDown( int button )
        {
            if ( getCurrentViewer( ) instanceof DeferredGraphicalViewer )
            {
                ( (DeferredGraphicalViewer) getCurrentViewer( ) ).initStepDat( );
            }
            boolean bool = super.handleButtonDown( button );

            if ( ( button == 3 || button == 1 ) )
            // && isInState(STATE_INITIAL))
            {
                if ( getSourceEditPart( ) instanceof FirstLevelHandleDataItemEditPart )
                {
                    FirstLevelHandleDataItemEditPart first = (FirstLevelHandleDataItemEditPart) getSourceEditPart( );
                    if ( first.contains( getLocation( ) ) )
                    {
                        //MenuManager manager = new LevelCrosstabPopMenuProvider( getViewer( ) );
                        manager.createContextMenu( getViewer( ).getControl( ) );
                        Menu menu = manager.getMenu( );

                        menu.setVisible( true );
                        return true;
                    }
                }
            }
            return bool;
        }
    };
    return track;
}
项目:birt    文件:CrosstavCellDragHandle.java   
protected DragTracker createDragTracker( )
{
    CrosstabHandleAdapter adapter = ((CrosstabTableEditPart)getOwner( ).getParent( )).getCrosstabHandleAdapter( );
    if (cursorDirection == PositionConstants.EAST && 
            (adapter.getColumnOprationCell( start )!=null||adapter.getColumnOprationCell( end )!=null))
    {
        return new CrosstabColumnDragTracker(getOwner( ), start, end);
    }
    if (cursorDirection == PositionConstants.SOUTH && adapter.getRowOprationCell( start ) != null)
    {
        return new CrosstabRowDragTracker(getOwner( ), start, end);
    }
    //return null;
    return new ResizeTracker( getOwner( ), cursorDirection )
    {
        protected void showTargetFeedback() 
        {

        }
        protected void eraseTargetFeedback() 
        {

        }

        protected void showSourceFeedback( )
        {
        }

        protected void eraseSourceFeedback( )
        {
        }

        protected Command getCommand( )
        {
            return UnexecutableCommand.INSTANCE;
        }
    };
}
项目:birt    文件:AttributeEditPart.java   
public DragTracker getDragTracker( Request request )
{

    List connectionList = getModelSourceConnections( );
    for ( int i = 0; i < connectionList.size( ); i++ )
    {
        DimensionJoinConditionHandle joinCondition = (DimensionJoinConditionHandle) connectionList.get( i );
        if ( joinCondition.getHierarchyKey( ).equals( getColumnName( ) ) )
            return super.getDragTracker( request );
    }

    ConnectionCreation connection = new ConnectionCreation( this );
    return connection;

}
项目:birt    文件:HierarchyColumnEditPart.java   
public DragTracker getDragTracker( Request request )
{
    List connectionList = getModelSourceConnections( );
    for ( int i = 0; i < connectionList.size( ); i++ )
    {
        DimensionJoinConditionHandle joinCondition = (DimensionJoinConditionHandle) connectionList.get( i );
        if ( joinCondition.getHierarchyKey( )
                .equals( getColumn( ).getColumnName( ) ) )
            return super.getDragTracker( request );
    }
    ConnectionCreation connection = new ConnectionCreation( this );
    return connection;
}
项目:birt    文件:ReportDesignEditPart.java   
public DragTracker getDragTracker( Request req )
{
    if ( req instanceof SelectionRequest
            && ( (SelectionRequest) req ).getLastButtonPressed( ) == 3 )
        return new DeselectAllTracker( this );
    return new RootDragTracker( );
}
项目:birt    文件:ListBandEditPart.java   
public DragTracker getDragTracker( Request req )
{

    return new DragEditPartsTracker( this ) {

        protected boolean handleDragInProgress( )
        {
            return true;
        }
    };
}
项目:birt    文件:TableCellDragHandle.java   
protected DragTracker createDragTracker( )
{

    if (cursorDirection == PositionConstants.EAST )
    {
        return new ColumnDragTracker(getOwner( ).getParent( ), start, end);
    }
    if (cursorDirection == PositionConstants.SOUTH)
    {
        return new RowDragTracker(getOwner( ).getParent( ), start, end);
    }
    //return null;
    return new ResizeTracker( getOwner( ), cursorDirection )
    {
        protected void showTargetFeedback() 
        {

        }
        protected void eraseTargetFeedback() 
        {

        }

        protected void showSourceFeedback( )
        {
        }

        protected void eraseSourceFeedback( )
        {
        }

        protected Command getCommand( )
        {
            return UnexecutableCommand.INSTANCE;
        }
    };
}