/** * @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(); } } }; }
@Override protected Conditional getTargetingConditional() { System.out.println("getTargetingConditional()"); return super.getTargetingConditional(); }