Java 类org.eclipse.gef.EditPartViewer.Conditional 实例源码

项目:NEXCORE-UML-Modeler    文件:SequenceSelectionTool.java   
/**
 * @see org.eclipse.gef.tools.SelectionTool#getTargetingConditional()
 */
@Override
protected Conditional getTargetingConditional() {
    return new EditPartViewer.Conditional() {
        public boolean evaluate(EditPart editpart) {
            if(editpart instanceof LifeLineEditPart) {
                if(getLocation().y >= FigureConstant.FIGURE_LIFELINE_TOP_MARGIN + FigureConstant.FIGURE_LIFELINE_HEAD_HEIGHT) {
                    Rectangle bounds = ((LifeLineEditPart) editpart).getFigure().getBounds();
                    if(bounds.x + bounds.width/2 - LineEditPart.LINE_SELECTABLE_WIDTH/2 <= getLocation().x
                        && bounds.x + bounds.width/2 + LineEditPart.LINE_SELECTABLE_WIDTH/2 >= getLocation().x) {
                        return editpart.isSelectable();  
                    } else {
                        return false;                            
                    }
                } else {
                    return editpart.isSelectable();                                   
                }         
            } else {
                return editpart.isSelectable();
            }
        }
    };
}
项目:OpenSPIFe    文件:DebuggingTimelineTool.java   
@Override
protected Conditional getTargetingConditional() {
    System.out.println("getTargetingConditional()");
    return super.getTargetingConditional();
}