Java 类org.eclipse.gef.requests.DropRequest 实例源码

项目:ForgedUI-Eclipse    文件:AddStackElementEditPolicy.java   
@SuppressWarnings("unchecked")
@Override
protected Command getAddCommand(Request generic) {
    ChangeBoundsRequest request = (ChangeBoundsRequest) generic;
    if (acceptReorder(request)){
        List<EditPart> editParts = request.getEditParts();
        ElementEditPart movedElement = (ElementEditPart)editParts.get(0);
        Container parent = (Container) getHost().getParent().getModel();
        int siblingIndex = parent.getChildren().indexOf(getHost().getModel());
        int currentIndex = parent.getChildren().indexOf(movedElement.getModel());
        if (siblingIndex >= 0){
            if (isInsertAfter((DropRequest) request)) siblingIndex++;
            if (currentIndex <= siblingIndex) siblingIndex--;
            /*MoveChildCommand command = new MoveChildCommand(
                    movedElement.getModel(), siblingIndex);*/
            AddCommand command = new AddCommand();
            command.setParent(parent);
            command.setChild(movedElement.getModel());
            command.setIndex(siblingIndex);
            return command;
        }
    }
    return super.getAddCommand(generic);
}
项目:ForgedUI-Eclipse    文件:AddStackElementEditPolicy.java   
@Override
protected void showLayoutTargetFeedback(Request request) {
    eraseLayoutTargetFeedback(request);
    if (request instanceof ChangeBoundsRequest || (request instanceof CreateRequest
            && acceptCreate((CreateRequest) request))){
        targetFeedback = new RectangleFigure();
        Rectangle parentBounds = ((ElementEditPart)getHost()).getBounds();
        translateToAbsolute(getContainerFigure(), parentBounds);
        Rectangle lineBounds = parentBounds.getCopy();
        lineBounds.height = 4;
        lineBounds.y--;
        targetFeedback.setForegroundColor(ColorConstants.green);
        targetFeedback.setBackgroundColor(ColorConstants.green);
        if (isInsertAfter((DropRequest) request)){
            lineBounds.y += parentBounds.height;
        }
        targetFeedback.setBounds(lineBounds);
        addFeedback(targetFeedback);
    } else if (request instanceof ChangeBoundsRequest){

    }

}
项目:gef-gwt    文件:TreeContainerEditPolicy.java   
/**
 * Returns the host EditPart when appropriate. Targeting is done by checking
 * if the mouse is clearly over the host's TreeItem.
 * 
 * @see org.eclipse.gef.EditPolicy#getTargetEditPart(Request)
 */
public EditPart getTargetEditPart(Request req) {
    if (req.getType().equals(REQ_ADD) || req.getType().equals(REQ_MOVE)
            || req.getType().equals(REQ_CREATE)) {
        DropRequest drop = (DropRequest) req;
        Point where = new Point(drop.getLocation().x, drop.getLocation().y);
        Widget widget = ((TreeEditPart) getHost()).getWidget();
        if (widget instanceof Tree)
            return getHost();
        TreeItem treeitem = (TreeItem) widget;
        Rectangle bounds = treeitem.getBounds();
        int fudge = bounds.height / 5;
        Rectangle inner = new Rectangle(bounds.x, bounds.y + fudge,
                bounds.width, bounds.height
                        - (treeitem.getExpanded() ? 0 : fudge * 2));
        // Point is either outside the Treeitem, or inside the inner Rect.
        if (!bounds.contains(where) || inner.contains(where))
            return getHost();
    }
    return null;
}
项目:gef-gwt    文件:TreeContainerEditPolicy.java   
private void showDropFeedback(DropRequest request) {
    Widget hostWidget = ((TreeEditPart) getHost()).getWidget();
    Tree tree = getTree();

    org.eclipse.draw2d.geometry.Point pt = request.getLocation();
    TreeItem item = findTreeItemAt(pt);
    if (item == null) {
        if (hostWidget == tree) {
            insertMarkAfterLastChild(tree.getItems());
        }
    } else if (item == hostWidget) {
        tree.setInsertMark(null, true);
    } else {
        boolean before = isInUpperHalf(item.getBounds(), pt);
        tree.setInsertMark(item, before);
    }
}
项目:DarwinSPL    文件:DwFeatureGraphicalNodeEditPolicy.java   
@Override
protected void eraseTargetConnectionFeedback(DropRequest request) {
    EditPart part = (EditPart)getHost();

    if(part instanceof DwParentChildConnectionEditPart){
    }
}
项目:ForgedUI-Eclipse    文件:AddStackElementEditPolicy.java   
private Point getDropLocation(DropRequest request){
    Point where = request.getLocation().getCopy();
    IFigure figure = getLayoutContainer();
    figure.translateToRelative(where);
    figure.translateFromParent(where);
    where.translate(getLayoutOrigin().getNegated());
    return where;
}
项目:gef-gwt    文件:GraphicalNodeEditPolicy.java   
/**
 * Calls {@link #eraseTargetConnectionFeedback(DropRequest)} when
 * appropriate.
 * 
 * @see org.eclipse.gef.EditPolicy#eraseTargetFeedback(Request)
 */
public void eraseTargetFeedback(Request request) {
    if (REQ_CONNECTION_START.equals(request.getType())
            || REQ_CONNECTION_END.equals(request.getType())
            || REQ_RECONNECT_SOURCE.equals(request.getType())
            || REQ_RECONNECT_TARGET.equals(request.getType()))
        eraseTargetConnectionFeedback((DropRequest) request);
}
项目:gef-gwt    文件:GraphicalNodeEditPolicy.java   
/**
 * Calls {@link #showTargetConnectionFeedback(DropRequest)} when
 * appropriate.
 * 
 * @see org.eclipse.gef.EditPolicy#showTargetFeedback(Request)
 */
public void showTargetFeedback(Request request) {
    if (REQ_CONNECTION_START.equals(request.getType())
            || REQ_CONNECTION_END.equals(request.getType())
            || REQ_RECONNECT_SOURCE.equals(request.getType())
            || REQ_RECONNECT_TARGET.equals(request.getType()))
        showTargetConnectionFeedback((DropRequest) request);
}
项目:Hydrograph    文件:ComponentEditPart.java   
@Override
public ConnectionAnchor getSourceConnectionAnchor(Request request) {
    Point pt = new Point(((DropRequest) request).getLocation());
    return getComponentFigure().getSourceConnectionAnchorAt(pt);

}
项目:Hydrograph    文件:ComponentEditPart.java   
@Override
public ConnectionAnchor getTargetConnectionAnchor(Request request) {
    Point pt = new Point(((DropRequest) request).getLocation());
    return getComponentFigure().getTargetConnectionAnchorAt(pt);

}
项目:ForgedUI-Eclipse    文件:AddStackElementEditPolicy.java   
private boolean isInsertAfter(DropRequest request) {
    ElementEditPart ep = (ElementEditPart) getHost();
    Point where = getDropLocation(request);
    Rectangle parentBounds = ep.getBounds();
    return (parentBounds.height / 2) < where.y;
}
项目:gef-gwt    文件:FlowLayoutEditPolicy.java   
private Point getLocationFromRequest(Request request) {
    return ((DropRequest) request).getLocation();
}
项目:gef-gwt    文件:TreeContainerEditPolicy.java   
/**
 * @see org.eclipse.gef.EditPolicy#showTargetFeedback(Request)
 */
public void showTargetFeedback(Request req) {
    if (req.getType().equals(REQ_MOVE) || req.getType().equals(REQ_ADD)
            || req.getType().equals(REQ_CREATE))
        showDropFeedback((DropRequest) req);
}
项目:birt    文件:ConnectionCreationEditPolicy.java   
protected void eraseTargetConnectionFeedback( DropRequest request )
{
    // TODO Auto-generated method stub
    super.eraseTargetConnectionFeedback( request );
}
项目:birt    文件:ConnectionCreationEditPolicy.java   
protected void showTargetConnectionFeedback( DropRequest request )
{
    // TODO Auto-generated method stub
    super.showTargetConnectionFeedback( request );
}
项目:birt    文件:ReportFlowLayoutEditPolicy.java   
protected Point getLocationFromRequest( Request request )
{
    return ( (DropRequest) request ).getLocation( );
}
项目:wt-studio    文件:PageLayoutEditPolicy.java   
private Point getLocationFromRequest(Request request)
{
    return ((DropRequest) request).getLocation();
}
项目:DarwinSPL    文件:DwFeatureGraphicalNodeEditPolicy.java   
@Override
protected void showTargetConnectionFeedback(DropRequest request) {

}
项目:gef-gwt    文件:GraphicalNodeEditPolicy.java   
/**
 * Override to erase target feedback. Does nothing by default.
 * 
 * @param request
 *            the DropRequest
 */
protected void eraseTargetConnectionFeedback(DropRequest request) {
}
项目:gef-gwt    文件:GraphicalNodeEditPolicy.java   
/**
 * Override to show target connection feedback. Does nothing by default.
 * 
 * @param request
 *            the DropRequest
 */
protected void showTargetConnectionFeedback(DropRequest request) {
}