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

项目:DarwinSPL    文件:DwFeatureEditorEditPart.java   
/**
 * This method is used to enable direct name editing in the feature
 */
@Override public void performRequest(Request req) {
    if(!editor.isLastDateSelected())
        return;

    if(req.getType() == RequestConstants.REQ_DIRECT_EDIT) {

    }
    if(req.getType() == RequestConstants.REQ_OPEN){
        DwFeatureWrapped feature = (DwFeatureWrapped)getModel();
        Date date = editor.getCurrentSelectedDate();

        if(feature.calculateVariationTypeCircleBounds(date).contains(((SelectionRequest)req).getLocation())){

            HyFeatureType type = HyEvolutionUtil.getValidTemporalElement(feature.getWrappedModelElement().getTypes(), date);

            HyFeatureTypeEnum newType = type.getType() == HyFeatureTypeEnum.MANDATORY ? HyFeatureTypeEnum.OPTIONAL : HyFeatureTypeEnum.MANDATORY;

            DwFeatureChangeTypeCommand command = new DwFeatureChangeTypeCommand(feature.getWrappedModelElement(), newType, editor);
            editor.executeCommand(command);
            this.refreshVisuals();
        }else{
            performDirectEditing();
        }
    }
}
项目: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);
}
项目:OpenSPIFe    文件:TemporalNodeToolTipPolicy.java   
@Override
public void showTargetFeedback(Request request) {
    if (request instanceof SelectionRequest) {
        Control parent = getViewer().getControl();
        org.eclipse.swt.graphics.Point location = new org.eclipse.swt.graphics.Point(parent.getLocation().x, parent.getLocation().y);
        Display display = WidgetUtils.getDisplay();
        location = display.map(parent, null, location);

        Point pt = ((SelectionRequest)request).getLocation().getCopy();
        getHostFigure().translateToParent(pt);
        pt.x += location.x;
        pt.y += location.y;

        updateBrowserText();

        tip.setBounds (pt.x, pt.y, 400, 120);
        tip.setVisible (true);
    }
    super.showTargetFeedback(request);
}
项目:DarwinSPL    文件:DwRootFeatureEditorEditPart.java   
/**
 * This method is used to enable direct name editing in the feature
 */
@Override public void performRequest(Request req) {
    if(!editor.isLastDateSelected())
        return;


    if(req.getType() == RequestConstants.REQ_DIRECT_EDIT) {

    }
    if(req.getType() == RequestConstants.REQ_OPEN){
        DwFeatureWrapped feature = (DwFeatureWrapped)getModel();
        Date date = editor.getCurrentSelectedDate();

        if(feature.calculateVariationTypeCircleBounds(date).contains(((SelectionRequest)req).getLocation())){

            HyFeatureType type = HyEvolutionUtil.getValidTemporalElement(feature.getWrappedModelElement().getTypes(), date);
            type.setValidUntil(date);

            HyFeatureType newType = HyFeatureFactory.eINSTANCE.createHyFeatureType();
            newType.setValidSince(date);


            if(type.getType() == HyFeatureTypeEnum.MANDATORY){
                newType.setType(HyFeatureTypeEnum.OPTIONAL);
            }else{
                newType.setType(HyFeatureTypeEnum.MANDATORY);
            }

            feature.getWrappedModelElement().getTypes().add(newType);

            this.refreshVisuals();
        }else{
            performDirectEditing();
        }
    }
}
项目:NEXCORE-UML-Modeler    文件:DiagramComponentEditPolicy.java   
/**
 * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getTargetEditPart(org.eclipse.gef.Request)
 */
@Override
public EditPart getTargetEditPart(Request request) {
    // TODO Auto-generated method stub
   if (super.getTargetEditPart(request) != null)
        this.targetEditPart = super.getTargetEditPart(request);
    if (request instanceof SelectionRequest)
        this.request = (SelectionRequest) request;
    return super.getTargetEditPart(request);
}
项目: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());
}
项目: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    文件:BandResizeTracker.java   
/**
 * Handle the doubleclick on the resize bar, in this way is possible to resize the band to the minimum size to contains all 
 * the element
 */
protected boolean handleDoubleClick(int button) {
    if (getSourceEditPart() != null) {
        if (button == 1) {
            SelectionRequest request = new SelectionRequest();
            request.setLocation(getLocation());
            request.setType(RequestConstants.REQ_OPEN);
            getSourceEditPart().performRequest(request);
        }
    }
    return true;
}
项目:OpenSPIFe    文件:TemporalNodeToolTipPolicy.java   
@Override
public void eraseTargetFeedback(Request request) {
    super.eraseTargetFeedback(request);

    if (request instanceof SelectionRequest) {
        tip.setVisible (false);
    }
}
项目: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);
}
项目:gef-gwt    文件:SelectionTool.java   
/**
 * If there is a {@link Handle} under the mouse, this method sets the drag
 * tracker returned from the handle. If there's an {@link EditPart} under
 * the mouse, this method sets the drag tracker returned from the edit part.
 * 
 * @see AbstractTool#handleButtonDown(int)
 */
protected boolean handleButtonDown(int button) {
    if (!stateTransition(STATE_INITIAL, STATE_DRAG)) {
        resetHover();
        return true;
    }
    resetHover();
    EditPartViewer viewer = getCurrentViewer();
    Point p = getLocation();

    if (getDragTracker() != null)
        getDragTracker().deactivate();

    if (viewer instanceof GraphicalViewer) {
        Handle handle = ((GraphicalViewer) viewer).findHandleAt(p);
        if (handle != null) {
            setDragTracker(handle.getDragTracker());
            return true;
        }
    }
    updateTargetRequest();
    ((SelectionRequest) getTargetRequest()).setLastButtonPressed(button);
    updateTargetUnderMouse();
    EditPart editpart = getTargetEditPart();
    if (editpart != null) {
        setDragTracker(editpart.getDragTracker(getTargetRequest()));
        lockTargetEditPart(editpart);
        return true;
    }
    return false;
}
项目:gef-gwt    文件:SelectionTool.java   
/**
 * Resets this tool when the last button is released.
 * 
 * @see AbstractTool#handleButtonUp(int)
 */
protected boolean handleButtonUp(int button) {
    if (getCurrentInput().isAnyButtonDown())
        return false;
    ((SelectionRequest) getTargetRequest()).setLastButtonPressed(0);
    setDragTracker(null);
    setState(STATE_INITIAL);
    unlockTargetEditPart();
    return true;
}
项目:gef-gwt    文件:SelectionTool.java   
/**
 * Sets the modifiers , type and location of the target request (which is a
 * {@link SelectionRequest}) and then calls {@link #updateHoverRequest()}.
 * 
 * @see TargetingTool#updateTargetRequest()
 */
protected void updateTargetRequest() {
    SelectionRequest request = (SelectionRequest) getTargetRequest();
    request.setModifiers(getCurrentInput().getModifiers());
    request.setType(getCommandName());
    request.setLocation(getLocation());
    updateHoverRequest();
}
项目:gef-gwt    文件:SelectEditPartTracker.java   
/**
 * Creates a {@link SelectionRequest} and sends it to the source edit part
 * via {@link EditPart#performRequest(Request)}. Possible uses are to open
 * the selected item in another editor or replace the current editor's
 * contents based on the selected item.
 */
protected void performOpen() {
    SelectionRequest request = new SelectionRequest();
    request.setLocation(getLocation());
    request.setModifiers(getCurrentInput().getModifiers());
    request.setType(RequestConstants.REQ_OPEN);
    getSourceEditPart().performRequest(request);
}
项目:eclipsensis    文件:InstallOptionsDialogEditPart.java   
@Override
public DragTracker getDragTracker(Request req)
{
    if (req instanceof SelectionRequest
                    && ((SelectionRequest)req).getLastButtonPressed() == 3) {
        return new DeselectAllTracker(this);
    }
    return new MarqueeDragTracker();
}
项目:eclipsensis    文件:InstallOptionsRulerEditPart.java   
@Override
public DragTracker getDragTracker(Request request) {
    if (request.getType().equals(REQ_SELECTION) && ((SelectionRequest)request).getLastButtonPressed() != 1) {
        return null;
    }
    return new InstallOptionsRulerDragTracker(this);
}
项目:birt    文件:ReportElementEditPart.java   
protected boolean isFigureLeft( Request request )
{
    if ( !( request instanceof SelectionRequest ) )
    {
        return true;
    }
    SelectionRequest selctionRequest = (SelectionRequest) request;
    Point p = selctionRequest.getLocation( );
    // getFigure().translateToAbsolute(p);
    getFigure( ).translateToRelative( p );
    Point center = getFigure( ).getBounds( ).getCenter( );
    return center.x >= p.x;
}
项目:birt    文件:ReportDesignEditPart.java   
public DragTracker getDragTracker( Request req )
{
    if ( req instanceof SelectionRequest
            && ( (SelectionRequest) req ).getLastButtonPressed( ) == 3 )
        return new DeselectAllTracker( this );
    return new RootDragTracker( );
}
项目:birt    文件:RowTracker.java   
protected void performOpen( )
{
    SelectionRequest request = new SelectionRequest( );
    request.setLocation( getLocation( ) );
    request.setType( RequestConstants.REQ_OPEN );
    request.getExtendedData( ).put( DesignerConstants.TABLE_ROW_NUMBER,
            Integer.valueOf( getNumber( ) ) );
    if ( getSourceEditPart( ).understandsRequest( request ) )
    {
        getSourceEditPart( ).performRequest( request );
    }
}
项目:seg.jUCMNav    文件:LabelEditPart.java   
/**
 * When the label's model element definition changes, we must change our references.
 * 
 */
public void notifyChanged(Notification notification) {
    int type = notification.getEventType();
    int featureIdUrn = notification.getFeatureID(UrncorePackage.class);
    int featureIdUcm = notification.getFeatureID(MapPackage.class);
    int featureIdGrl = notification.getFeatureID(GrlPackage.class);

    // bug 523: feedback remains even when element is deleted.
    eraseTargetFeedback(new SelectionRequest());

    if (type == Notification.SET) {
        // if changing component definitions
        if (featureIdUrn == UrncorePackage.IURN_CONTAINER_REF__CONT_DEF) {
            if (modelElement instanceof IURNContainerRef) {
                if (comp != null)
                    comp.eAdapters().remove(this);
                comp = ((IURNContainerRef) modelElement).getContDef();
                if (comp != null)
                    comp.eAdapters().add(this);
            }
        } else if (featureIdUcm == MapPackage.RESP_REF__RESP_DEF) { // if changing responsibility definitions
            if (modelElement instanceof RespRef) {
                if (resp != null)
                    resp.eAdapters().remove(this);
                resp = ((RespRef) modelElement).getRespDef();
                if (resp != null)
                    resp.eAdapters().add(this);
            }
        }

        // something changed; inform parent. not sure how useful this is anymore
        if (getParent() != null) {
            ((URNDiagramEditPart) getParent()).notifyChanged(notification);
            refreshVisuals();
        }
    } else if (type == Notification.ADD || type == Notification.ADD_MANY || type == Notification.REMOVE || type == Notification.REMOVE_MANY) {
        refreshVisuals();
    }

}
项目:PDFReporter-Studio    文件:JDRulerEditPart.java   
public DragTracker getDragTracker(Request request) {
    if (request.getType().equals(REQ_SELECTION) && ((SelectionRequest) request).getLastButtonPressed() != 1) {
        return null;
    }
    return new JDRulerDragTracker(this);
}
项目:gef-gwt    文件:SelectionTool.java   
/**
 * Creates a {@link SelectionRequest} for the target request.
 * 
 * @see TargetingTool#createTargetRequest()
 */
protected Request createTargetRequest() {
    SelectionRequest request = new SelectionRequest();
    request.setType(getCommandName());
    return request;
}
项目:NIEM-Modeling-Tool    文件:PapyrusUtils.java   
public static void doubleClick(final EditPart theEditPart) {
    final SelectionRequest request = new SelectionRequest();
    request.setType(RequestConstants.REQ_OPEN);
    theEditPart.performRequest(request);
}